在自动化过程当中,咱们常常须要链接不一样的数据库,而且对数据库进行不少不一样的操做,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来进行安装

一、能够经过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
执行结果:
能够经过关键字Disconnect From Database断开数据库链接,咱们在操做数据库时,必定不要忘记在操做完成后,要断开数据库的链接
Connect To Database pymysql world root root localhost 3306
Disconnect From Database
执行结果:
经过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
执行结果:
能够经过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窗口,查询一下,有没有将数据成功删除掉
从查询的结果看,咱们看到数据已经成功的被删除掉了
在作自动化测试时,咱们常常须要构造数据或者对库中的数据进行初始化,可是若是咱们每次都是将要执行的数据库脚本按条写在用例中,将很是很差维护,所以咱们须要直接执行数据库脚本文件,在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
执行结果:
执行成功后,对数据库进行查询,会发现,脚本已经执行成功,数据已经成功插入
关键字 |
使用描述 |
||||||
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自动化测试框架-经常使用断言关键字
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