2017-10-09 82 views
0

AutoIt腳本後完成登錄我透過窗戶驗證自己的硒停止工作,不執行對瀏覽器(Firefox)硒UnhandledalertException在Firefox不執行的webdriver類

系統

版本的任何命令:19.0 平臺:視窗7 火狐:56.0(64位) 硒:3.6.0 測試用例

我想我的網頁的標題,但unbale打印它作爲瀏覽器不讀任何.driver類

public static void main(String[] args) throws IOException { 
    System.setProperty("webdriver.gecko.driver", "C:/Users/aamir.fatimi/Downloads/geckodriver-v0.19.0-win64/geckodriver.exe"); 

WebDriver driver = new FirefoxDriver(); 
driver.get("http://dbu-export-09/en/Pages/default.aspx"); 
Runtime.getRuntime().exec("C:\\Users\\aamir.fatimi\\Desktop\\AutoIT\\Autoit.exe"); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
String get_Title = driver.getTitle(); 

System.out.println("Title is" + get_Title); 
driver.quit(); 
+0

是否有任何異常顯示或只是掛起? –

+0

嘗試使用Thread.sleep()函數或嘗試調試模式。 –

+0

@AlexeyR。我提到堆棧跟蹤沒有被絞死,只是在認證後打開我的網頁,然後不執行任何命令 –

回答

-1

編輯:

您可以嘗試等待警報是在這樣缺席:

(new WebDriverWait(driver, 10)) 
    .until(ExpectedConditions.not(ExpectedConditions.alertIsPresent())); 

之後你的AutoIt腳本的執行,以確保webdriver的GET的冠軍時, Autoit實際上完成了。再次

//Snippet from answer of smit9234 - not tested 
try { 
    Alert alert = driver.switchTo().alert(); 
    alert.sendKeys(username + Keys.TAB.toString() + password); 
    alert.accept(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

,右後(或者甚至可能相反,如果腳本應該關閉警告和: 假設當然你AutoIt腳本不會留下任何警報掛,在這種情況下,你可以簡單地嘗試只是工作不正確/不一致)腳本。或修改的AutoIt關閉警報,並與選項1

+1

如果沒有提供這個信息,你怎麼知道警報是windows警報?在這種情況下,我的建議是如何關閉Autoit的警報不起作用?請重新考慮你的失望。 – Kudin

+0

對不起,但是這與什麼有關?你看過我的回覆嗎? – Kudin

+0

Kudin,編輯你的答案,我會upvote你。你的回答是正確的。 – smit9234

-1

擴大對Kudin的答案上面去:

  1. 取出AutoIt腳本
  2. 添加以下代替它
try { 
    Alert alert = driver.switchTo().alert(); 
    alert.sendKeys(yourusername + Keys.TAB.toString()+yourpassword); 
    alert.accept(); 
} catch (Exception e) { 
    e.printStackTrace(); 
}