0

私はセレンを初めて使用します。別のドロップダウンからアイテムを選択することで動的にバインドされたドロップダウンリストでアイテムを見つけることに長い間悩まされていました。私のサンプルコードの後に​​は:

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 に答える