pytest中一个场景测试的demo

注意点1:

@allure.severity 是一个装饰器,用于设置测试用例的严重性级别。

allure.severity_level.CRITICAL 是Allure提供的严重性级别之一,表示这个测试用例极为重要。allure.severity_level.BLOCKER:阻塞级别的问题,系统无法继续运行或测试无法继续。
allure.severity_level.NORMAL:普通级别的问题,不影响主要功能,但需要解决。
allure.severity_level.MINOR:次要级别的问题,影响较小,可以稍后处理。
allure.severity_level.TRIVIAL:轻微的问题,几乎不影响系统功能,通常是最不紧急的。

注意点2:

钩子函数的建立,用于传递数据

@pytest.fixture(scope="function")
def testcase_data(request):
    testcase_name = request.function.__name__
    return scenario_data.get(testcase_name)

接收一个特殊的request参数。request对象包含了当前测试上下文的信息,比如正在执行的测试函数。从request对象中获取当前测试函数的名字,并将其赋值给testcase_name变量。将测试数据中与函数名的相同的键取出作为测试数据的传参。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest一个功能强大的Python测试框架,它可以帮助我们进行自动化测试,并提供了丰富的插件和扩展功能。结合yml文件,我们可以更灵活地管理和组织测试数据。 在编写测试用例时,我们可以使用pytest内置的fixture功能来准备测试环境。通过在yml文件定义fixture,并在测试用例使用@pytest.mark.parametrize装饰器来引用fixture,我们可以实现不同测试用例之间的复用和共享测试数据。 在yml文件,我们可以定义多个测试数据集合,每个集合对应一个测试用例。集合可以包含多个参数,每个参数对应一组测试数据。当pytest运行测试时,它会自动加载yml文件,并根据参数化的方式将测试数据传递给测试用例。这样,我们就可以通过修改yml文件的参数来扩展和修改测试数据,而无需修改测试代码。 除了参数化测试数据,我们还可以在yml文件定义其他配置项,例如测试报告的输出路径、日志级别、超时时间等。通过读取这些配置项,我们可以更好地进行测试管理和配置。 另外,pytest还支持使用yml文件来定义测试套件。通过在yml文件指定测试套件的包含和排除规则,我们可以灵活地选择和组织需要执行的测试用例。 总之,pytest结合yml能够帮助我们更高效地管理和组织测试数据,使测试用例的编写和维护更加灵活和易于扩展。它们的结合可以提高测试效率,减少测试的重复劳动,同时提高测试数据的可维护性和可读性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值