Java 在Cucumber表中使用元素定位器
我有一个登录测试,使用cucumber中的表运行正面和负面场景 场景大纲:登录Java 在Cucumber表中使用元素定位器,java,selenium,cucumber,gherkin,Java,Selenium,Cucumber,Gherkin,我有一个登录测试,使用cucumber中的表运行正面和负面场景 场景大纲:登录 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>" Example
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.|
给定用户导航到字段
用户输入一个“”用户名
用户输入“”密码
当用户单击登录按钮时
然后,用户应看到“”
示例:
|用户名|密码|消息|
|名称| pwd |注销|
|名称1 | pwd1 |您的登录名或密码不正确|
我现在用“消息”断言它
我的问题是:是否可以使用xpath或其他元素定位器进行断言?这是一种推荐的方法还是应该为每种情况创建不同的场景?是否可以使用xpath或其他元素定位器进行断言 是的,这是可能的 您可以这样断言:
String successMsg = driver.findElement(By.xpath("some xpath")).getText();
而且您已经预期了msg(意味着您已经知道应该预期的内容)
现在你要做的就是比较这两个字符串
在testng中,类似于:
Assert.assertEquals(预期为successsg)
将完成此工作
参考:
是否可以使用xpath或其他元素定位器进行断言 是的,这是可能的 您可以这样断言:
String successMsg = driver.findElement(By.xpath("some xpath")).getText();
而且您已经预期了msg(意味着您已经知道应该预期的内容)
现在你要做的就是比较这两个字符串
在testng中,类似于:
Assert.assertEquals(预期为successsg)
将完成此工作
参考:
不要在一个场景中合并有效或无效案例。在几乎所有情况下,都会有不同的页面流。你将需要处理它与如果条件考虑到这一点。将它们分开,避免复杂性
将它们分开的另一个优点是,如果您只想运行有效的案例。只需在该场景上添加一个标记,并在运行程序中提及它。不要在一个场景中组合有效或无效的案例。在几乎所有情况下,都会有不同的页面流。你将需要处理它与如果条件考虑到这一点。将它们分开,避免复杂性 将它们分开的另一个优点是,如果您只想运行有效的案例。只需在该场景上贴上标签,并在跑步者中提及即可