在进行自动化测试,经常会涉及数据库的查询操作以及获取写入操作。

今天写一个使用robotframework 测试用户登录,通过短信验证码找回密码的过程。

用例非常简单:在页面找点击“忘记密码”-->弹窗到找回密码界面,输入手机号-->点击获取验证码-->输入验证码-->输入新密码-->确认密码-->点击确定,找回密码成功。

实现过程存在的问题:

获取验证码:通过输入手机号,发送短信验证码,用户需要手动填入验证码;

解决思路:

短信验证码,获取到后,写入数据库一定有记录,通过查询数据库记录就可以找到短信验证码,然后获取到,填入。

所以涉及打开数据库操作、查询、将查询结果赋值给变量、写入变量、关闭数据库等。

1、如何连接数据库

1)可以通过DatabaseLibrary库中的Connect To Database关键字来链接一个mysql数据库,此处以链接本机mysql库为例

数据库用户名:root

数据库密码:root

Mysql数据库端口:3306

数据库名:world

Connect To Database   pymysql    world  root   root   localhost  3306

执行结果:

2)、还可以通过Connect To Database Using Custom Params关键字来连接mysql数据库

Connect To Database Using Custom Params    pymysql    database='world', user='root', password='root', host='localhost', port=3306

执行结果:

2、如何断开数据库

可以通过关键字Disconnect From Database断开数据库连接,我们在操作数据库时,一定不要忘记在操作完成后,要断开数据库的连接

Connect To Database   pymysql    world  root   root   localhost  3306

Disconnect From Database

执行结果:

3、对数据库表进行查询操作

通过Query关键字可以对数据库中的表进行查询,此处以查询mysql数据库中短信验证码表的数据,我们在数据库中执行SELECT * FROM sys_verification_code LIMIT 5; 这条sql.

我们先看下,我们在sql窗口中查询出来的结果:

注意这里:这个查询关键Query  和结果变量  ${result}

我们每次取最新一次结果传递给变量;

查询到数据后,数据获取;

假设查询结果为一条记录,${result[0][0]}代表第一行记录的第一个字段值,${result[0][1}代表第一行记录的第2个字段值。

下面输入验证码关键字,就可以看到传递值给变量。

查询结束一定要断开数据库

最后看下,整个用例:

4、执行用例

结果如下:

全部通过。验证OK;

5、查看用例报告。