0

我正在使用 selenium 来测试一个 android web 应用程序。我的测试最初运行良好,但在特定点挂起。它选择网页上的第一个文本字段并在放大模式下写入值,但此时它挂起并且不选择第二个文本字段。我哪里错了?

我的代码如下:

公共无效 testRegister() 抛出异常 {

            driver.get("file:///android_asset/www/aboutus.html");
    driver.findElement(By.xpath("html/body/div/div/ul/li[2]")).click();
    List<WebElement> w1=driver.findElements(By.tagName("input"));
    System.out.println(w1.size());
    for(int i=0;i<w1.size();i++)
    {
    System.out.println("************");
          System.out.println(i + w1.get(i).getAttribute("id") +"*****" + w1.get(i).getAttribute("name"));

    }

    for(WebElement option:w1)
    {
          String str=option.getAttribute("id");

          if(str.equals("name"))
          {
                 option.click();
                 option.sendKeys("Vaishali");
          }

          else if(str.equals("dateofbirth"))
          {
                 option.click();
                 option.sendKeys("28-09-1991");
          }

          else if(str.equals("club"))
          {
                 option.click();
                 option.sendKeys("Manchester United");
          }

          else if(str.equals("username"))
          {
                 option.click();
                 option.sendKeys("vishchan");
          }
          else if(str.equals("password"))
          {
                 option.click();
                 option.sendKeys("vishchan");
          }
          else if(str.equals("sendbutton"))
          {
                 option.click();

          }

}
4

1 回答 1

2
  1. id 可以是 '' 并且它会返回空值
  2. 在元素列表中可以隐藏具有相同 ID 的元素,更多原因请发布堆栈跟踪。最好的问候塔拉斯
于 2012-11-07T10:25:39.580 回答