我正在使用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>
答案 0 :(得分:0)
我知道如何解决这个问题。
我使用了try
和catch
阻止,这在其他解决方案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()
希望这会有所帮助。感谢。