一、安装所需Library:DatabaseLibrary,PyMysql
pip install robotframework-databaselibrary
注意:我已经安装了所以如此提示。
pip install pymysql
二、RobotFramework项目导入Library
三、连接数据库,使用关键字Connect To Database Using Custom Params。具体操作可以CTRL+alt+空格,看具体例子。
四、使用关键字:query对数据库表进行查询操作
通过Query关键字可以对数据库中的表进行查询,此处以查询mysql数据库中用户密码的数据,我们在数据库中执行SELECT * FROM USERS;
五、查询到数据后,数据获取;
假设查询结果为一条记录,${result[0][0]}代表第一行记录的第一个字段值,${result[0][1}代表第一行记录的第2个字段值。
下面输入验证码关键字,就可以看到传递值给变量。
六、关闭数据库连接,使用关键字:Disconnect From Database
七、DatabaseLibrary API 关键字
API | 参数 | 说明 |
Check If Exists In Database | 查询语句 | 数据库中存在:存在,则为PASS,不存在,则为FAIL |
Check If Not Exists In Database | 查询语句 | 数据库中不存在:不存在,则为PASS,存在,则为FAIL |
Connect To Database | dbapiModuleName=None, dbName=None, dbUsername=None, dbPassword=None, dbHost=localhost, dbPort=5432, dbConfigFile=./resources/db.cfg | 连接数据库配制信息,通过配制各项属性完成 |
Connect To Database Using Custom Params | dbapiModuleName=None, db_connect_string= | 连接数据库配制信息,通过db_connect_string来传递。如database='my_db_test', user='postgres', password='s3cr3t', host='tiger.foobar.com', port=5432 |
Delete All Rows From Table | 表名 | 删除数据库中表的所有行:删除成功,则PASS;失败,则Fail |
Description | 查询语句 | 返回查询语句的结果,内容格式为: [Column(name='id', type_code=1043, display_size=None, internal_size=255, precision=None, scale=None, null_ok=None)] [Column(name='first_name', type_code=1043, display_size=None, internal_size=255, precision=None, scale=None, null_ok=None)] [Column(name='last_name', type_code=1043, display_size=None, internal_size=255, precision=None, scale=None, null_ok=None)] |
Disconnect From Database | 无 | 断开数据库链接 |
Execute Sql Script | SqlScriptFileName | 执行脚本文件。SqlScriptFileName物理路径+FileName。 |
Execute Sql String | SqlString | 执行Sql语句 |
Query | 查询语句 | 返回查询语句的查询结果 |
Row Count | 查询语句 | 返回查询语句的查询结果行总数 |
Row Count Is 0 | 查询语句 | 查询语句的查询结果行总数:为0,则PASS;非0,则FAIL |
Row Count Is Equal To X | 查询语句,X | 查询语句的查询结果行总数:为X,则PASS;非X,则FAIL X,为预期的查询结果行数,第二个需要传递的参数 |
Row Count Is Greater Than X | 查询语句,X | 查询语句的查询结果行总数:大于X,则PASS;小于或等于X,则FAIL X,为预期的查询结果行数,第二个需要传递的参数 |
Row Count Is Less Than X | 查询语句,X | 查询语句的查询结果行总数:大于X,则PASS;小于或等于X,则FAIL X,为预期的查询结果行数,第二个需要传递的参数 |
Table Must Exist | 表名 | 表名必须存在:存在,则PASS;不存在,则FAIL |