Python自动化测试如何自动生成测试用例?

传统的测试用例需要测试或者开发人员将用户的操作用代码表示出来,通过断言判断是否和预期一致,写测试用例也占用了部分时间,加上版本迭代测试用例的维护成本也较高,于是基于无埋点的需求相结合自动化测试来检测埋点,及时告警,提高准确率和代码质量,为了减少测试用例的开发维护时间,诞生了自动生成测试用例的方案,另外不因为出错而中断代码的执行。

测试框架

测试框架使用FAutoTest,可以测试小程序,H5,对比曾经用过的selenium,代码运行要稳定很多,wait的时间也都很稳定,对比phantom截图像素对比,可以细化测试用例的行为,基于x5内核的driver能测试微信环境,能覆盖到现业务的使用场景。

如何自动生成测试用例?

1.首先在后台配置测试用例,具体思路

获取点击位置xpath,该测试用例预期文案或者样式

请求接口将测试用例数据配置写入表,并提供接口拉取所有测试用例数据

2.配置完测试用例,python请求接口获取测试用例配置的入参(in字段),出参(out字段),in里边的字段是入参,url是点击行为所在的页面,xpath是点击的位置,out里边的字段是出参,url是预期要跳转的页面,xpath是预期页面的标记位置,带text是预期的文案,带class是预期的样式,把用户行为尽量拆分成入参,出参能够表达的行为

3.python请求接口,遍历接口数据生成前缀为test_case_xxx的测试用例,自动生成测试用例而不是在一条测试用例里边执行完所有的行为,避免出错而中断代码执行,代码如下

生成测试报告

1)安装HTMLTestRunner

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。

首先要下 HTMLTestRunner.py 文件,将下载的文件放入…pythonLib目录下

python2版下载地址:

http://tungwaiyip.info/softwa...

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)再次执行测试脚本,生成测试报告如下:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190114B0WW9Y00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券