I'm using TestNG and Selenium to perform parallel tests. This works great in Firefox and Chrome, but breaks in IE. The steps I have the web driver executing are as follow:
- A browser instance is created using a parameter from testng.xml (found below)
- An available user is selected from a pool of test user credentials
- The user is logged in
- Tests proceed
When IE launches its instances, all of them are assigned the same user. Furthermore, all instances appear to fight over which one has focus. (Conversely, in Firefox and Chrome, all instances are appropriately assigned their own user and do not fight over focus.)
Because each IE instance uses the same user credentials, I get testing collisions and because they fight over which instance has focus, I get Selenium TimeoutExceptions due to waitForElementPresent commands.
My hunch is that IE is simply incapable of having multiple unique instances open concurrently. Can anyone either confirm my suspicion or direct me as to how I might remedy the issue? Thank you for your help!!
For reference, here is my testng.xml file:
<?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 -->