各位小伙伴们,大家好,今天给大家带来的是关自动化测试之获取mysql数据库中的数据方面的干货,技术含金量超高,有测开方面发展的小伙伴可以好好看看。
实施自动化获取mysql数据库中的数据的前提知识有:
1. 精通软件测试通用理论知识
2. 精通自动化测试编程语言python
3. 精通mysql数据库,懂sql语句
4. 精通python连接mysql数据库的知识
下面链接都有:
http://it.qfedu.com/oa.php/Public/share?c2lkPTEwOTM=
需要搭建的环境有
1. 安装mysql数据库
2. 数据库中有储存数据的表格
3. 安装python
4. 安装pycharm(写代码的ide)
5. 安装selenium
6. 安装pymysql
首先我们设定场景来说明自动化获取mysql数据库中的数据,比如注册模块是A测试员进行测试的,他测试的时候把很多用户名和密码都储存到了数据库中,我们是测试登录模块的,需要获取这些用户名和对应的密码来进行登录测试。
如果你精通mysql数据库,就应该知道,用户的注册信息肯定是储存在一张用户信息表中,这个用户信息表里一定有用户当时注册时的用户名和密码,我们只要获取这些用户名和密码,然后拿到这些用户名和对应的密码来进行登录测试就可以。
核心技术点有以下几点:
1. 怎么使用python连接mysql数据库,并从数据库获取数据
2. 对应的sql语句怎么写
3. 这些数据储存到什么容器
4. 自动化测试登录中怎么使用这些数据
5. 自动化测试登录的代码编写
首先看第1点,python从mysql数据库中获取数据,具体的步骤如:
1. 引入pymysql
2. 连接数据库
3. 创建游标对象
4. 查看一下所在数据库(如果不在,需要切换数据库)
5. 获取数据
6. 关闭数据库
上面需要注意的是,必须先下载pymysql模块
第2点,sql语句有:
1. select *from user
第3点,使用列表来储存数据
完整代码如下:
#1.引入pymysqlimport pymysql #2.连接数据库mydb=pymysql.connect(host='localhost',port=3306,user='root',passwd='123456',db='qftestdb',charset='utf8') #3..创建游标对象cur=mydb.cursor() #4.查看所在的数据库cur.execute("select DATABASE()")data=cur.fetchone()print(data) #5.获取数据str="select *from user"cur.execute(str)data=cur.fetchone()print(data)#这里就是获取的数据 #6.关闭数据库mydb.close()接下来编写自动化登录的代码,比如自动化登录![]()
里面的send_keys中的数据就可以使用我们从数据库获取的数据了。直接把jenkings替换位data[0],123456替换位data[1].
当然,mysql中数据很多,需要循环我们的取出列表中的元素,放入到登录代码中,具体的细节,上面链接中都有。
总结:
在测试开发中,对于数据的获取和对数据的处理是我们测试开发人员常常面对的事情,不管数据是储存到数据库还是储存到.txt,xml,json,csv等格式的文档中,我们都是通过代码来获取数据的,不可能打开这些文件,一个一个的输入到代码里面,所以我么测试开发者,需要掌握获取各种格式文档或各种数据库(mysql,mongodb,redis)里的数据的能力,这样才能使我们的自动化测试代码更加完善,更加自动化,最后,想要更加精通测试开发,需要我们测试人员不断的学习,不只学习软件测试的专业知识,也要学习一些软件开发的知识,这样我们才能写出更好,更健壮,更有效率的自动化测试代码。
小伙伴如果对软件测试自学感兴趣的话,小编在此给您分享一套完整且免费的测试课程。
据我所知,目前已经有几十人通过这门课程自学转行成功,或者技术提升后跳槽拿到高薪的,截止目前,收到反馈的最高offer是18K,坐标北京。
2021最新软件测试视频教程,B站软测教程排名第一!内容包含了测试通用技术、测试环境配置、数据库测试技术、web开发技术、Python开发基础、Web自动化测试、移动端测试、接口测试和性能测试技术。点击链接,开始学习吧~http://it.qfedu.com/oa.php/Public/share?c2lkPTIyNDc=