问题标签 [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 投票
2 回答
635 浏览

python - 使用 tmp_path 夹具创建后路径不存在

编辑:这是一个便于测试的 git repo:

https://gitlab.com/qualisign/ugit-bdd/

我想将一些重复的代码从 step_def 文件重构为conftest.py文件。这是 step_def 的样子:

这是conftest.py

当我运行测试时,似乎临时目录在步骤之间没有保持打开状态:

有没有办法让这个临时目录保持打开状态,以便在文件中的固定装置之间重用conftest.py,最终在 step_def 文件中重用?

0 投票
1 回答
473 浏览

python - Pytest Bdd 从 Gherkin 给定条件获取表值

我曾尝试将 Pytest bdd 用于上述 senario 大纲。我想问的是如何用于给定的表?

??

如何获取我感到困惑的数据集、开始日期、结束日期表值?

0 投票
1 回答
37 浏览

python - 测试失败,因为烧瓶正在返回 json 插入的流

我是我的烧瓶应用程序,我有一个路由/控制器来创建我称之为实体的东西:

创建实体后,将打印以下内容:

我为此控制器编写了以下测试:

测试客户端定义conftest.py如下:

我的测试失败并出现以下错误:

显然create_entity不是返回一个简单的对象,而是一个流式响应:

如果控制器返回 json,我不明白为什么这不会返回简单的 json?

0 投票
2 回答
66 浏览

pytest-bdd - 无法在 Pytest-bdd 中利用特征文件 1 到另一个特征文件 2 的步骤

我在功能文件夹中有两个功能文件

功能
login.feature
仪表板.feature

#功能1

功能:测试新页面

场景:我想测试登录屏幕
给定用户在主页
然后点击登录按钮

#feature2
@login
场景:我想测试仪表板屏幕
给定用户在仪表板页面
然后单击登录按钮

我在 2 个单独的 step_defs 中维护了代码

stepdefs
test_homepage.py
test_loginpage.py

我可以在功能 #2 中重用功能 #1 的步骤吗

0 投票
2 回答
427 浏览

automation - 如何将功能文件链接到 Python BDD 中的多个步骤定义文件


我正在使用基于 pytest-bdd 的框架开发自动化框架。基于功能,我有多个功能文件和多个步骤定义文件。某些场景从其他步骤定义文件中获取步骤。
例如,我有一个登录模块、用户详细信息模块。现在要验证用户模块中的步骤,我必须从登录模块中的步骤开始。
但是在 python bdd 中,我可以看到功能和步骤定义文件的一对一映射。请让我知道这是否是 pytest bdd 框架的限制。
0 投票
0 回答
216 浏览

pytest - Pytest BDD:尝试使用场景装饰器时“TypeError:'NoneType'对象不可调用”

我有许多具有相同功能文件格式的测试,但传递不同的参数并断言不同的 json 响应,所以我想scenariosscenario. 我尝试使用的装饰器是:

@scenarios("../../features/errors.feature")

当我尝试使用时,scenarios我收到以下错误,我无法真正找出问题所在:

如果我使用scenario装饰器并为功能文件中的每个场景提供一个带有 pass 的存根方法,那么这可以正常工作,但现在我有很多本质上冗余的函数来声明场景。

例如:

使用scenario装饰器时,所有装置都可以正常工作并且测试全部通过,我认为从阅读文档中我需要做的就是使用scenarios装饰器来代替它。

它所在的行始终是它尝试调用的第一个函数的声明。

0 投票
1 回答
259 浏览

python - 是否可以将 pytest-bdd 与 SeleniumBase 一起使用?

这就是我编写 SeleniumBase/pytest-bdd 测试的方式:

ddg.feature

test_ddg.py

但是,这是行不通的。场景()函数看不到whenthen描述符。

如果可能的话,知道如何进行这项工作吗?

0 投票
2 回答
43 浏览

python-3.x - Pytest bdd,功能不再被识别

我有一个奇怪的案例。我无法再运行我的 pytest,因为他没有找到这些功能(顺便说一句,谁在那里)。

这是错误消息和文件存在的证明。

谢谢 在此处输入图像描述

0 投票
1 回答
107 浏览

python-3.x - 找不到步骤实现 pytest-bdd

我一直在使用 pytest 和 pytest-bdd v3.4 来运行 UI 测试。由于某种原因,出现以下错误。pytest_bdd.exceptions.StepDefinitionNotFoundError:未找到步骤定义。

该功能已实现,但 pytest 无法找到它。我一直在阅读可能的解释是由于 pytest-bdd 版本 4,我已将其降级为 3.4,但问题仍然存在。

test_login.py

登录功能

登录场景仍然存在问题:找不到步骤定义:当“El usuario ingresa el nuevo user

0 投票
1 回答
93 浏览

testing - Pytest BDD - 选择存根或实时 API 调用

我正在开发一些行为驱动开发,即使用 pytest-bdd 的样式测试。我们希望重用相同的功能和或多或少相同的步骤定义来对第三方 API 进行存根和实时调用,即我们希望重用测试代码进行集成和端到端测试。

我想知道是否有关于如何在 pytest_bdd 或 pytest 中处理模拟和真实调用之间交替的约定

这个问题类似:Running pytest tests against multiple backends? 答案是添加一个解析器选项,并pytest_addoption在顶层放置一个钩子conftest.py