验证选定的下拉列表值

时间:2017-06-10 11:39:15

标签: java selenium

我正在使用Java在Selenium中开发测试自动化,其中表单字段值是从自动建议下拉列表中选择的。如何验证我的选择字段是否有值或为空。 我发现解决方法是

if(elementLocator.getAttribute("value").isEmpty(){   
    System.out.println("Field is empty");   
}

由于没有名为“value”的属性,上述代码无效。 我粘贴在我的代码下面,如果选择了值,则会显示attribute area-selected="true"

<div class="Select-control">  

<span id="react-select-22--value" class="Select-multi-value-wrapper">

<div class="Select-value">

<span id="react-select-22--value-item" class="Select-value-label" role="option" aria-selected="true">India</span>
</div>    

2 个答案:

答案 0 :(得分:0)

我知道如何解决这个问题。

我使用了trycatch阻止,这在其他解决方案isDiplayed()isEmpty()size()>0都无效的情况下帮助了我。

下面是解决方案,根据该解决方案,找到包含try块的元素,如果存在,请执行操作,否则会在catch块中抛出错误。即使元素动态出现在应用程序中,此解决方案也很有用。

try{
    String Gender=findElement(By.xpath("yourElementPath")).getText();
    System.out.println("Input field has value = "+Gender);
}
catch(Exception e){
    Log.error("Input field 'Gender' is empty");
}

答案 1 :(得分:-1)

如果有一些下拉,下面的代码可以给你一些想法。

WebElement month_dropdown=driver.findElement(By.id("month"));
Select month=new Select(month_dropdown);
WebElement first_value=month.getFirstSelectedOption();
String value=first_value.getText()

希望这会有所帮助。感谢。