我有一个包含一些数据的表:
| _ 名称 _ | 的 ___ 电子邮件的 _ __ _ _ |
|网站| website@test.com |
点击名称网站后,会显示网站的设置页面。在顶部,有一个带有“网站”名称的标题。
我需要JUnit的解决方案来验证在点击表格中的“网站”名称之后,用户被重定向到“网站”设置页面。
我尝试了以下方式,但没有帮助:
String firstNameInTheTable = driver.findElement(By.xpath(TestPage.FIRST_NAME_IN_THE_TABLE)).getText();
driver.findElement(By.xpath(TestPage.FIRST_NAME_IN_THE_TABLE)).click();
assertEquals(firstNameInTheTable, WebsitePage.WEBSITE_TITLE_TEXT);
实际上最好验证第一列中的文本(在我们的例子中为“name”)与设置页面上的文本相同。因此,我们可能没有网站文字而是另一个名称。测试仍然应该通过。
答案 0 :(得分:1)
1.选择并获取网站名称。
WebElement element = driver.findElement(By.xpath("//xpath"))
String name = element.getText();
element.click();
2.等待加载,选择标题和assertEquals。
sleep(3);
String title = driver.findElement(By.xpath("//xpath")).getText();
Assert.assertTrue(name.equals(title));
/!\如果第二步是打开一个新窗口,请查看教程here(放在sleep(3);
和String title ...
之间。
其他:
睡眠方法
protected void sleep(int i) {
driver.manage().timeouts().implicitlyWait(i, TimeUnit.SECONDS);
}
答案 1 :(得分:0)
这是一个例子,您可以参考它并相应地创建您的TC
WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.co.in/");
String linkTitle = driver.findElement(By.xpath("//a[@href='/intl/en/about.html']")).getText();
driver.findElement(By.xpath("//a[@href='/intl/en/about.html']")).click();
System.out.println(driver.findElement(By.xpath("//div[@id='corp-crumb']/ol/li")).getText());
Assert.assertTrue(linkTitle.equals(driver.findElement(By.xpath("//div[@id='corp-crumb']/ol/li")).getText()));