我正在使用TestNG和Selenium來執行並行測試。這在Firefox和Chrome中運行良好,但在IE中破解。我有執行該捲筒紙驅動器的步驟如下:TestNG和Selenium-IE無法啓動獨立線程
- 一個瀏覽器實例使用來自的testng.xml的參數(下文中找到)
- 可用的用戶是從測試用戶憑證 池中選擇創建
- 用戶登錄在
- 測試繼續進行
當IE啓動它的實例,它們都被分配了相同的用戶。此外,所有情況似乎都在爭奪哪一方關注。 (相反,在Firefox和Chrome中,所有實例都被適當地分配給自己的用戶,並且不會爭奪焦點)。
因爲每個IE實例使用相同的用戶憑證,所以我測試了衝突並且因爲它們爭奪哪個實例重點,我得到由於waitForElementPresent命令的Selenium TimeoutExceptions。
我的直覺是IE瀏覽器根本無法同時打開多個獨特的實例。任何人都可以證實我的懷疑,或指示我如何解決問題?感謝您的幫助!!
供參考,這是我的testng.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="6" verbose="0" name="Command line suite" parallel="tests">
<!-- IE Tests -->
<test name="SourceBoxUIIe" preserve-order="true">
<parameter name="browser" value="ie"/>
<classes>
<class name="org.familysearch.links.uitests.SourceBoxUITest"/>
</classes>
</test>
<test name="EditPageIe" preserve-order="true">
<parameter name="browser" value="ie"/>
<classes>
<class name="org.familysearch.links.uitests.EditPageUITest"/>
</classes>
</test>
<test name="LinksGadgetPageIe" preserve-order="true">
<parameter name="browser" value="ie"/>
<classes>
<class name="org.familysearch.links.uitests.LinksGadgetPageUITest"/>
</classes>
</test>
<test name="AdminChangeLogIe" preserve-order="true">
<parameter name="browser" value="ie"/>
<classes>
<class name="org.familysearch.links.uitests.AdminChangeLogPageUITest"/>
</classes>
</test>
<test name="AttachedToPageIe" preserve-order="true">
<parameter name="browser" value="ie"/>
<classes>
<class name="org.familysearch.links.uitests.AttachedToPageUITest"/>
</classes>
</test>
<test name="ChangeLogIe" preserve-order="true">
<parameter name="browser" value="ie"/>
<classes>
<class name="org.familysearch.links.uitests.ChangeLogUITest"/>
</classes>
</test>
<!-- Firefox Tests Would Be here -->
<!-- Chrome Tests Would Be Here-->
<!-- Command line test -->
</suite> <!-- Command line suite -->
你是否使用xpath作爲大部分選擇器?當涉及到xpath選擇器的速度時,IE似乎遇到了很多問題。這就是爲什麼我完全遷移到CSS – sircapsalot
謝謝你的迴應。我們儘可能使用id和class標籤。可以使用xpath阻止IE同時登錄會話嗎? – jpodwys
我遇到的很多問題始終是速度和定位器。有時它找不到具有「用戶名」標識的輸入,有時它不能......這非常有趣。從來沒有一個同時登錄本身的問題。 – sircapsalot