2014-06-15 75 views
0

我想並行運行Selenium測試。它們使用unittest以Python編寫,並且與連接到多個WebDrivers的集線器進行通信。Selenium Grid自動並行化

在此配置中編寫測試的最佳做法是什麼?在一個unittest.TestCase類中有很多測試方法會更好嗎,還是更好地創建許多類?現在我所有的測試都在一個類中,並且由於driver.close()直到測試用例結束才被調用,所以我沒有獲得並行化。沒有像testNG這樣的額外測試框架,是否有可能實現並行化?

謝謝!

回答

0

您將需要支持並行執行的基本單元測試以外的內容。也許https://pypi.python.org/pypi/testtools

每個並行線程都需要自己的webdriver實例,因此在進一步進行並行化之前,需要注意這一點。

+0

感謝您的回覆。我計劃生成一個集線器/服務器,並將N個WebDrivers分別連接到一臺獨立的機器上,其中N是並行化因素。是否有可能直接連接到沒有集線器的網絡驅動器,如果是這樣,那是什麼意思? – user1094786

+0

我在說的是,你需要一個你用於「driver.close()」的「driver」變量的實例,用於每個線程。兩個線程不能共享相同的驅動程序實例。 有多個連接到同一個集線器是好的,但每個連接必須是分開的。 – Rick

+0

我在java中爲此任務使用了Spring ThreadLocalTargetSource,它工作良好,併爲我管理所有事情。如果您手工執行所有操作,則需要爲driverPool [] {driver.close}中的每個驅動程序替換 driver.close() 與 – Rick