当前位置 : 主页 > 网络安全 > 测试自动化 >

selenium – 如何在testng中顺序执行所有方法

来源:互联网 收集:自由互联 发布时间:2021-06-19
我的课程中有很多方法,当我运行代码时,方法是随机调用的,但在我的类中,每个方法都依赖于它的前置者,即第二种方法依赖于第一种方法,第三种方法依赖于第二种方法,依此类推我希望按
我的课程中有很多方法,当我运行代码时,方法是随机调用的,但在我的类中,每个方法都依赖于它的前置者,即第二种方法依赖于第一种方法,第三种方法依赖于第二种方法,依此类推我希望按顺序排除所有方法

我已经尝试了下面的metods并测试了代码,但仍然随机调用这些方法

//using sequential
@Test(sequential = true)
public void Method1(){
}


@Test(sequential = true)
public void Method2(){
}

//using singleThreaded 
@Test(singleThreaded=true)
public void Method1(){
}


@Test(singleThreaded=true)
public void Method2(){
}

我也在testng中传递了以下参数

<test name="Test" preserve-order="true" annotations="JDK">
 <classes>
 <class name="com.test" >
 <methods>
 <include name="method1"/>
 <include name="method2"/>
 <include name="method3"/>...
 </methods>
 </class>
  </classes>

 </test>

 </suite>

当我用@Test(dependsOnMethod =“”)测试它时,不是顺序执行方法,而是跳过方法.

如何在testng中按顺序执行测试?

如果你想以某种特定的方式运行你的所有测试方法,而不仅仅是在@test注释中添加优先级.见如下: –

@test(priority=0)

function1()
{}

@test(priority=1)

function2()

{}


@test(priority=5)

function3()

{}

@test(priority=3)

function4()

{}

@test(priority=2)

function5()

{}

在这种情况下,函数1首先调用而不是函数2,因为优先级,函数5将调用而不是函数3.

网友评论