2015-06-24 82 views
1

我正在研究BDD(用c#編寫的selenium webdriver)。 對於順序執行,我們使用nunit,但現在客戶端要求是並行執行。 走過這麼多的文檔,但只發現Pnunit。 步驟執行至今在nunit中爲bdd測試用例並行執行

  1. 下載pnunit
  2. 改變設置方法agent.conf文件創建
  3. 運行使用pnunit
  4. 「代理agent.conf」 啓動劑
  5. 創建應用程序。用於並行執行的conf文件
  6. 執行「啓動程序app.conf」

但它也不起作用。 它說,類沒有在dll下找到。 請提供任何建議。

-Neeraj

回答

1
+0

嗨戴夫我經歷了你的文件和視頻教程,它是偉大的,但我從來沒有在頁面對象建模和我有限的時間框架,所以我正在尋找一些預先設計的框架這就是爲什麼我選擇pnunit並行執行。 –

+0

我很遺憾聽到您沒有使用Page Models。他們最終讓生活變得如此簡單。你應該儘快重構你的代碼來使用它們。 –

+0

我整合了所有可能的場景,並發現我必須切換到頁面對象模型框架或購買任何付費測試框架的許可證。 –

1

併發執行不Specflow使用標準測試運行的Specflow引擎本身不是線程安全的支持。這個問題已經解決,目前正在測試中,固定代碼應該在未來幾周內合併。請參閱討論herehere

可以使用應用程序域隔離來並行運行測試,Specflow +和NCrunch使用此技術。

+0

嗨山姆平行執行是可能的使用specrun,但它的付費版本的specrun這就是爲什麼我切換到specflow + pnunit。你知道如何使用specflow + pnunit執行測試,否則我必須切換到其他測試框架,如ncrunch或MStest。 –

+0

正如我所說的,任何使用應用程序域隔離的測試運行者都應該可以執行並行執行。 NCrunch這樣做,但也是一個付費工具。我不知道任何使用應用程序域隔離的免費測試運行程序。 MSTest不會幫你在這裏,我不認爲。正如我所指出的,這與使用NUnit 3.0和XUnit 2.0的標準specflow支持相近,但目前尚不可用。另一種方法是將測試分爲多個類別,並且同時有多個NUnit實例運行不同的類別。 –

1

你可以試試這個工具https://github.com/qakit/ParallelTestRunner並行運行Selenium測試的方法。我開發它並行運行NUnit測試(實際上它將並行運行而不是測試,但在您的測試庫中使用testfixtures)。爲我工作正常=)。如果您將面臨任何問題報告我,將盡力解決。

+0

嗨安德烈這看起來像一個工具的源代碼。請讓我知道如何將其用於我的框架。我使用遠程webdriver和nunit作爲specflow場景的跑步者。 –

+0

此工具允許在指定的dll中並行運行NUnit測試。它與NUnit亞軍(控制檯)幾乎相同。你只需要在dll中編譯你的tets並把它作爲參數傳遞給工具(smgh就像:運行yourtest.dll --localrun = 2)。如果您有更具體的問題,請使用源代碼樣例在github中打開新案例。 –

+0

嗨安德雷我有一個快速的問題給你,我們可以使用這個工具運行bdd場景,或者它是特定於nunit測試用例。因爲我能夠並行運行nunit測試用例,但不能用bdd測試用例,因爲pnunit在類中找[Test Method]註釋而不是[Given] [When] [Then]註解。 –