Robot Framework 对数据库的操作
2.1 DatabaseLibrary 库的使用
Robot Framework 提供了 DatabaseLibrary 库来操作数据库
1. 安装 DatabaseLibrary 库
pip3 install -U robotframework-databaselibrary
2. 测试套件中导入 DatabaseLibrary 库
3. 安装 pure-PythonMySQL client library
可从 GitHub 下载安装或通过 pip:
pip3 install PyMySQL
2.1.1 如何连接数据库
- 通过 DatabaseLibrary 库中的
Connect To Database
关键字来连接一个 MySQL 数据库
- 还可以通过
Connect To Database Using Custom Params
关键字来连接 MySQL 数据库
2.1.2 如何断开数据库
可以通过关键字 Disconnect From Database
断开数据库连接,我们在操作数据库时一定不要忘记在操作完成后断开数据库的连接
2.1.3 如何对数据库的表进行查询
通过 Query
关键字可以对数据库中的表进行查询
2.1.4 如何插入和删除数据
可以通过 Execute Sql String
关键字来执行数据库的插入操作和删除操作
- 插入:执行
INSERT INTO <table_name> (<field_name1> ,<field_name2>,...) VALUES ('<field_value1>','<field_name1>',...)
- 删除:执行
DELETE FROM <table_name> WHERE <field_name1>=<specific_value>
2.1.5 如何执行数据库脚本文件
在做自动化测试时,我们经常需要构造数据或者对库中的数据进行初始化,但是如果我们每次都是将要执行的数据库脚本按条写在用例中,那么将非常不好维护,因此我们需要直接执行数据库脚本文件
在 DatabaseLibrary 库中,可以通过 Execute Sql Script
关键字来执行数据库脚本文件
script.sql
INSERT INTO city(Name,Population) VALUES ('Suzhou','1274.83 w');
INSERT INTO city(Name,Population) VALUES ('Wuxi','747.95 w');
2.1.6 DatabaseLibrary 库的其他操作关键字
2.2 MongoDBLibrary 库的使用
MongoDB 是非常常用的一个非关系型数据库,Robot Framework 提供了对 MongoDB 数据库测试操作的支持
1. 安装 MongoDBLibrary 库
pip install -U Robotframework-MongoDB-Library
2. 测试套件中导入 MongoDBLibrary 库
2.2.1 MongoDB 数据库的连接和断开
连接
在 MongoDBLibrary 中通过 Connect To MongoDB
关键字来连接到 MongoDB 数据库
- 该关键字接收 [ dbHost=localhost | dbPort=27017 | dbMaxPoolSize=10 |dbNetworkTimeout=None | dbDocClass= | dbTZAware=False ] 六个参数
- dbHost :MongoDB 数据库的 IP 地址
- dbPort:MongoDB 数据库的端口号,不输入时默认为27017
- dbMaxPoolSize:数据库连接的最大线程池大小,不输入时默认大小为10
断开
在 MongoDBLibrary 中通过 Disconnect From Mongodb
关键字来断开已经建立的 MongoDB
数据库连接
2.2.2 Get Mongodb Databases 和 Get Mongodb Collections
在 MongoDBLibrary 中通过 Get Mongodb Databases
关键字来获取当前 MongoDB 下所有在用的数据库
- 调用该关键字时可能会遇到问题 “‘Database’ object is not callable”
通过 Get Mongodb Collections
关键字可以获取到指定 MongoDB 数据库下的所有 Collection,该关键字接收[ dbName ]一个参数
2.2.3 Save Mongodb Records
Save MongoDB Records
关键字用来向指定的 Collection 中保存插入的记录,接收[ dbName| dbCollName | recordJSON ]三个参数
2.2.4 Retrieve All Mongodb Records
Retrieve All Mongodb Records
关键字用来获取指定 Collection 下的所有数据记录,接收[ dbName | dbCollName | returnDocuments=False ]三个参数
2.2.5 Update Many Mongodb Records
Update Many Mongodb Records
关键字用来更新 Collection 中的数据记录,接收[dbName | dbCollName | queryJSON | updateJSON | upsert=False ]五个参数
2.2.6 Remove Mongodb Records
Remove Mongodb Records
关键字用来删除指定 Collection 中的数据记录,接收 [dbName | dbCollName | recordJSON ] 三个参数