有幸接触了python后,觉得这门开发语言太强大了,首先帮我解决了工作中的很多问题。因为我测试的时候需要准备很多测试数据,比如需要很多已实名的用户,按我们以前的做法是在公司的测试平台上一顿操作,或者用postman或者jmeter直接调用实名接口,但是要知道实名的身份证信息和银行卡信息在系统里是不能重复的,咋办呢,只能实名一个,改一下数据,再实名下一个,突然有一天,我学会了python,知道了里面有个很强大的三方库叫requests,于是写了一个自动实名的接口,身份证和银行卡、手机号、姓名我都给它自动生成,然后执行下接口调用就完事了。很easy的,一下生成了好多个,看着我的同事们还在手动造数据,我的自豪感油然而生。我想这么好的工具不能我自己享用啊,共享给大家一起用吧,可是也不能让每个人都装一套python环境啊,于是我想写个界面吧,把界面路径共享给大家,点一下按钮就能生成一个,于是慢慢的把遗忘多年的html,css,js给捡了起来,慢慢的有了这个平台的第一个页面,后来又填进去很多功能,如下图:
随着对python使用的越来越”得心应手“,并且工作中越来越需要一个工具来帮我实现自动的测试接口,我决定开发一个自动化测试平台,选中了flask这个比较灵活好入门的框架,数据库是mysql,前端用了bootstrap。经过一段时间学习,在网上从其他小伙伴那里也借鉴了很多灵感,就开始动手了。
首先是新增测试用例,用到的基本都是get或post请求,所以只写了这两种:
预期结果可以添加0到n个:
返回的结果可以保存为变量,供其他接口使用,也可添加0到n个:
在当前窗口,也可以选择【运行】按钮来查看返回结果:
保存后的测试用例显示如下:
勾选左侧的测试用例后,用例会按勾选顺序显示在右侧,点击【运行测试】可批量执行测试用例:
执行过程中如有问题,会有相应提示,也会生成测试报告:
执行通过并生成测试报告:
测试报告查看页面:
点击列表可查看详细测试报告(此页面借鉴了网上某位大神的创意,保留了人家前端页面代码,把我的数据嵌套了进去,谢谢那位大神,捂脸):
对了,还做了一个功能,用例执行完把测试报告发送到邮箱里,用的是flask_mail三方库:
前面提到接口运行结果可以保存为变量供其他接口使用,这个我专门做了一个页面来管理,也可以在这个页面新增和修改,有些字段是需要随机值的,可以一键生成随机值:
写测试用例的时候,把变量名写在{{}}里面,就可以调用变量的值了,如下图:
后面还写一个定时任务管理页面,可以规定用例执行时间,使用了apscheduler三方库:
接口自动化测试的功能差不多就这些啦,下面是UI自动化测试。
分割线=======================================
UI自动化测试使用了appium工具,首先是移动端的连接配置管理,每次只开启一个连接,用例执行前会先进行初始化连接:
UI测试用例编辑,步骤里面的操作及断言为自定义的方法:
用例保存后的管理页面,同样,左侧勾选后,可展示在页面右侧,点击【运行测试】可批量执行:
测试报告详细页面:
总结:
目前该平台已经基本能满足工作需要,但是还有很多需要完善的地方,后续可能会增加项目管理、UI页面管理、登录等功能。