在自動化過程中,我們經常需要連接不同的數據庫,並且對數據庫進行很多不同的操作,RobotFramework中,提供了DatabaseLibrary這個庫來操作數據庫,我們可以按照官網中的說明來安裝DatabaseLibrary庫,在瀏覽器中訪問http://franz-see.github.io/Robotframework-Database-Library/ 頁面,即可以看到該庫的相關安裝說明和API介紹。
在使用DatabaseLibrary庫時,需要在測試套件中,預先導入該庫,才可以在用例中使用DatabaseLibrary庫中的關鍵字,這里以Mysql數據庫為例,講述Databaselibrary庫的使用
要鏈接到mysql,除了要導入DatabaseLibrary庫外,還需要安裝pure-Python MySQL client library,可以通過https://github.com/PyMySQL/PyMySQL 下載該庫,並且進行安裝,或者直接通過cmd命令行pip install PyMySQL來進行安裝

1.1.1 如何連接數據庫
1、可以通過DatabaseLibrary庫中的Connect To Database關鍵字來鏈接一個mysql數據庫,此處以鏈接本機mysql庫為例
數據庫用戶名:root
數據庫密碼:root
Mysql數據庫端口:3306
數據庫名:world
Connect To Database pymysql world root root localhost 3306
執行結果:
2、還可以通過Connect To Database Using Custom Params關鍵字來連接mysql數據庫
Connect To Database Using Custom Params pymysql database='world', user='root', password='root', host='localhost', port=3306
執行結果:
1.1.2 如何斷開數據庫
可以通過關鍵字Disconnect From Database斷開數據庫連接,我們在操作數據庫時,一定不要忘記在操作完成后,要斷開數據庫的連接
Connect To Database pymysql world root root localhost 3306
Disconnect From Database
執行結果:
2.1.3 如何對數據庫的表進行查詢
通過Query關鍵字可以對數據庫中的表進行查詢,此處以查詢mysql數據庫中某張表的數據為例,我們在world數據庫中執行SELECT * FROM city LIMIT 5; 這條sql.
我們先看下,我們在sql窗口中查詢出來的結果:
然后我們再使用Query關鍵字來進行查詢
Connect To Database Using Custom Params pymysql database='world', user='root', password='root', host='localhost', port=3306
@{result} Query SELECT * FROM city LIMIT 5;
Log Many @{result}
Disconnect From Database
執行結果:
2.1.4 如何插入和刪除數據
可以通過Execute Sql String關鍵字來執行數據庫的插入操作和刪除操作
1、首先我們來看下如何向數據庫中插入數據,此處以向表city中插入一條記錄為例,通過Execute Sql String關鍵字來執行INSERT INTO city(NAME,countrycode,district,population) VALUES('beijing' ,'ZH','China',217100)
Connect To Database Using Custom Params pymysql database='world', user='root', password='root', host='localhost', port=3306
Execute Sql String INSERT INTO city(NAME,countrycode,district,population) VALUES('beijing' ,'ZH','China',217100)
Disconnect From Database

執行結果:
在sql窗口,查詢一下,剛剛執行的inset語句是否執行成功。
我們可以看到已經成功插入了數據。
2、然后我們再來看一下怎么刪除表中的數據,我們將上面插入的'beijing' ,'ZH','China',217100 這條數據從數據庫中刪除掉
Connect To Database Using Custom Params pymysql database='world', user='root', password='root', host='localhost', port=3306
Execute Sql String delete from city where NAME='beijing'
Disconnect From Database
執行結果:
在sql窗口,查詢一下,有沒有將數據成功刪除掉
從查詢的結果看,我們看到數據已經成功的被刪除掉了
2.1.5 如何執行數據庫腳本文件
在做自動化測試時,我們經常需要構造數據或者對庫中的數據進行初始化,但是如果我們每次都是將要執行的數據庫腳本按條寫在用例中,將非常不好維護,因此我們需要直接執行數據庫腳本文件,在Databaselibrary庫中,可以通過Execute Sql Script關鍵字來執行數據庫腳本文件。
此處以執行本地F磁盤中的script.sql 為例,在script.sql 腳本中,放入需要執行的語句
Connect To Database Using Custom Params pymysql database='world',user='root', password='root', host='localhost', port=3306
Execute Sql Script f:/script.sql
Disconnect From Database
執行結果:
執行成功后,對數據庫進行查詢,會發現,腳本已經執行成功,數據已經成功插入
2.1.6 數據庫其他操作關鍵字
關鍵字 |
使用描述 |
||||||
Check If Exists In Database |
檢查數據庫查詢是否有返回結果,如果有返回結果,則用例執行成功,否則執行失敗,示例:
|
||||||
Check If Not Exists In Database |
檢查數據庫查詢是否有返回結果,如果有返回結果,則用例執行失敗,否則執行成功,示例:
|
||||||
Delete All Rows From Table |
刪除數據庫中某張表中的全部數據,示例:
|
||||||
Description |
描述數據庫的查詢結果,示例:
|
||||||
Row Count |
統計sql查詢返回的記錄數,示例:
|
||||||
Row Count Is 0 |
檢查sql查詢返回的記錄數是否為0,示例:
|
||||||
Row Count Is Equal To X |
檢查sql查詢返回的記錄數是否等於某個值,示例:
|
||||||
Row Count Is Greater Than X |
檢查sql查詢返回的記錄數是否大於某個值,示例:
|
||||||
Row Count Is Less Than X |
檢查sql查詢返回的記錄數是否小於某個值,示例:
|
||||||
Table Must Exist |
判斷數據庫中表是否存在,示例:
|
【原文歸作者所有,歡迎轉載,但是保留版權,並且轉載時,需要注明出處】 Robot Framework自動化測試框架核心指南電子版試讀
下一篇:RobotFramework自動化測試框架-MongoDBLibrary庫的使用
相關博文匯總:
RobotFramework下的http接口自動化Create Http Context關鍵字的使用
RobotFramework下的http接口自動化Get關鍵字的使用
RobotFramework下的http接口自動化post關鍵字的使用
RobotFramework下的http接口自動化Get Response Body關鍵字的使用
RobotFramework下的http接口自動化Get Response Status 關鍵字的使用
RobotFramework下的http接口自動化Get Response header 關鍵字的使用
RobotFramework下的http接口自動化Set Request Header 關鍵字的使用
RobotFramework下HttpLibrary庫其它關鍵字
RobotFramework下的http接口自動化Set Request Body 關鍵字的使用
RobotFramework下的http接口自動化Follow Response關鍵字的使用
RobotFramework自動化測試框架的基礎關鍵字(一)
RobotFramework自動化測試框架的基礎關鍵字(二)
RobotFramework自動化測試框架的基礎關鍵字(三)
RobotFramework自動化測試框架的基礎關鍵字(四)
RobotFramework自動化測試框架的基礎關鍵字(五)
RobotFramework自動化測試框架-移動手機自動化測試AppiumLibrary介紹
RobotFramework自動化測試框架-移動手機自動化測試Open Application關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試AppiumLibrary庫其它的常見自動化關鍵字
RobotFramework自動化測試框架-移動手機自動化測試Input Text和Click Button關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Clear Text關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Click Element關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Click A Point關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Click Element At Coordinates關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Get Element Location關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Get Network Connection Status和Set Network Connection Status關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Element Attribute Should Match關鍵字的使用
RobotFramework自動化測試框架-DatabaseLibrary庫的使用(對數據庫的操作)
RobotFramework自動化測試框架-使用Python編寫自定義的RobotFramework Lib
RobotFramework自動化測試框架-Selenium Web自動化(-)-Open Browser和Close Browser