2

我正在嘗試使用Selenium RC和用Java編寫的測試用例爲Web應用程序創建一個全自動測試套件。但是,我遇到了一些我無法解決的問題。如果您對這些問題有任何建議,請讓我知道。Selenium RC和Internet Explorer

  1. 單窗口模式。我想運行單窗口模式,因爲我認爲它會提供顯着的性能改進,並可能解決問題2.我能夠使用Firefox以單窗口模式運行我的測試用例,並且一切按預期工作,執行速度更快。但是,在Internet Explorer中使用單窗口模式時,我無法使測試用例執行;按鈕點擊根本不起作用,所以測試失敗是由於瀏覽器從未前進到下一個屏幕。完全相同的測試用例在多窗口Internet Explorer中運行良好。有什麼我可以用來獲得這種工作的伎倆?

  2. 在多窗口模式下運行時,如果測試出現錯誤,或者用戶退出Selenium GUI窗口,瀏覽器將不會關閉。我知道有可能獲得進程ID並殺死它,但這看起來相當危險,特別是如果用戶正在運行瀏覽器的多個實例。如果可能的話,這是我希望使用單窗口模式的原因之一。有沒有其他的方法,可能通過處理Selenium GUI的窗口關閉事件來解決這個問題?

  3. 我無法在我的任何測試腳本中使用waitForPageToLoad命令,因爲它永遠無法識別該頁面已加載並恢復執行。我認爲這是因爲頁面使用Javascript,但我不確定;我沒有太多的網頁開發經驗。現在,我正在使用wait命令並指定等待的時間量。但是,這是非常不可靠的,有時如果互聯網連接速度慢,我的測試失敗,因爲等待時間不夠長。其他時間由於等待時間過長,測試過於緩慢。任何想法如何處理這個問題?

謝謝!我很感謝您提供的任何答案或建議。如果您想了解更多信息,請告訴我。

回答

1

對於多寡婦關閉問題,您需要處理異常。調用finally塊中的close函數將解決窗口關閉問題。

對於頁面刷新,您需要手動檢查並在正確的位置調用。通常點擊鏈接會導致頁面刷新,然後顯示下一個屏幕。

+0

+1(關閉)參考。我測試過的很多示例會在測試結束後打開Internet Explorer。添加這個作爲我單元測試中的最後一次調用幫助刪除了孤立的IE實例。 – 2010-12-22 22:15:31

1
  1. 您是否試過IE HTA模式?當我習慣了這個東西時,這是在IE上運行測試的唯一可靠方法。

  2. 不知道

  3. 您需要使用wait class。實質上,你做出一個動作,然後輪詢一個還沒有出現的元素,但是你知道當它繼續進行測試時是安全的。所以你只能等待最短的時間。