2013-02-13 11 views
6

HtmlUnit'te yeniyim ve giriş yapmayla ilgili bir sorun yaşıyorum. Aşağıdaki kodiçin mükemmel çalışıyor ancak HtmlUnitDriver için başarısız oluyor. Sorun, "Giriş" bağlantısına tıklandığında javascript yürütülmemesidir; html görüntüleme içinHtmlUnit sürücüsü JavaScript'i çalıştırmaz.

sitesi 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")); 

StackTrace:

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: [email protected] 

    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) 
+0

Bu iletinin günlüğünde, bir şeye işaret edebilir ... UYARI: Karşılaşılan eski içerik türü: 'text/javascript'. emin değil. –

+0

Uyarıların göz ardı edilebileceğini düşünüyorum; HtmlUnit, içerik türünü beğenmediyse bile başa çıkıyor gibi görünüyor. Asıl konu, _headerFrame_ çerçevesini bulamadığı istisnadır. –

+1

@ user1991529: Oturum açma düğmesi tarafından tetiklenmesi gereken javascript ile özel bir sorun mu var? Yoksa sitede herhangi bir javascript için başarısız mı? –

cevap

-1

Sınıfınız HtmlUnitDriver, standart Selenyum paketinin bir parçası değildir değil mi? Bildiğim kadarıyla, HtmlUnit için, DesiredCapabilities.HtmlUnit() veya DesiredCapabilities.HtmlUnitWithJavaScript() ile bir RemoteWebDriver örneği oluşturmanız gerekir.

HtmlUnitDriver sınıfınızın içine bakabilir misiniz? DesiredCapabilities.HtmlUnitWithJavaScript() yerine DesiredCapabilities.HtmlUnit() olabilir !?