首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pytest-xlsx 2.0 (三):计算测试示例

在前面的例子中,我们只对测试步骤做了【加法计算】这一种处理,

在实际项目中,测试步骤的类型往往有多种不同的步骤类型,需要不同的方式去执行。

接下来我们实现支持加、减、乘、除这 4 种类型的的计算测试,来模拟演示不同步骤类型的实现方式

设计用例

这一次,我们将每一行数据的关键字字段进行修改,用以表示步骤的类型:

为了保持简单,本例不同的步骤类型中内容格式是相同的,但这不是强制要求,你可以为不同的步骤类型定义不同的内容格式、不同的处理方式。

如果每个步骤的参数数量不一致,则需要在钩子中小心处理

实现钩子

由于测试步骤发生了变化,钩子必须更新才正确处理。

在新的钩子实现中,我们需要做到 2 点:

判断具体的步骤类型

根据不同的步骤类型,做出不同的测试动作

from pytest_xlsx import XlsxItem

def pytest_xlsx_run_step(item: XlsxItem):   step = item.current_step   action = step.get("关键字")   # `_BlankField`  # `_BlankField`  存储所有空白字段数据   num1, num2, expected_results = (step.get("_BlankField"))

  match action:  # 根据不同的步骤类型,匹配不同的测试动作       case 'add':  # 加           actual_results = num1 + num2       case 'subtract':  # 减           actual_results = num1 - num2       case 'multiply':  # 乘           actual_results = num1 * num2       case 'divide':  # 除           actual_results = num1 / num2

      case _:           raise ValueError('无法识别的步骤类型')

  # 对步骤的执行结果进行断言   assert actual

执行结果如下:

(.venv) C:\demo\pytest-xlsx-demo>pytest=========================== test session starts ============================platform win32 -- Python 3.12.0, pytest-8.2.2, pluggy-1.5.0rootdir: C:\demo\pytest-xlsx-democonfigfile: pytest.iniplugins: xlsx-2.0.0collected 1 item

tests\example\test_case.xlsx F                                        [100%]

================================= FAILURES =================================_______________________________ Sheet1.计算测试 ________________________________xlsx content:|     | 关键字   |   _BlankField |     |        ||-----|----------|---------------|-----|--------||     | add      |           111 | 222 |  333   || >>> | subtract |           111 | 333 | -111   ||     | multiply |           111 | 333 |  222   ||     | divide   |           111 | 222 |    0.5 |C:\demo\pytest-xlsx-demo\conftest.py:47: AssertionErrorassert -222 == -111========================= short test summary info ==========================FAILED tests/example/test_case.xlsx::Sheet1::计算测试============================ 1 failed in 0.03s =============================

在结果中可以看到详细的说明:第二个测试步骤 断言失败

下一步

至此,便实现了四种不同步骤类型的计算测试,根据需要,你还可以再定义更多的步骤类型。 在符合 xlsx 用例基本格式的前提下,用例的步骤可以写任意内容,只需要钩子函数对其进行处理即可。

简而言之:

xlsx 记录步骤内容

钩子执行步骤内容

在此基础上,可以实现接口或 UI 的自动化测试。

能看到这里说明是真爱,关注一下吧

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O_9IDSBKPsOTueEYHYWvTaqA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券