RobotFramework自動化測試框架-DatabaseLibrary庫的使用(對數據庫的操做)

在自動化過程當中,咱們常常須要鏈接不一樣的數據庫,而且對數據庫進行不少不一樣的操做,RobotFramework中,提供了DatabaseLibrary這個庫來操做數據庫,咱們能夠按照官網中的說明來安裝DatabaseLibrary庫,在瀏覽器中訪問http://franz-see.github.io/Robotframework-Database-Library/ 頁面,便可以看到該庫的相關安裝說明和API介紹。html

在使用DatabaseLibrary庫時,須要在測試套件中,預先導入該庫,才能夠在用例中使用DatabaseLibrary庫中的關鍵字,這裏以Mysql數據庫爲例,講述Databaselibrary庫的使用mysql

 

要連接到mysql,除了要導入DatabaseLibrary庫外,還須要安裝pure-Python MySQL client library,能夠經過https://github.com/PyMySQL/PyMySQL 下載該庫,而且進行安裝,或者直接經過cmd命令行pip install PyMySQL來進行安裝



1.1.1        如何鏈接數據庫

一、能夠經過DatabaseLibrary庫中的Connect To Database關鍵字來連接一個mysql數據庫,此處以連接本機mysql庫爲例git

數據庫用戶名:rootgithub

數據庫密碼:rootsql

Mysql數據庫端口:3306數據庫

數據庫名:world瀏覽器

Connect To Database   pymysql    world  root   root   localhost  3306框架

 

執行結果:post

 

二、還能夠經過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關鍵字來執行數據庫的插入操做和刪除操做

一、首先咱們來看下如何向數據庫中插入數據,此處以向表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語句是否執行成功。

 

 

咱們能夠看到已經成功插入了數據。

二、而後咱們再來看一下怎麼刪除表中的數據,咱們將上面插入的'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 Exists In Database

SELECT * FROM city WHERE NAME='beijing' OR NAME='shanghai'

 

Check If Not Exists In Database

檢查數據庫查詢是否有返回結果,若是有返回結果,則用例執行失敗,不然執行成功,示例:

 

Check If Not Exists In Database

SELECT * FROM city WHERE NAME='beijing' and NAME='shanghai'

 

Delete All Rows From Table

刪除數據庫中某張表中的所有數據,示例:

 

Delete All Rows From Table

World

 

Description

描述數據庫的查詢結果,示例:

 

@{result}

Description

SELECT * FROM city WHERE NAME='beijing' or NAME='shanghai'

Log Many

@{result}      

 

 

Row Count

統計sql查詢返回的記錄數,示例:

 

${rowCount}

Row Count

SELECT * FROM city WHERE NAME='beijing' or NAME='shanghai'

Log

${rowCount}

 

 

Row Count Is 0

檢查sql查詢返回的記錄數是否爲0,示例:

 

Row Count Is 0

SELECT * FROM city WHERE NAME='beijing' or NAME='shanghai'

 

Row Count Is Equal To X

檢查sql查詢返回的記錄數是否等於某個值,示例:

 

Row Count Is Equal To X

SELECT * FROM city WHERE NAME='beijing' or NAME='shanghai'

1

 

Row Count Is Greater Than X

檢查sql查詢返回的記錄數是否大於某個值,示例:

 

Row Count Is Greater Than X

SELECT * FROM city WHERE NAME='beijing' or NAME='shanghai'

1

 

Row Count Is Less Than X

檢查sql查詢返回的記錄數是否小於某個值,示例:

 

Row Count Is Less Than X

SELECT * FROM city WHERE NAME='beijing' or NAME='shanghai'

1

 

Table Must Exist

判斷數據庫中表是否存在,示例:

 

Table Must Exist

city

 

【原文歸做者全部,歡迎轉載,可是保留版權,而且轉載時,須要註明出處 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自動化測試框架-經常使用斷言關鍵字

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

RobotFramework自動化測試框架-MongoDBLibrary庫的使用

相關文章
相關標籤/搜索