1

私の Web サイトでは、ユーザーがシステムにログインする必要があります。ユーザー名とパスワードを入力してからログインボタンをクリックすると、メインログインウィンドウが新しいブラウザウィンドウを開き、そこにホームページを表示します。これは手動で行うとまったく問題なく動作しますが、Webdriver/Java を使用して同様のスクリプトを実行しようとすると、認証が失敗するだけでなく、Webdriver が 1 つではなく 2 つのブラウザー ポップアップ ウィンドウを開きます。ここで私が間違っているのは何ですか?以下のコードを共有しました。

Windows 8およびIE 10でEclipse IDEを使用してinternetexplorerdriverを使用しています。

パブリック クラス アプリケーション {

public static void main(String[] args) {

    WebDriver driver = new InternetExplorerDriver();

    driver.get("http://cmdlhrstg04/QAWorkSpace/datlogin.asp");
    driver.findElement(By.id("vchLogin_Name")).sendKeys("xyz");
    driver.findElement(By.id("vchPassword")).sendKeys("xx");
    driver.findElement(By.id("LoginImg")).click();


}

}

4

1 に答える 1

0

別のウィンドウが開いているため、新しいドライバー ウィンドウでイベントを処理する必要があります。

//Store the current window handle
        String winHandleBefore = driver.getWindowHandle();

        //Perform the click operation that opens new window
             driver.findElement(By.id("LoginImg")).click();

        //Switch to new window opened
        for(String winHandle : driver.getWindowHandles()){
            driver.switchTo().window(winHandle);
        }

        // Perform the actions on new window
      Do your homepage actions 
            //Close the new window, if that window no more required
    driver.close();

        //Switch back to original browser (first window)

        driver.switchTo().window(winHandleBefore);


        //continue with original browser (first window) 
        }
于 2013-04-25T13:41:12.090 に答える