如何使用JAVA基于Text - Selenium WebDriver断言元素

时间:2015-12-08 10:50:08

标签: java html selenium-webdriver

我正在研究selenium webdriver,我想出了一个特定的场景。 有一个下拉列表,用户选择其中一个值(文本)。选定的值(文本)现在显示在下拉字段中。

我想知道如何从该元素(div)中提取文本,然后使用所选值(文本)断言。

元素的HTML是:

<div class="kac-entry kac-select kac-display ng-binding" ng-click="toggleDropdown()" ng-hide="shouldShowPlaceholder()" ng-class="{btn: btnStyle, 'btn-primary': btnStyle}" style="">      ^NYA (NYSE COMPOSITE INDEX (NEW METHOD))   </div>

上述元素的xpath是:

//price-trigger[@class='ng-isolate-scope']/div/div[2]/div[1]/div[1]/k-select/div/div[1]

HTML元素中的文本是^ NYA(纽约证券交易所综合指数(新方法))。我想获得这个标题并检查这是否是用户实际选择的选项(值)。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

将WebElement包装到Select Object中,如下所示

Select select = new Select(driver.findElement(By.id("groupSelect")));

如果你想通过xpath选择

By.xpath("//price-trigger[@class='ng-isolate-scope']/div/div[2]/div[1]/div[1]/k-select/div/div[1]")

Assert.assertEquals("Please select any option...", select);

语法:

String selectedOption = new Select(driver.findElement(By.xpath("Type the xpath of the drop-down element"))).getFirstSelectedOption().getText();

Assert.assertEquals("Please select any option...", selectedOption);

详细介绍如何从下拉列表中选择值

<html>
<body>
<select id = "designation">
<option value = "MD">MD</option>
<option value = "prog"> Programmer </option>
<option value = "CEO"> CEO </option>
</option>
</select>
<body>
</html>

现在确定下拉列表

Select dropdown = new Select(driver.findElement(By.id("designation")));

要选择其选项,请说“程序员”,您可以

dropdown.selectByVisibleText("Programmer ");

dropdown.selectByIndex(1);

dropdown.selectByValue("prog");