2012-04-04 35 views
1

我有多個類似的網站(相同的佈局,只是不同的數據),並且每個鼠標都有下拉菜單(並在鼠標上消失)。同時在一臺機器上運行硒測試的可能問題

我使用Selenium 2和webdriver的,我有一個硒測試用例基本上做的是鼠標,並確保每個在下拉菜單中的作品的鏈接。

我使用硒網格,所以我有一個集線器和很少的測試機器。

因爲我有很多的網站(幾百個)進行測試,所以我想使每一臺機器對並行多個站點運行測試用例的。

我擔心的是,因爲在同一時間只能有一個活動的瀏覽器,它會造成問題,如果網絡驅動程序嘗試在多個瀏覽器執行Action.moveToElement()在大致相同的時間?只有主動瀏覽器能夠正確執行Action.moveToElement()並且其他瀏覽器失敗嗎?如果有問題,是否有任何解決方法?

+1

嘗試過,在機器上運行三次測試時,將通過的測試從100%降低到約67%。不好= /。 – 2012-04-05 21:27:48

+0

@Slanec,你應該把它作爲答案! – Alvin 2012-04-06 01:18:18

+0

我曾希望有人出現一個很好的解決方法,:) – 2012-04-06 02:30:02

回答

1

我試過使用JUnitCore.runClasses(ParallelComputer.classes(), SomeClass1.class, SomeClass2.class, SomeClass3.class);,它在機器上運行三個測試時將通過的測試百分比從100%降低到約67%。不好= /。

好的部分 - firefox實際上可以並行執行。如果FF實例相互之間延遲,所以它們不會同時做同樣的事情,它會更好。在Firefox啓動過程中發生了一些故障 - 所以如果您可以最小化關閉和打開窗口,請執行此操作。但是,有時候它只是失敗,沒有理由。

如果你真的會用節省的時間,然後去了,記錄所有失敗的測試和第一輪後再次運行它們 - 這一次是在一個時間。

0

根據您的測試最終目標,您也可以解決此問題,方法是不使用帶有鼠標移動點擊的Action類,而是使用WebDriver findBy-click方法或Javascript執行程序方法。在同一時間運行多個窗口時,這可能不那麼有爭議。如果Action類在定義鼠標移動時完全使用本地調用,例如「移動到Point」,然後一個瀏覽器位於另一個之上,那麼我猜測移動點可能會被另一個窗口遮擋。我真的不確定這一點,只是給你另一個想法嘗試。

相關問題