我有一个包含6个值的下拉列表。
实际情况是,如果您从下拉列表中选择任何值,则所选值将显示在下一页
中例如:我从下拉列表中选择了孟买市,然后在下一页选择孟买市时将显示为文本。
我想验证所选值是否正确显示在下一页上。
答案 0 :(得分:0)
点击选项
Select select = new Select(driver.findElement(By.xpath("//path_to_drop_down")));
select.deselectAll();
select.selectByVisibleText("Value1");
还有更多方法,您可以选择如何定位元素。我建议给每个人命名,按姓名查找元素
断言存在 -
使用类似
的内容public boolean verifyTextInField(String expectedValue, By by) {
try {
assertEquals(expectedValue,
driver.findElement(by).getAttribute("value"));
System.out.println("Values are equal");
return true;
} catch (Error e) {
verificationErrors.append(e.toString());
System.out.println("Values are unequal");
return false;
}
}
答案 1 :(得分:0)
对于下拉列表中的选择元素,您可以使用js executor:
String cssLocator=....
JavascriptExecutor js = (JavascriptExecutor) driver;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("var x = $(\'"+cssLocator+"\');");
stringBuilder.append("x.click();");
js.executeScript(stringBuilder.toString());
然后切换到下拉列表并获取值:
String dropdownValue=driver.findElement(By.xpath("..."))).getText().trim();
//类似的东西
然后你可以切换到下一页的文字标签
String labelValue= driver.findElement(By.xpath("..."))).getText().trim();
并比较两个叮咬:dropdownValue和labelValue
希望这有助于你