異なるパラメーターを使用して、一度に 2 つのブラウザーを起動したいと考えています。以下のようなテストスイートを書きました。ただし、一度に 8 つのブラウザーを起動しています (parallel='tests' で述べたように、そのテストで使用可能なすべてのクラスのブラウザーを起動しています)。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="2" name="Suite" parallel="tests">
<test name="Test1" preserve-order="true">
<parameter name="propertyFileName" value="Constants.properties"/>
<classes preserve-order="true">
<class name="com.test.TestCase1"/>
<class name="com.test.TestCase2"/>
<class name="com.test.TestCase3"/>
<class name="com.test.TestCase4"/>
</classes>
</test> <!-- Test -->
<test name="Test2" preserve-order="true">
<parameter name="propertyFileName" value="Constants2.properties"/>
<classes preserve-order="true">
<class name="com.test.TestCase5"/>
<class name="com.test.TestCase6"/>
<class name="com.test.TestCase7"/>
<class name="com.test.TestCase8"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
一度に 2 つのブラウザだけを起動する方法はありますか?
テスト ケースをグループ化して、並行して実行している間 (一度に 2 つのテスト ケースのみ)、両方が異なるプロパティ ファイルから定数を取得する必要があるようにします。
EDIT-I
TestCase1.java
public class TestCase1
{
private WebDriver driver;
CommonMethods comObj;
StringBuffer failureMsgs;
@Parameters({"propertyFileName"})
@BeforeTest
public void beforeTest(String pname) throws Exception
{
comObj=new CommonMethods(pname);
driver=new FirefoxDriver();
comObj.login(driver, comObj.userName,comObj.password);
}
@Test
public void f()
{
try
{
}
catch(Exception e)
{
e.printStackTrace();
}
}
@AfterTest
public void afterTest()
{
System.out.println("Inside after method");
driver.quit();
}
}