问题标签 [pytest-bdd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
218 浏览

python - Pytest Bdd:即使失败也如何继续执行 BDD 中的步骤

我在 pytest-bdd 上实现了这样的场景

在这里我们可以看到该步骤(然后购物车中有“3”“西红柿”)将失败,测试执行将在那里停止,其余步骤将不会执行。那么即使pytest bdd中的一个或多个步骤失败,有什么方法可以继续测试执行吗?

0 投票
1 回答
148 浏览

python - 如何使用场景大纲继续执行 Pytest BDD 中的步骤

我正在尝试实现功能场景大纲,类似于以下内容:

这里I should have <left_c> cucumbers将失败,执行将停止而不考虑第二步。即使pytest bdd中的某些步骤失败,有没有办法执行剩余的步骤?

0 投票
0 回答
92 浏览

python - pytest-bdd 是否支持标记示例并通过 pytest -k tag_name 使用标记调用测试

pytest-bdd 是否支持以下示例标记,如果是,相同的格式对我不起作用,我应该做什么更改?

我尝试通过以下方式调用特定示例: pytest -v -s -k "daily" 。这是正确的方法吗?

0 投票
0 回答
67 浏览

scope - pytest-bdd target_fixture 可以支持类、模块、会话的范围吗?

pytest-bdd target_fixture 是一个 pytest 夹具,pytest 夹具支持范围。那么 pytest-bdd target_fixture 是否具有类、模块、会话的范围?

0 投票
0 回答
102 浏览

pytest - 如何将 Pytest-BDD 与 Playwright 结合使用

你能帮忙解决这个问题吗?我正在尝试将 Playwright 与 Pytest-BDD 一起使用,但没有成功,它会抛出以下错误:

在此处输入图像描述

这是我的代码: 在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
18 浏览

pytest - 运行 pytest-bdd 时找不到夹具“pylon_config_missing_usageplan”

我已经编写了多个测试用例,并在 @given 场景中指定了 target_fixture。

在运行测试用例时,它会抛出一个错误

找不到夹具“pylon_config_missing_usageplan”

可用的固定装置:缓存、capfd、capfdbinary、caplog、capsys、capsysbinary、doctest_namespace、monkeypatch、pylon_config、pytestbdd_given_我提供了一个缺少密钥的 pylon 配置,pytestbdd_given_我提供了一个有效的 pylon 配置,pytestbdd_given_trace,pytestbdd_then_我应该收到一个异常,pytestbdd_then_它应该使用预期的 FilterPatterns、pytestbdd_then_trace、pytestbdd_when_加载配置、pytestbdd_when_trace、pytestconfig、record_property、record_testsuite_property、record_xml_attribute、recwarn、tmp_path、tmp_path_factory、tmpdir、tmpdir_factory 使用“pytest --fixtures [testpath]”获取帮助。

有人可以帮我吗?

0 投票
1 回答
457 浏览

pytest - 如何将场景特定的参数传递给 pytest bdd after_scenario 挂钩?

我正在使用 pytest bdd 来执行 bdd 场景。例子:

在场景中,我创建条目,然后查询并验证响应代码/输出。无论场景是否成功,我都希望能够清理我创建的条目(因此插入另一行“然后我清理我的数据”将无法实现我的目标)。

根据https://pytest-bdd.readthedocs.io/en/latest/ -pytest_bdd_after_scenario(request, feature, scenario)无论场景成功与否,都有一个钩子可以让我执行清理。

  1. 我应该在哪里实施?(我试着把它放在 test_my_scenario.py 但它没有被执行,根据https://github.com/pytest-dev/pytest-bdd/issues/174它看起来应该在 conftest 中?)
  2. 如何将特定于场景的参数传递给钩子?不像pytest_bdd_step_error它在签名中没有 func_args 。那么如何清理我在场景中创建的特定条目呢?
0 投票
1 回答
154 浏览

python - 如何在 pytest-bdd 的其他步骤中作为参数获得响应和使用

我尝试使用 pytest-bdd 为我的 API Python 项目进行设计。我制作了“通用、功能、测试”文件夹。

在功能文件中,我添加了我的帖子、删除、获取、放置案例。我还分开了 post.feature delete.feature 等。由于丢失了案例。

然后我从功能文件中生成了我的 post_steps.py。并且所有步骤页面中都有一些通用步骤。所以我决定把它们放到 common 文件夹下的 commonsteps.py 中。

然后,在 common.py 中,有一些常用方法如下断言状态码:

我的测试从 mypost.py 开始,然后开始使用这种常用方法,但是如何将响应、状态代码传递到此页面?因为我需要验证。简而言之,如何从不同的步骤页面获取响应作为参数?在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
141 浏览

python - 使用 --alluredir 执行测试并在功能中使用示例时 allure-pytest-bdd 中的 KeyError

我正在使用 pytest-6.2.4 通过插件 allure-pytest-bdd-2.8.36、bdd-4.0.2 进行测试自动化。Python 版本是 3.6.9。

使用标志 --alluredir=reports 运行 pytest 时发生 KeyError。测试包含带有示例的功能:

据我所知,控制台输出显示错误发生在格式化过程中:

示例类型已通过 example_converters 在 python 脚本中显式声明,如下所示:

我试图用 ''、'%' 符号转义大括号,并使大括号加倍。那一切都是徒劳的。请帮我解决这个问题。我已经没有想法了。

唯一使测试通过的事情是从示例中完全删除大括号。但这个可疑的步骤似乎不是答案。最重要的是,这种行为是不一致的,bcs 在另一个测试中的相同构造没有引发任何错误。

非常感谢任何帮助。

0 投票
0 回答
23 浏览

pytest-bdd - pytest-bdd 功能文件可以使用来自不同步骤实现文件的步骤吗?

common.feature 是否可以使用 test_usermanagment.py 和 test_v2api.py 中定义的步骤?即,希望能够在步骤级别共享,以便每个场景可以自由选择每次测试所需的步骤。