6

私は HtmlUnit を初めて使用し、ログインに問題があります。以下のコードは では問題なく動作しFireFoxDriverますが、 では失敗しHtmlUnitDriverます。問題はjavascript、「ログイン」リンクをクリックしているときに実行されないことです。

HTML閲覧用サイトURL:https ://fleetworks.trimbletl.com/fleet/start.do

HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME_16);
driver.setJavascriptEnabled(true);
WebDriverWait wait = new WebDriverWait(driver, 10);

driver.get(fleetWorkURL);

WebElement usernameElement = driver.findElement(By.name("j_username"));
usernameElement.sendKeys(username);

WebElement passwordElement = driver.findElement(By.name("j_password"));
passwordElement.sendKeys(password);

WebElement loginButtonElement = driver.findElement(By.linkText("Log in"));
loginButtonElement.click();

wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("headerFrame"));

スタックトレース:

    13, 2013 2:47:54 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
    WARNING: Obsolete content type encountered: 'text/javascript'.
    13, 2013 2:47:54 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
    WARNING: Obsolete content type encountered: 'text/javascript'.
    13, 2013 2:47:55 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
    WARNING: Obsolete content type encountered: 'text/javascript'.
   2013 2:47:56 PM com.gargoylesoftware.htmlunit.WebClient loadDownloadedResponses
   INFO: No usage of download: com.gargoylesoftware.htmlunit.WebClient$LoadJob@1b55ca5

   Exception in thread "main" org.openqa.selenium.TimeoutException: Timed out after 10  seconds waiting for frame to be available: headerFrame
   Build info: version: '2.29.1', revision: 'dfb1306b85be4934d23c123122e06e602a15e446',  time: '2013-01-22 12:58:05'
   System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version:  '1.7.0_11'
    Driver info: driver.version: unknown
at org.openqa.selenium.support.ui.FluentWait.timeoutException(FluentWait.java:255)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:224)
at com.yukon.qasetup.xmlService.XMLService.main(XMLService.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
4

1 に答える 1

-1

あなたのクラス HtmlUnitDriver は、標準の Selenium パッケージの一部ではありませんか? 私の知る限り、HtmlUnit の場合は、DesiredCapabilities.HtmlUnit() または DesiredCapabilities.HtmlUnitWithJavaScript() を使用して RemoteWebDriver インスタンスを作成する必要があります。

HtmlUnitDriver クラスの中を見ることができますか? たぶん、DesiredCapabilities.HtmlUnitWithJavaScript() の代わりに DesiredCapabilities.HtmlUnit() が使用されています!?

于 2016-01-12T10:05:23.497 に答える