我有一个关于testNG的问题。我有五类测试(a类、b类、c类、d类、e类),并且在每个类中都有3个测试(test1 test2 test3)问题是我在所有测试中都有@Test(组={"吸烟测试"},启用=真,优先级=1)
@Test(组={"吸烟测试"},启用=真,优先级=1)-类a@Test(组={"吸烟测试"},启用=真,优先级=2)
-类a@Test(组={"吸烟测试"},启用=真,优先级=3)
-类a
<代码>@测试(组={"吸烟测试"},启用=真,优先级=1) -类b<代码>@测试(组={"吸烟测试"},启用=真,优先级=2) -类b<代码>@测试(组={"吸烟测试"},启用=真,优先级=3) -类b
<代码>@测试(组={“smokeTest”},启用=真,优先级=1) -c类测试(组={“smokeTest”},启用=真,优先级=2) -c类测试(组={“smokeTest”},启用=真,优先级=3) -c类
<代码>@测试(组={“smokeTest”},启用=真,优先级=1) -d类测试(组={“smokeTest”},启用=真,优先级=2) -d类测试(组={“smokeTest”},启用=真,优先级=3) -d类
<代码>@测试(组={“smokeTest”},启用=真,优先级=1) -类别e<代码>@测试(组={“smokeTest”},启用=真,优先级=2) -类别e<代码>@测试(组={“smokeTest”},启用=真,优先级=3) -类别e
当我一类一类地手动运行时,一切都在工作。然而,当我试图让testng这样做时,他是并行运行的,并且根据测试的优先级在类之间跳跃,而不是完成类本身。a类测试1 b类测试1。。。。。。。如果我不希望任何并行化,我希望它像人一样执行操作,一个类一个类地执行,并且在类内优先执行测试,那么我如何使testng以这种方式运行呢。这是我的xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite allow-return-values="true" name="sanitySuite" parallel="false" thread-count="1" verbose="1" >
<test name="smoke" preserve-order="true" >
<parameter name="userName" value="selmadmin@gmail.com"/>
<parameter name="password" value="bbb"/>
<groups>
<run>
<include name="smokeTest"/>
</run>
</groups>
<packages>
<package name =".*"/>
</packages>
<classes>
<class name="tests.classA"></class>
<class name="tests.classB"></class>
<class name="tests.classC"></class>
<class name="tests.classD"></class>
<class name="tests.classE"></class>
</classes>
</test>
<!--<test name="jkljlkj">-->
<!--<packages>-->
<!--<package name=".*"/>-->
<!--</packages>-->
<!--</test>-->
</suite>
添加group by instances=“true”和parallel=“none”后,解决了
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite allow-return-values="true" name="sanitySuite" parallel="none" thread-count="1" verbose="1" >
<test name="Role page" preserve-order="true" group-by-instances="true">
<parameter name="userName" value="selmadmin@gmail.com"/>
<parameter name="password" value="bbb"/>
<groups>
<run>
<include name="smokeTest"/>
</run>
</groups>
<packages>
<package name =".*"/>
</packages>
<classes>
<class name="tests.classA"></class>
<class name="tests.classB"></class>
<class name="tests.classC"></class>
<class name="tests.classD"></class>
<class name="tests.classE"></class>
</classes>
</test>
<!--<test name="Regression1">-->
<!--<packages>-->
<!--<package name=".*"/>-->
<!--</packages>-->
<!--</test>-->
</suite>
我正在使用@dataprovider TestNG 注释来传递不同的数据集。我的 TestNG 类包含 @BeforeClass、@DataProvider、三种@Test方法(一种使用数据提供程序的测试)和@After类。 数据提供程序包含 3 组数据(用户名和密码) 我只想知道如何按照以下顺序执行测试 --执行@Beforeclass - --转到测试并从数据提供程序打印第二组数据 --执行第
问题内容: 我想使用TestNG以特定顺序运行Selenium WebDriver(Java)测试类。 例如。我有3个类,例如Test1,Test2和Test3。我要按Test2,Test1和Test3的顺序运行。是否可以不分组? 我尝试了以下方式,但是我以其自己的顺序(字母顺序)运行。 还有其他方法吗?如果没有分组,这可能吗? 问题答案: 只需使用 preserve-order =“ true”
我正在通过运行Jest测试。默认情况下,Jest并行运行测试。有没有办法让测试按顺序运行? 我有一些测试调用依赖于更改当前工作目录的第三方代码。
我有一个测试套件,它有一个用@beforeSuite注释的设置方法,该方法在该套件之前运行。偶尔,我需要单独运行测试或在一个类中运行所有测试。是否有一种方法让我的设置方法运行之前,这些太。 我的理解是,TestNG创建了一个默认套件,所以如何运行测试并不重要,如果我有一个用@BeForeSuite注释的方法,它应该在所有测试之前运行。然而,这对我不起作用。只有当我运行整个套房时它才运行。 xml套
我正在使用Jmeter对应用程序进行负载测试。否:线程数为100。 第一个HTTP请求是主页。第二个HTTP请求是进行实际登录的登录页面。有n个API。 我想要实现的是: 前100个线程同时出现在主页上。然后100个线程同时进入登录页面。然后100个线程同时运行第n个API。