Java 在testng xml中有多个测试节点是使用selenium实现自动化的最佳实践?
如果我们在testng.xml文件中使用下面的格式,我有一个基本问题,就是testng在运行自动化时如何调用testng类Java 在testng xml中有多个测试节点是使用selenium实现自动化的最佳实践?,java,selenium-webdriver,testng,Java,Selenium Webdriver,Testng,如果我们在testng.xml文件中使用下面的格式,我有一个基本问题,就是testng在运行自动化时如何调用testng类 <?xml version="1.0" encoding="utf-8"?> <suite name="Suite" verbose="1" > <test verbose="2" name="test1" annotations="JDK" enabled="true" preserve-order="false">
<?xml version="1.0" encoding="utf-8"?>
<suite name="Suite" verbose="1" >
<test verbose="2" name="test1" annotations="JDK" enabled="true" preserve-order="false">
<parameter name="testcase" value="22524" />
<parameter name="data" value="testdata1" />
<groups>
<run>
<include name="sanity" />
</run>
</groups>
<classes>
<class name="testscripts.Class1" method="method1"/>
</classes>
</test>
<test verbose="2" name="test2" annotations="JDK" enabled="true" preserve-order="false">
<parameter name="testcase" value="2" />
<parameter name="data" value="testdata1" />
<groups>
<run>
<include name="sanity" />
</run>
</groups>
<classes>
<class name="testscripts.Class1" method="method2"/>
</classes>
</test>
</suite>
那么,在testng.xml文件上方运行时,TestRunner创建Class1实例的次数是多少?我的理解是2倍。那么testng会创建尽可能多的测试用例实例吗?相反,只管理整个班级是否更好?对于下面的类1中的所有测试,它只会启动一个类吗?这会提高性能吗
<?xml version="1.0" encoding="UTF-8"?>
<suite name="suite" verbose="1">
<test name="Tests">
<groups>
<run>
<include name="sanity"/>
</run>
</groups>
<classes>
<class name="testscripts.Class1" />
</classes>
</test>
</suite>
您试图从两个测试中获得什么?您正在尝试传递不同的参数-是否正确?是的,每个测试采用不同的参数。因此,您不能有一个测试,然后有多个参数。如果你想有一个测试,那么你需要使用数据提供者来解决使用不同参数运行相同测试的更大目的。谢谢你的评论。就绩效而言,一般推荐的方法是什么?通过提供不同的参数,在所有测试中运行单个类比在xml中运行多个测试具有更好的性能?我的每个测试用例都是不同的和唯一的,所以它们采用不同的参数。我正在尝试使用最好的方法来设计我的测试用例。我有大约2000个TC要运行。你有需要长时间或非ui测试的基于ui的测试吗?xml中的多个测试只是增加了创建xml的时间(更难维护,更难创建)和不必要的任务。如果测试是独立的,那么并行运行将提供性能-testng在性能方面只增加很少的开销。