传统的测试用例须要测试或者开发人员将用户的操做用代码表示出来,经过断言判断是否和预期一致,写测试用例也占用了部分时间,加上版本迭代测试用例的维护成本也较高,因而基于无埋点的需求相结合自动化测试来检测埋点,及时告警,提升准确率和代码质量,为了减小测试用例的开发维护时间,诞生了自动生成测试用例的方案,另外不由于出错而中断代码的执行
测试框架
https://github.com/Tencent/FA...html
测试框架使用FAutoTest,能够测试小程序,H5,对比曾经用过的selenium,代码运行要稳定不少,wait的时间也都很稳定,对比phantom截图像素对比,能够细化测试用例的行为,基于x5内核的driver能测试微信环境,能覆盖到现业务的使用场景,具体使用,能够参看上述连接python
如何自动生成测试用例
1.首先在后台配置测试用例,具体思路git
2.配置完测试用例,python请求接口获取测试用例配置的入参(in字段),出参(out字段),,in里边的字段是入参,url是点击行为所在的页面,xpath是点击的位置,out里边的字段是出参,url是预期要跳转的页面,xpath是预期页面的标记位置,带text是预期的文案,带class是预期的样式,把用户行为尽可能拆分红入参,出参可以表达的行为github
3.python请求接口,遍历接口数据生成前缀为test_case_xxx的测试用例,自动生成测试用例而不是在一条测试用例里边执行完全部的行为,避免出错而中断代码执行,代码以下小程序
生成测试报告
1)安装HTMLTestRunner微信
HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它能够生成 HTML的 测试报告。框架
首先要下 HTMLTestRunner.py 文件,将下载的文件放入…pythonLib目录下测试
python2版下载地址:http://tungwaiyip.info/softwa...ui
python3版下载地址:http://pan.baidu.com/s/1dEZQ0pz编码
2)测试脚本中引入
from HTMLTestRunner import HTMLTestRunner
3)定义测试报告的路径,调用HtmlTestRunner
# 按照必定的格式获取当前的时间 now = time.strftime("%Y-%m-%d %H_%M_%S") # 定义报告存放路径 filename = "../report/" + now + ".html" fp = open(filename, "wb") # 定义测试报告 runner = HTMLTestRunner(stream=fp, title="测试报告", description="测试用例执行状况:") runner.run(suite())
4)执行测试脚本,打印测试报告,生成html,可是测试报告中有乱码,参考网上解决方法:https://testerhome.com/topics...,测试脚本引入代码
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
修改HtmlTestRunner.py中的编码“latin-1”修改成“utf-8”后保存
5)再次执行测试脚本,生成测试报告以下: