2012-05-22 40 views
0

我的問題如下:我們在工作中使用Selenium IDE和RC來測試我們網站的功能。我們的網站有一個列表,每次添加項目時都會保存在服務器上。它還允許用戶登錄。如何創建適當的拆卸腳本

當我的硒套件中途中斷(例如,因爲網站出現錯誤)時,它可能會在列表中留下一些項目,它可能會讓用戶登錄等。卸載腳本(註銷,清除列表)現在是套件的一部分,但是當套件中途中斷時不會執行它們。因此,當下一次測試開始時,它不會從頭開始,因爲它應該這樣做。這當然會使該套件中的幾個步驟失敗,從而導致整個測試運行崩潰並燒燬。

一個我想出了一個解決方案是,每一個測試套件後,運行被允許失敗的幾個較小的拆卸套房。

例子: 大主套房失敗 註銷失敗 清除列表成功

這是會發生的是中途失敗的測試什麼,左邊的列表中

大主套房成功 上一些項目註銷失敗 清除列表失敗

這是會發生在成功運行什麼。

儘管此解決方案可能會起作用,但對於您的報告來說確實很糟糕。

所以我基本上有2個問題:

  1. 什麼是確保一套從頭開始,即使套件失敗之前的最優雅的方式?
  2. 是否可以抑制你不介意失敗的套件和案例的「失敗」信息?
+1

是否有任何理由讓你和Selenium RC呆在一起(現在不推薦) – Arran

+0

不是真的,我是創建測試用例和套件的人,使他們進入RC。它會幫助我切換到Webdriver的問題嗎? – user1312966

+0

你是否使用了像testNG或JUnit這樣的框架? –

回答

1

對於問題1.什麼是確保套件從頭開始的最優雅的方式,即使套件在它之前失敗了嗎?

我會建議你使用TestNG的或JUnit框架。這兩種方法都有註釋,可以幫助您編寫在測試完成時發生的情況,而不管測試結果如何。我只用過testNG。 testNG提供了額外的偵聽器,您可以在其中定義方法通過,跳過或失敗時應該發生的情況。

您還可以定義在調用任何方法或類之前執行的方法(@BeforeMethod註釋)。

我不知道你現在怎麼處理你的報告,但是testNG有一個很好的HTML報告,它顯示了基本的細節。

通過使用testNG,你可以達到什麼在問題2陳述。 testNG允許您將測試分組並將這些測試一起運行。你可以添加所有你不介意失敗的測試並運行它。

學習曲線相對較少,它會讓您的工作更輕鬆。你可以找到更多關於testng的信息,以及它與硒的集成here