1、安裝 DatabaseLibrary 庫
DatabaseLibrary 下載地址:
https://pypi.python.org/pypi/robotframework-databaselibrary/0.6
在線文檔:
http://franz-see.github.io/Robotframework-Database-Library/
如果像安裝普通的 Python 程序,可以下載 tar.gz 文件,解壓並運行 setup.py 文件進行安裝。
因為在上一小節中我們已經安裝了 pip,所以通過 pip 命令安裝更為方便和快捷:
現在只安裝 DatabaseLibrary 庫,Python 操作不同的數據庫,還需要安裝相應的數據庫驅動。
Oracle 數據庫驅動:cx_Oracle
https://pypi.python.org/pypi/cx_Oracle
cx_Oracle 是一個用來連接並操作 Oracle 數據庫的 Python 擴展模塊, 支持包括 Oracle 9.2 10.2
以及 11.1 等版本。
MySQL 數據庫驅動:PyMySQL
https://pypi.python.org/pypi/PyMySQL/
這個包含一個純 python MySQL 客戶端庫。
2、操作 Oracle 數據庫
2.1鏈接數據庫
連接 Oracle 數據:
Connect To Database Using Custom Params :連接 Oracle 數據庫關鍵字。
cx_Oracle:連接 oracle 驅動。
'username','password','192.168.201.138:1521/ORCL' :
連接數據庫配置信息,用戶名,密碼,IP 地址,端口號,數據庫名。
2.2執行sql語句
執行 sql 語句:
Execute Sql String 關鍵字用於執行 sql 語句。注意 sql 語句結尾不要有分號“;”。
Disconnect From Database 關鍵字用於斷開與數據的連接。
sql 語句結果的輸出到測試報告:
2.3執行sql文件
執行sql文件:
Execute Sql Script 關鍵字用於執行 SQL 文件。
${CURDIR} 表示當前項目路徑。
2.4添加系統關鍵字
在 Database Library 庫中所提供的 Execute Sql Script 不支持 sql 腳本文件中包含 begin,end 函數,例如:
通過 Execute Sql Script 關鍵字執行腳本報錯:
那么就需要我們自己添加關鍵字了。
找到....\Python27\Lib\site-packages\DatabaseLibrary\ 目錄下的 query.py 文件。
創建 execute_sql_funcfile 函數(關鍵字):
def execute_sql_funcfile(self, sqlScriptFileName): """ 執行 sql 文件,sql 文件里面帶有 begin,end 的函數格式 """ sqlScriptFile = open(sqlScriptFileName) cur = None try: cur = self._dbconnection.cursor() sqlStatement = '' for line in sqlScriptFile: line = line.strip() if (line.startswith('/*')==1 and line.endswith('*/')==1): continue if line.startswith('#'): continue if line.startswith('--'): continue if (line.startswith('--')==0 and line.find('--')!=-1): line =line[:line.find('--')] if (line == ''): continue sqlStatement += line + ' ' sqlStatement = sqlStatement.replace('\n',' ') print sqlStatement if len(sqlStatement) != 0: self.__execute_sql(cur, sqlStatement) self._dbconnection.commit() finally: if cur : self._dbconnection.rollback()
然后,在 robot framework 中 F5 搜索 Execute Sql Funcfile 就可以找到我們自定義的關鍵字了。
執行 SQL 腳本如下: