[英]Selenium GRID 2 + NUnit 3 options to run tests in parallel
我決定從當前解決方案(幾年前使用我們團隊使用經過修改的NUnit NDistribUnit在VirtualMachines上運行測試,然后在集線器服務器上收集結果)切換到Selenium Grid 2。
嘗試了具有ParallelizableAttribute的選項。 不幸的是,我注意到IWebDriver存儲在全局變量(puhh)中。 這導致測試啟動多個瀏覽器實例,但是測試使用單個IWebDriver->測試在單個瀏覽器中執行->測試在單個進程下運行,但是具有多個“工作者”線程。 嘗試使用2個VM作為“節點”,並使用本地PC作為集線器。
我知道最好的解決方案是更改無效的主意以將驅動程序存儲在全局變量中,但是這將花費太多時間:有3k +繁重的UI測試需要更新; 許多靜態方法都希望將驅動程序作為全局變量進行更新。
NUnit 3.0還提供了Option以並行運行多個程序集。 要運行多個測試項目很好,但是目前每個應用程序有1個程序集。 並行運行一個應用程序(一個程序集)的測試會很好。
還有其他使用GRID + NUnit 3的方法來使其工作嗎?
最終,重構了現有的解決方案:現在,執行期間的每個測試都有自己的驅動程序。 由於此更改,許多代碼被重寫(似乎有太多方法希望將IwebDriver用作全局變量)
實際上,有兩種選擇可以做到這一點:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.