传统的测试用例需要测试或者开发人员将用户的操作用代码表示出来,通过断言判断是否和预期一致,写测试用例也占用了部分时间,加上版本迭代测试用例的维护成本也较高,于是基于无埋点的需求相结合自动化测试来检测埋点,及时告警,提高准确率和代码质量,为了减少测试用例的开发维护时间,诞生了自动生成测试用例的方案,另外不因为出错而中断代码的执行。
测试框架:
测试框架使用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的 测试报告。
2.测试脚本中引入
from HTMLTestRunner import HTMLTestRunner
3.定义测试报告的路径,调用HtmlTestRunner
4.执行测试脚本,打印测试报告,生成html。
5.再次执行测试脚本,生成测试报告。
以上就是Python自动化测试如何自动生成测试用例。
在Python中生成自动化测试用例的方法主要依赖于你所使用的测试框架和测试需求。
下面以常见的Python测试库如unittest或pytest为例介绍一种基本的方法:
- 定义测试类和测试方法
在Python中,你可以定义一个测试类,然后在这个类中定义多个测试方法。每个测试方法就是一个测试用例。以下是一个简单的例子:
pythonCopy code
import unittest
class TestMyFunction(unittest.TestCase):
def test_add(self):
result = add(1, 2)
self.assertEqual(result, 3)
def test_subtract(self):
result = subtract(2, 1)
self.assertEqual(result, 1)
在上面的例子中,TestMyFunction
是一个测试类,test_add
和test_subtract
是两个测试用例。
- 使用测试生成器
对于大量的测试用例,你可以使用测试生成器来生成。以下是一个使用pytest生成器的例子:
pythonCopy code
import pytest
test_data = [
(1, 2, 3),
(2, 3, 5),
(3, 5, 8),
]
@pytest.mark.parametrize("a,b,expected", test_data)
def test_add(a, b, expected):
result = add(a, b)
assert result == expected
在这个例子中,我们使用了pytest.mark.parametrize
装饰器和测试数据列表来生成多个测试用例。每个测试用例都会使用一组不同的输入和预期结果。
以上只是生成测试用例的基础方式,实际操作中你可能需要考虑更多因素,比如复杂的测试场景,测试数据的管理,错误处理等。自动化测试是一个复杂的主题,需要不断学习和实践。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!