如何为硒中的每个testng XML文件启动浏览器 [英] How to Launch browsers for each single testng XML file in selenium
问题描述
我有两个testng XML文件 例如:testng1.xml& testng2.xml
I have two testng XML files eg : testng1.xml & testng2.xml
我需要在不同的浏览器或相同的浏览器中并行执行这两个XML文件.请建议我如何实现此方案.
I need to execute these two XML files in different browsers or Same browsers parallely. Kindly suggest me how to achieve this scenario.
推荐答案
这取决于您在testing.xml
文件中配置类的方式.
您甚至可以使用单个testing.xml
文件在相同的浏览器或不同的浏览器上并行运行测试.
It's depends on how you configured your class in testing.xml
file.
You can even use single testing.xml
file to run your test parallel on same browser or different browser as well.
要进行配置,您可以使用以下示例文件:
For configuration you can use below sample file :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel Test" parallel="classes">
<test name="Functional_Test_1">
<parameter name="browser" value="PhantomJS" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
<test name="Functional_Test_2">
<parameter name="browser" value="chrome" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
</suite>
这是您可以设置浏览器以执行测试的方法:
And this is how you can setup browser to execute Test:
package com.simpletest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class DriverSerup {
@BeforeTest
@Parameters("browser")
public void setUp(String browser)
{
switch(browser)
{
case "chrome":
// Write the code here for open chrome browser
System.out.println("For Browser : " + browser);
break;
case "PhantomJS":
// Write the code here for open PhantomJS browser
System.out.println("For Browser : " + browser);
break;
default :
System.out.println("Broweer choice not available");
}
}
}
在创建的两个<test>
标记中提及您要自动化的所有类.
Mention all your classes in both <test>
tags as you have created to automate.
或者如果您有2个testing.xml
,则配置如下:
Or if you have 2 testing.xml
then configure like :
testing1.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel suite 1" >
<test name="Functional_Test_1">
<parameter name="browser" value="PhantomJS" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
</suite>
testing2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel suite 2">
<test name="Functional_Test_2">
<parameter name="browser" value="chrome" />
<classes>
<class name="com.simpletest.DriverSerup"/>
</classes>
</test>
</suite>
在这里,您必须创建套件套件,即 combinesuite.xml :
And here you have to create suite of suites i.e. combinesuite.xml :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suite of suites" parallel="classes" thread-count="2" >
<suite-files>
<suite-file path="testing1.xml" />
<suite-file path="testing2.xml" />
</suite-files>
</suite>
注意::不要忘记在suite
标记中提及parallel
属性以实现并行性.
Note : don't forget to mention parallel
attribute in suite
tag for parallelism.
这篇关于如何为硒中的每个testng XML文件启动浏览器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!