Robot Framework(Databaselibrary庫操作)


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 腳本如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM