我有一个场景,其中有一个文本框,当我在该文本框中键入内容时,它会自动填充。 我需要跟踪自动填充的值并验证它是否包含我在文本字段中输入的字符串。 有人可以帮我解决这个问题。 提前致谢
答案 0 :(得分:1)
尝试这样的事情
以下代码用于获取Google网站的自动填充结果。
driver.get("http://www.google.co.in");
driver.findElement(By.id("lst-ib")).sendKeys("Test");
List<WebElement> autoPopulatedList=driver.findElements(By.cssSelector("tr>td>span"));
for(WebElement ele:autoPopulatedList)
{
System.out.println(e.getText());
if(e.getText().equals("testng"))
{
System.out.println("Your case passed..!!");
}
}
答案 1 :(得分:0)
driver.get(URL); // URL = http://www.google.co.in;
driver.findElement(By.id(id_of_the_element)).sendKeys(value); //Value for the field
List autoPopulatedList=driver.findElements(auto_populate_element_path);
int autoPopulateSize = autoPopulatedList.length(); // Take the auto populate size to compare
int testedSize = 0; //initialize a variable for testing
for(WebElement element : autoPopulatedList){
if(element.getText().contains(value)) //Checking the autopopulated list with the value
{
testedSize++; // this will add 1 if the autopopulate contains the value
}
}
if(autoPopulateSize == testedSize){
System.out.println("Autopopulate contains the values");
}else{
System.out.println("Fail");
}
答案 2 :(得分:0)
只需发送文本扔掉Sendkey然后得到这样的字段值:
driver.findElement(By.id("field ID here")).sendkeys("ABC");
String strActualValue = driver.findElement(By.id("field ID here")).getAttribute("value");
System.out.println("Field value is = "+strActualValue +"");
它将打印您通过发送密钥发送的值以及在该字段中自动填充的值。
Result : ABC1234
ABC is your value 1234 is auto-populated value.
享受!