Robot Framework学习笔记11-RF如何使用数据库查询出的数据做参数

今天学习使用Robot Framework工具来连接数据库,然后通过SQL语句去查询出想要的数据结果,在将这个结果复制给一个自定义的参数

第一步:先安装数据库工具 DatabaseLibrary

直接cmd使用命令行安装 pip  install robotframework-databaselibrary

在安装pymysql : pip install pymysql

第二步,安装好之后,在你的项目上导进来(红色字体导入失败,可能是没有安装成功,必须是黑色字体才代表导入成功)

Robot Framework学习笔记11-RF如何使用数据库查询出的数据做参数_第1张图片

第三步,连接数据库

连接数据库关键字:Connect TO Database Using Custom Params

传入参数:第一个是pymysql,第二是数据库连接信息(host='数据库ip',port='数据库端口',user='数据库登陆用户名',passwd='密码',db='数据库名(不是表名)',[charset=''utf8])charset参数可选

第四部,引用

连接数据库我自己封装出来了,因为很多测试用例都需要用到数据库去查询,虽然查询语句也是一样的,但是这里我为什么不把查询语句也放进来呢,因为查询出的结果要做当前页面的参数,如果是引用的用不了,所以我放弃了,但如果有会的评论请教一下。我单独封装了数据库的连接

Robot Framework学习笔记11-RF如何使用数据库查询出的数据做参数_第2张图片

先引用连接数据库,然后第9行:${serial_number}自定义的名称,因为是参数化,所以要用${},query是查询,必须传入的参数,然后后面就是查询的SQL语句。第10行:又重新定义一个参数,然后set variable 这个是去除特殊字符的关键字,${serial_number[0][0]},将上面数据查询出来的结果,去除特殊符号。可以通过log日志可以查看到,数据查出来的结果是有特殊符号的,所以必须要去除,去除了之中重新将值付给另一个自定义的参数。然后在第11行,文本框输入的时候,就能直接用这个参数了。

思考:这个每个测试用例都有一条查询语句,虽然这查询语句是一样的,但是如果我的查询条件发生改变之后,我就要改很多测试用例的查询语句,显示不符合分层思想,但这个参数又必须是在这个页面传进来,有什么好的办法可以单独将8.9.10抽出来,然后直接引用一下就可以得到11行的参数呢?

你可能感兴趣的:(Robot)