在Cucumber表中使用元素定位器

时间:2018-06-19 09:38:47

标签: java selenium cucumber gherkin

我有一个登录测试,我使用黄瓜表运行正面和负面场景。

场景概要:登录

Given User navigates to Field
And User enters a "<Username>" username
And User enters a "<Password>" password
When User clicks on the login button
Then User should see the "<message>"

Examples:
  | Username | Password  | message |
  | name  | pwd | Logout |
  | name1 | pwd1 | Your login name or password is incorrect.|

我现在使用“消息”断言它。

我的问题是:是否可以使用xpath或其他元素定位器断言?这是一种推荐的方式,还是应该为每种情况创建不同的方案?

2 个答案:

答案 0 :(得分:2)

是否可以使用xpath或其他元素定位器断言?

是的,这是可能的。

你可以这样断言:

String successMsg = driver.findElement(By.xpath("some xpath")).getText();

你已经预料到了msg(这意味着你已经知道应该是什么了)。

String expected = "your expected msg";  

现在你要做的就是比较这两个字符串。

testng 中,例如:

Assert.assertEquals(successMsg, expected)可以胜任。

参考:

Cucumber assertion

答案 1 :(得分:0)

请勿在一个方案中合并有效或无效的案例。几乎在所有情况下,都会有不同的页面流。如果条件考虑到这一点,您将需要处理它。将它们分开并避免复杂性。

将它们分开的另一个好处是,如果您只想运行有效的案例。只需在该场景上加上标记,然后在跑步者中提及。