每个单TestNG的XML文件,我有两个TestNG的XML文件 如:testng1.xml & testng2.xml如何启动浏览器在硒
我需要在不同的浏览器或浏览器一样执行平行这两个XML文件。请告诉我如何实现这种情况。
每个单TestNG的XML文件,我有两个TestNG的XML文件 如:testng1.xml & testng2.xml如何启动浏览器在硒
我需要在不同的浏览器或浏览器一样执行平行这两个XML文件。请告诉我如何实现这种情况。
这取决于你如何在testing.xml
文件中配置你的班级。 您甚至可以使用单个testing.xml
文件在同一浏览器或不同浏览器上并行运行测试。
对于配置,你可以使用下面的示例文件:
<?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>
这是你如何可以设置浏览器中执行测试:
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>
的标签,你有创建自动化。
或者,如果你有2 testing.xml
然后配置,如:
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>
在这里,你必须创建套件套房,即combineuite.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>
注:不要忘记提及parallel
属性在suite
标记的并行性。
我有单独的属性文件,我可以在其中提到要启动哪个浏览器,要登录哪个用户,要导航哪个URL。 –
根据属性文件配置,已执行一组操作。 –
在属性文件中我提到了Browser = Chrome,所以我需要在两个浏览器中同时运行两个testng.xml文件。 –
对于我的场景,只有在testng1.xml文件中执行了所有测试后,才会触发testng2.xml文件。
请看下面的例子。
Testng1.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="Chrome" />
<classes>
<class name="com.simpletest.sample1"/>
</classes>
</test>
<test name="Functional_Test_2">
<classes>
<class name="com.simpletest.sample2"/>
</classes>
</test>
</suite>
Testng2.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_3">
<parameter name="browser" value="Chrome" />
<classes>
<class name="com.simpletest.demo1"/>
</classes>
</test>
<test name="Functional_Test_4">
<classes>
<class name="com.simpletest.demo2"/>
</classes>
</test>
</suite>
然后创建combinesuite.xml文件在那里我有两个配置文件的testng.xml并引发它。
在这种情况下,testng2.xml文件被触发testng1.xml文件被完成之后。
所以,可以帮助我如何在任何浏览器中并行运行这两个XML文件。
您可以添加有问题的文件 – NarendraR
请参阅:[我如何做X?](https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-对于SO-do-i-do-x)对SO的期望是,用户提出问题不仅要研究回答他们自己的问题,还要分享研究,代码尝试和结果。这表明你已经花时间去尝试帮助自己,它使我们避免重申明显的答案,最重要的是它可以帮助你得到更具体和相关的答案!另请参阅:[ask] – JeffC