0

我是 selenium 的新手,很长一段时间以来,我一直在通过从另一个下拉列表中选择项目来动态绑定的下拉列表中找到一个项目。我的示例代码后跟:

selenium.Open(".../Default.aspx");

selenium.WindowMaximize();

selenium.Click("name=ddCountry");

selenium.Click("//div[@id='ddCountry_DropDown']/div/ul/li[1]");

str = selenium.GetText("//div[@id='ddCountry_DropDown']/div/ul/li[1]");

selenium.Type("name=ddCountry", strValue);

selenium.Click("name=ddCity");

selenium.Click("//div[@id='ddCity_DropDown']/div/ul/li[1]");

str = selenium.GetText("//div[@id='ddCity_DropDown']/div/ul/li[1]");

selenium.Click("id=btnRedirect");

selenium.WaitForPageToLoad("30000");

在上面的代码中,我试图在国家下拉列表中选择一个项目后做类似的事情。在 selectionchange 事件触发时,很少有项目绑定到城市下拉菜单。我的问题是“ selenium.Click("//div[@id='ddCity_DropDown']/div/ul/li[1]"); ”当此代码执行时我收到类似“Element //div[@id= 'ddCity_DropDown']/div/ul/li[1] 未找到”。请提前提供此问题的解决方案,谢谢。

问候,文卡特

4

1 回答 1

0

这是因为城市下拉是一个国家下拉的结合。您需要在国家下拉列表后添加一些有意的等待,以使城市下拉列表出现。

您可以在数据库代码之后的第一个测试用例中在 Java 中引发一些等待,如下所示:

long end3 = System.currentTimeMillis() + 6000;

    while(System.currentTimeMillis()<end3)
    {
        // Do nothing here Just time pass.  
    } 

这将确保 Java 代码等待 6000 毫秒

于 2012-04-21T00:42:49.837 回答