2012-03-08 13 views
0

次のテストは、javaとselenium-server-standalone-2.20.0.jarを使用して自動化されています。Webdriver:Internet explorer7でエラーが発生し、モーダルダイアログが表示されます。

エラーでテストクラッシュ:

Page title is: cheese! - Google Search 
Starting browserTest 
2922 [main] INFO org.apache.http.impl.client.DefaultHttpClient - I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond 
2922 [main] INFO org.apache.http.impl.client.DefaultHttpClient - Retrying request 
Exception in thread "main" org.openqa.selenium.UnhandledAlertException: Modal dialog present (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.20 seconds 
Build info: version: '2.20.0', revision: '16008', time: '2012-02-27 19:03:04' 
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_24' 
Driver info: driver.version: InternetExplorerDriver 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:170) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:129) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:438) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:139) 
    at org.openqa.selenium.ie.InternetExplorerDriver.setup(InternetExplorerDriver.java:91) 
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:48) 
    at com.pwc.test.java.InternetExplorer7.browserTest(InternetExplorer7.java:34) 
    at com.pwc.test.java.InternetExplorer7.main(InternetExplorer7.java:27) 

テストクラス:

package com.pwc.test.java; 

    import org.openqa.selenium.By; 
    import org.openqa.selenium.WebDriver; 
    import org.openqa.selenium.WebDriverBackedSelenium; 
    import org.openqa.selenium.WebElement; 
    import org.openqa.selenium.htmlunit.HtmlUnitDriver; 
    import org.openqa.selenium.ie.InternetExplorerDriver; 

    import com.thoughtworks.selenium.Selenium; 

    public class InternetExplorer7 { 
    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    WebDriver webDriver = new HtmlUnitDriver(); 
    webDriver.get("http://www.google.com"); 
    WebElement webElement = webDriver.findElement(By.name("q")); 
    webElement.sendKeys("cheese!"); 
    webElement.submit(); 
    System.out.println("Page title is: "+webDriver.getTitle()); 
    browserTest(); 
} 
    public static void browserTest() { 
    System.out.println("Starting browserTest"); 
    String baseURL = "http://www.mail.yahoo.com"; 
    WebDriver driver = new InternetExplorerDriver(); 
    driver.get(baseURL); 
    Selenium selenium = new WebDriverBackedSelenium(driver, baseURL); 
    selenium.windowMaximize(); 
    WebElement username = driver.findElement(By.id("username")); 
    WebElement password = driver.findElement(By.id("passwd")); 
    WebElement signInButton = driver.findElement(By.id(".save")); 
    username.sendKeys("myusername"); 
    password.sendKeys("magic"); 
    signInButton.click(); 
    driver.close(); 
    } 
    } 

私は手動でIE7/8、ブラウザを立ち上げたとき、私は任意のモーダルダイアログが表示されません。これを引き起こす原因は何ですか?

答えて

0

この例外が発生した場合は、webDriverのスクリーンショットを使用してモーダルダイアログを表示することができます。

+0

どうすればよいですか?このテストを実行するとモーダルダイアログは表示されません... – user1207450

+0

http://stackoverflow.com/questions/3422262/take-a-screenshot-with-selenium-webdriverこの投稿はスクリーンショットを撮る方法を説明しています。アラートやjsエラーが発生していませんか? –

0

Firefoxでも同じ例外が発生していました。 Firefoxで「サイトのパスワードを保存する」オプションが有効になっているため、ユーザー名とパスワードのフィールドが自動完成していることがわかりました。したがって、内容を消去して入力しても録音中は、入力されたデータは記録されません。私はオプションを無効にし、テストケースを再記録しました。今、それは正常に動作します。

希望します。

関連する問題