cucumber 相关问题

Cucumber是一种行为驱动开发(BDD)工具,它以纯文本(以简单的Gherkin语言结构)编写的功能描述作为自动化测试。

在 Eclipse IDE 中更改步骤定义、功能文件和 pom.xml 文件时,Cucumber 需要更多时间来构建

每当我在 Eclipse IDE 中更改步骤定义、功能文件和 pom.xml 文件时,cucumber 都会花费更多时间来构建。每次构建需要 5 分钟以上。 有人可以告诉我如何...

回答 1 投票 0

选择第一行中的第三个元素(webdriver.io 和 javascript)类型错误:tables.$ 不是函数错误

我正在使用 cucumber、webdriver.io 和 javascript,并且必须选择第一行中的第三个元素。表元素不断变化,但始终以“__table”开头,因此我合并了...

回答 1 投票 0

在水豚中找到隐藏元素

学习‘水豚’,遇到了通过水豚寻找隐藏元素的问题。 在 HTML 中,我们有一个默认为“display: none”的文件字段。 HTML 元素是: 学习“水豚”并遇到通过水豚找到隐藏元素的问题。 在 HTML 中,我们有一个默认为“display: none”的文件字段。 HTML 元素是: <input class="some_class" id="some_id" name="some_name" type="file"> 现在,当我使用黄瓜在水豚中编写测试用例时,我在水豚脚本中找不到这个元素。我的水豚脚本正在寻找这样的元素: find(:xpath, "//input[@name='some_name']") 阅读隐藏元素并了解该设置 Capybara.ignore_hidden_elements = false 应该可以解决我的问题。但我在其他地方读到上述设置是默认设置。因此,尝试了显式传递它的其他选项。喜欢: find(:xpath, "//input[@name='some_name']", :visible => false) 那也不起作用。还有什么我应该尝试的吗?如果有人感兴趣,我们很乐意分享更多细节。 可见选项有一些潜在价值 true 或 :visible => 仅查找可见元素 false 或 :all => 查找可见和不可见元素 :hidden => 只查找不可见元素 因此,如果您尝试 find(:xpath, "//input[@name='some_name']", :visible => false) 没有返回元素,则页面中没有与该 XPath 匹配的元素,您需要检查页面的内容是否是您认为的内容(page.html、page.html)。保存_屏幕截图等) 除此之外,您的示例还有一些问题。首先,您陷入了 XPath // 陷阱。如果(这应该是一个很大的如果)您将大量使用 XPath 查询来查找元素,请习惯于以 .// 开始查询,而不仅仅是 // - 如果不这样做,您就失败了Capybara 在页面上的所有范围(within、链式 find 等)。使用 CSS 选择器不会出现这个问题,因此对于大多数不使用 Capybara 内置选择器类型之一的查询来说更有意义。 find("input[name='some_name']", visible: false) 知道我们正在寻找文件输入,我们可以通过使用 Capybara 的内置 file_field 选择器并执行以下操作来做得更好 find(:file_field, 'some_name', visible: false) 它更容易阅读并准确解释您正在寻找的内容。接下来,由于您找到了一个文件字段,我假设您需要实际向其中添加一个文件。这可能会产生问题,因为通常无法与不可见元素进行交互。然而,由于文件字段经常被隐藏,为了允许样式设置,有一个选项可以帮助解决这个问题。 attach_file('some_name', file_path, make_visible: true) make_visible: true选项将临时更改元素CSS以使其可见(如果默认CSS在您的页面上不起作用,您可以将其设置为要设置的CSS值的散列,而不是true),附加文件到它,然后恢复 CSS 更改。 最后一点,如果您正在测试应用程序(如果只是进行自动化也可以),设置 Capybara.ignore_hidden_elements = false 是一个糟糕的主意,因为它会导致测试实际上并没有测试用户可以看到/执行的操作。 find_field('some[name]', type: :hidden) 其他一些选项可能在历史上有效,但这对我来说适用于水豚(3.39.2)。

回答 2 投票 0

如何在 Cucumber Selenium 的不同功能中使用相同的步骤?

在我的自动化中,我对不同的功能有相同的步骤。例如,当我检查用户是否登录时。 好像我不能在不同的类中定义相同的步骤,否则它会......

回答 1 投票 0

依赖注入在 Cucumber 中是如何工作的?

我一直在尝试将网络驱动程序注入到步骤中。我已经使用了这个说明并且效果很好。 这个想法是将 WebDriver 作为服务注入到步骤类中。在第一步,您需要...

回答 1 投票 0

Serenity 报告显示 0 个使用 JUnit 5 和 Cucumber 7 运行的测试

我正在尝试将 Java 测试项目从 JUnit 4 转换为 JUnit 5。我使用 Cucumber 7 来运行一些虚拟功能文件,并使用 Serenity 来生成精美的报告。 使用 JUnit 4 一切都可以...

回答 1 投票 0

Cucumber html 报告错误未以正确方式显示

我在测试用例失败后启动 Cucumber html 报告,但 html 报告中的错误消息未以正确的方式显示。 所以任何人都可以帮助我解决这个问题。 “脚本”:{ “测试”:&qu...

回答 1 投票 0

如何使用 Capybara 获取元素中的 HTML?

我正在编写一个黄瓜测试,我想在元素中获取 HTML。 例如: 在“表”内做 # 这有效 find('//tr[2]//td[7]').text.should == "这些是注释" #我想要

回答 11 投票 0


Cucumber [错误] 无法解析“node:perf_hooks”

我最近将 cypress 从 9 升级到 11,当我开始使用它时 npx 柏树 打开 运行测试时我没有遇到任何问题。 当我启动它时使用: npx 赛普拉斯运行 它返回给我以下错误...

回答 1 投票 0

behave 无法检测到environment.py 文件

大家好,我正在尝试开发行为框架来自动化一组 API。文件夹结构如下: environment.py 文件包含以下代码: 来自 features.configuration.api_resources 我...

回答 1 投票 0

隐藏未处理异常的所有控制台输出

我捕获所有异常并使用 loguru 记录器记录它们。然后我必须重新引发相同的异常以使该步骤失败并将信息发送到弹性。 从 loguru 导入记录器 @when('某个步骤...'...

回答 1 投票 0

如何测试 Cucumber 中的操作序列?

我看过多个 Cucumber 风格指南,建议在每个场景中使用“仅一个时间”。但是,如果测试需要一系列按时间顺序的步骤怎么办? 这是现实世界的前任...

回答 1 投票 0

使用cypress-cucumber-preprocessor时,如何使用标签来过滤规格和功能?

我有 Cypress 项目设置,这样我就可以一次性编写和运行 Spec 和 Cucumber 测试。 cypress run --spec“cypress/tests/gsac/specs/*.cy.js,cypress/tests/gsac/*.feature” 有效

回答 1 投票 0

尽管已定义,但使用 Examples 关键字时步骤定义仍保持“未定义”

我在我的功能文件中创建了以下场景: 场景概要:用户可以通过选择关联的链接导航到预期的 url 给定的应用程序配置用于测试 ...

回答 1 投票 0

执行黄瓜脚本时浏览器未打开,但脚本通过了

我创建了一个简单的功能,只需启动浏览器,但是,浏览器未启动并且脚本在控制台中显示通过。 特征文件 功能:Flipkart 主页 场景:测试 鉴于

回答 1 投票 0

如何从cypress中的BDD步骤定义文件中的fixture导入json文件

我在 cypress 中有以下文件夹结构。我试图在 BDD 步骤定义中调用对象存储库并测试数据 json 文件,但它不会选择文件。 我在 command.js 中有以下函数...

回答 1 投票 0


点击“重新计算步骤”时,Cucumber 功能文件无法找到粘合代码并抛出错误消息

我目前正在使用 Cucumber 框架创建一个测试套件。我已经为我必须测试的每个功能创建了功能文件。 特征文件从未显示出要满足的条件

回答 3 投票 0

如何将Excel文件转换为黄瓜数据表

嗨,我正在做一个 BDD Cucumber 项目。而不是在 Cucumber 功能文件中提供 DataTable 本身中的数据。我正在尝试传递 Excel 文件位置 我的 Cucumber 功能文件是...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.