一、背景
大家好,很久没更新啦,龙年的第一篇文章,杨叔先在这里祝愿大家龙年一帆风顺,万事如意!当然,作为开年的第一篇文章,自然是需要给大家分享点干货。
作为测试同学,会功能测试是入门第一阶段。然后开始会写各类脚本,比如自动化测试脚本,是第二阶段。接下来开始会编写搭建各类测试平台,会前后端开发的各类框架知识,则是第三阶段,也是进阶测试开发必不可少的一步。
以前要开发一套测试平台,需要很长一段时间开发调试,而随着这些年技术的不断进步,以及开源文化的流行,我们现在已经可以站在巨人的肩膀上快速前行,无需自己从零开始造轮子。
比如比较出名的项目框架:MeterSphere,网上各类文章资料也相对较多。而今天杨叔要给大家介绍的,是另外一款更轻量级的,也比较好用的一站式自动化测试平台:Autotestplat!
二、平台安装启动
平台开源代码作者:Fin testdevhome,已获314 stars,目前还在持续迭代升级中。需要工程代码地址的同学,欢迎关注我的VX公众号:程序员杨叔,聊天窗口回复关键字:自动化测试平台 获取。
工程运行需要提前在电脑上安装好python 3.6、mysql、redis,不会安装的同学自行网上搜索教程,都比较简单,这里不再赘述,本文重点只说工程项目本身的安装使用。
第1步:安装项目依赖
项目工程目录下,运行命令:
pip install -r requirements.txt
第2步:数据库
导入项目目录下的autotestplat.sql,生成mysql数据库表:
同时项目工程下,记得修改数据库连接信息。
第3步:Redis
Windows下启动Redis,CMD模式在Redis的安装目录下执行命令:
redis-server redis.windows.conf
第4步:启动项目工程
项目工程目录下,运行命令:
python manage.py runserver 0.0.0.0:80
第5步:启动Celery
项目工程目录下,运行命令:
python manage.py celery worker -c 6 -l debug
python manage.py celery beat
至此,平台涉及的所有安装启动工作已执行完毕,接下来就是如何开心地使用它了。
三、平台使用
3.1 登录平台
访问 127.0.0.1/autotest/login,打开平台登录页面,页面预填充了用户名和密码,直接登录:
3.2 产品管理
平台以产品作为维度,做数据隔离,方便管理数据。比如你有两个系统需要编写自动化测试数据,两个系统是两个不同测试组的同学,互相不想看到对方的数据,也不希望对方能操作自己的数据,需要做数据隔离。
那么就可以创建两个产品,这样A系统的用户账号登录进来,只能看到和操作归属于A系统的用户创建的各类数据,实现了数据隔离。
3.3 用户设置
按照前面说的产品管理的概念,创建归属于某个产品下的账号,用于登录平台使用。
3.4 系统设置
测试过程中我们会需要设置一些常量、变量、环境变量等,这时候就需要使用系统设置页面来管理。
接口用例页面上使用环境变量+变量,完成接口创建:
3.5 接口用例
接口测试用例的管理页面,用于创建、编辑、删除用例。
3.5.1 认证
接口访问通常都是需要token认证的,通常是通过先访问登录接口,然后从接口返回值中,提取token的值为正则表达式关键字token_Autotestplat。
先发送执行上一个接口,然后在后续的接口中通过,在认证这里填写正则表达式关键字获取token动态值:
3.5.2 断言
接口测试肯定是需要设置断言的,用于判断接口返回的数据是否符合期望结果
3.5.3 正则表达式
通过正则表达式提取接口响应字段的值,用作后续接口使用
下一个接口使用之前接口提取的{id_value}、{user_id_value}值:
Redis客户端命令行模式下,使用get命令获取id_value、user_id_value的值,可以成功获取到值。测试计划运行的过程中,Redis中存储正则表达式提取的变量值:
3.6 测试计划
测试计划的创建、编辑、调试、删除都在该页面上完成:
创建测试计划:如果需要定时运行,则设置好定时时间
3.7 测试报告
测试报告的查看、删除,用于管理测试报告:
查看报告详情,点击具体接口,可以参看接口测试内容详情:
3.8 性能测试
性能测试基于jmeter引擎,环境需要安装Java jdk1.8版本。然后下载jmeter,当前使用的版本是5.6.2,将jmeter文件夹放到Autotestplat目录下。
性能测试页面上,左边选择需要测试接口,右边设置并发线程数和持续时间,点击“生成jmeter文件”,先生成jmeter jmx脚本文件:
注意:
目前只支持json入参的接口,入参转换那里代码是写死的按json入参的jmx脚本格式转的。form表格入参的接口,入参也会被转为json格式的jmx脚本,要做的话要再写一下脚本转换,不然正确转换为压测脚本,接口会报错:
jmx脚本生成后,点击“测试开始”按钮开始压测,项目运行日志中可以看到Jmeter运行日志:
运行完成后点击“查看接口”,可查看压测报告:
============================================================================
好啦,以上就是本次的全部内容,至于App UI测试和Web UI测试,目前看上去工程内容还不是很成熟,杨叔也还没有测试使用,后续有更新再分享给大家。
如果本文对你有帮助,麻烦点个赞+收藏+关注,一键三连啦~ 欢迎关注下方我的公众号:程序员杨叔,更多文章会第一时间在上面发布,持续分享各类测试开发知识干货,你的支持就是作者更新最大的动力。