在下拉列表中选择值并在页面上验证

时间:2012-08-31 11:39:12

标签: selenium selenium-rc

我有一个包含6个值的下拉列表。

实际情况是,如果您从下拉列表中选择任何值,则所选值将显示在下一页

例如:我从下拉列表中选择了孟买市,然后在下一页选择孟买市时将显示为文本。

我想验证所选值是否正确显示在下一页上。

2 个答案:

答案 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

希望这有助于你