如何在Gherkin中实现'if'

Aka*_*van 2 cucumber gherkin

我正在尝试将Selenium测试转换为Gherkin.有没有办法在Gherkin中实现if语句?

示例:假设代码以下面的格式编写.我只是写下面的描述.双斜杠后的部分是实际的Selenium代码:

// launch the application 
// login to application
// navigate to page
String str;
if(str== "XYZ")
{
    // verify title
}
//verify text field 1
//verify test field 2
//verify select box
Run Code Online (Sandbox Code Playgroud)

为此,我试图在Gherkin中编写代码如下

Given user launches the application
When user login with valid credentials
and navigate to required page
When String str is "XYZ"
Then verify title
And verify text field 1
And verify test field 2
And verify select box
Run Code Online (Sandbox Code Playgroud)

但是这段代码是不正确的,因为如果str不等于"XYZ",我们希望不应该验证该标题,但是应该验证其他验证,例如text field1,2和select box.

Tho*_*erg 6

你没有在Gherkin中实现.

Gherkin是关于沟通和你想与之沟通的人,非编码员,不知道if语句是什么.他们也不在乎.

解决方案?两种情况都涵盖了这两种情况.


Dan*_*riu 1

您可以编写这样的场景:

Given the user launches the application
When user login with valid credentials
And navigates to required page
Then he should see the page datails
Run Code Online (Sandbox Code Playgroud)

在该Then步骤中,您管理所有逻辑。

Then(/^he should see the page details$/) do
  if condition
    ...
  else
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)