java - 如何在 cucumber 与 Selenium 的步骤中进行断言

标签 java selenium-webdriver cucumber automated-tests cucumber-jvm

我有这样的场景

Scenario: Create draft OI Unilever-Fibra-2
Given User "analista.finance.ice.01@cashlink" and password "1" is logged
Then menu "OI / Criação Draft OI" should not be displayed

我有一个访问菜单的方法,如果我将步骤传递给这个方法,它会抛出一个异常,我如何使这个异常将我的步骤变为 TRUE

最佳答案

我可能会捕获预期的异常并返回 true。

这回答了你的问题。

我会考虑再次查看您的场景。它充满了有关实现的细节。

我可能会将这些详细信息移至该步骤。或者甚至可能是该步骤使用的辅助方法。将这些细节插入堆栈将使您能够重新表述您的场景,以便它讨论行为是什么,而不是它是如何实现的。通过这样做,您也许可以将其改写为实际业务用户可以涉及的内容。

Scenario: Create draft OI Unilever-Fibra-2
Given Rogger is not allowed to edit drafts
When he logs in
Then should the draft menu not be available

这样做的好处是业务人员可以更轻松地阅读并验证这是所需的行为。原始措辞较难阅读。

通过将详细信息压入堆栈,您可以将有关引发的异常的详细信息移至其所属的编程域中,并重点关注应用程序在功能中所需的行为。

关于java - 如何在 cucumber 与 Selenium 的步骤中进行断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34932346/

相关文章:

java - 所有的 servlet 容器都使用 jsessionid 来跟踪 session 吗?

java - 如何更改 Akka 应用程序的默认序列化程序?

java - Selenium RemoteWebDriver 设置首选区域设置

Python、Selenium、下载所有 MIME 类型

javascript - WebDriver/Java中如何点击子元素

java - hibernate 映射 - 无法在类中找到属性名称的 setter

java - 在 session Bean 调用的 java 类中获取自己的 IP 地址

ruby - 我怎样才能确定我刚刚在 Cucumber 的 AfterStep Hook 中执行了哪一步?

ruby - 如何将多个参数传递给 Cucumber 步骤?

cucumber - 钩子(Hook)之前的 cucumber 中的功能和场景大纲名称