2016-11-28 60 views
0

我正在編寫一個測試,用於在用戶打開文檔之前驗證是否向用戶發出警告。如果用戶說他們仍然希望打開文檔,則文檔將在外部應用程序(pdf或Word)中打開。如何在硒測試中處理外部應用程序?

但是現在我在瀏覽器窗口上有一個外部應用程序,並且它爲其他測試打亂了。

那麼,圍繞這類問題的最佳做法是什麼?重寫該申請以允許在測試中不打開文件?

補充說明: 問題是雙重的。 1)它啓動填充桌面的進程(word和acrobat)並且需要來自測試從屬的資源 2)外部進程似乎干擾了其他測試,因爲(在這裏猜測)它位於瀏覽器窗口之上。

+0

你的問題不清楚。請詳細說明。 –

+0

我發現一個簡單地使用javas Runtime-class的解決方案,並且本地運行命令taskkill。解決好啓動外部流程的問題。不確定這是一種推薦的方式。適用於Windows環境中的我。 – Roland

回答

0

我從你的文章中瞭解到,文檔(word/pdf)在瀏覽器窗口中打開,因此您無法繼續執行其他步驟。如果是這樣,您可以驗證標題以確保文檔在瀏覽器窗口中打開,並可以使用下面的代碼片段返回。

driver.navigate().back(); 

希望這會有所幫助。

0

我從線

明白什麼但現在我有在瀏覽器窗口中的外部應用程序,它對於其他測試食堂了。「

是因爲您提到過PDF或Word,所以一旦用戶單擊打開按鈕,就會打開一個新窗口(基於窗口的應用程序)。

可以使用機器人類在這種情況下,下面的代碼片段將關閉當前活動窗口:

 Robot rbt = new Robot(); 
     rbt.keyPress(KeyEvent.VK_ALT); 
     rbt.keyPress(KeyEvent.VK_F4); 
     rbt.keyRelease(KeyEvent.VK_ALT); 
     rbt.keyRelease(KeyEvent.VK_F4); 

請務必妥善處理同步問題,使預期的窗口被關閉,而不是AUT。

相關問題