我使用cucumber框架进行测试。我有三个@then条件,如果第一个@then条件失败,它不会进入第二个@then条件。我该如何克服?
@Then("^I check first result$")
public void verifyFirstResult() {
Assert.assertEquals(results.get("first"), true); --> This gets failed as its returning false.
}
@Then("^I check second result$")
public void verifySecondResult() {
Assert.assertEquals(results.get("second"), true); --> This is not even triggering, the execution stops at the first method itself
}
@Then("^I check third result$")
public void verifyThirdResult() {
Assert.assertEquals(results.get("third"), true);
}
我怎样才能克服这个问题?
你能把这个问题弄清楚吗?1) 您是否试图同时检查这三个条件,以便在其中任何一个(无论哪一个)失败时测试将失败?2) 或者,您是否有兴趣知道在发生错误时哪个特定条件失败?
正如所写的步骤,你无法克服这个问题。这就是cucumber的工作原理。如果某个步骤失败,将跳过所有后续步骤,直到场景结束。
如果要在一个步骤中检查多个条件,则可以创建一个检查多个条件的“复合”步骤,这将导致这一步骤失败。这通常通过数据表完成:
Then the results should be:
| Field | Value |
| First | true |
| Second | true |
| Third | true |
参考资料:
https://cucumber.io/docs/gherkin/reference/#data-表格
我有一个cucumber框架,数据按预期发送,但结果没有被正确读取。我怀疑是因为答案没有出现在计算器的文本框中: org.junit.比较失败:预期:3实际:0 功能文件功能:谷歌计算器应该计算正确的计算 场景概述:添加数字鉴于我在谷歌计算器页面上,当我将数字“”添加到数字“”时,我应该会得到一个答案“” 场景大纲:减去数字给定我在谷歌计算器页面当我减去数字“”到数字“”然后我应该得到“”的答案
我正在尝试使用cucumber标签实现并行执行。我在下面附加了我的功能文件,而不是使用多个功能文件,我正在尝试使用cucumber标签实现我的场景的并行执行 我知道我们可以使用特性文件来实现并行执行,但我希望使用cucumber标记来并行执行基于区域设置的标记。每个标签都与现有客户进行了相关测试。 注意:我使用的是serenity BDD 示例功能(sample.feature
我通过创建固定数量的线程来使用执行器服务来进行HTTP GET数据检索。 当Tomcat停止时,我们会出现以下错误: 严重:web应用程序[/viewer]似乎已启动名为[ThreadExecutor_51616156]的线程,但未能停止该线程。这很可能会造成内存泄漏。 这是真的吗?在没有这些服务错误的情况下,如何正确停止tomcat。
我有一个maven项目,一个独立的JPA工具。 这个主项目依赖于另一个包含所有实体类的maven项目。 但是,JPA似乎不会自动找到我的实体。我的日食项目 我的坚持.xml: 它位于目标/类/META-INF中。 使用实体时的错误是:
我有一个在手表上运行的应用程序,如果有来电,它会在操作系统的来电屏幕上显示一个半透明的覆盖活动。 95%的时间这很好,但其余5%的时间我的活动在来电时看不到。区别在于,当它不起作用时,我的活动的onPause()和onStop()会在其onCreate()之后立即调用,即。 成功显示时记录: 不显示时记录: 查看它如何直接从onResume()跳到onPause()。我对它这样做的猜测是,这可能是
问题内容: 我使用以下代码在Python中启动并关闭 在脚本结束执行后,我仍然在Mac活动监视器中找到的实例。实际上,每次我运行脚本时,都会创建一个新进程。 我应该如何关闭驱动程序? 问题答案: 不保证该方法释放与驱动程序实例关联的所有资源。请注意,这些资源包括但不限于驱动程序可执行文件(在这种情况下为PhantomJS)。该方法旨在释放驱动程序的所有资源,包括退出可执行进程。