我在java中使用带有TestNG的selenium webdriver。
为了执行测试套件,我想在@Test(enabled=true/false)
中添加运行时值。
但启用属性在开始执行之前只接受常量(true / false)。
有没有办法控制@Test
方法来决定是否执行?
答案 0 :(得分:1)
Thanks for your efforts, but please find attached link which ll help you to achieve what I want to
您必须通过IAnnotationTransformer接口覆盖@test方法。
由于 达瓦尔
答案 1 :(得分:0)
@Test (priority=1)
public void login(){
//do the login stuff
}
@Test (priority=2, dependsOnMethods="login")
public void clickAccountBtn(){
//go to account
}
@Test (priority=3, dependsOnMethods="clickAccountBtn")
public void editPassword() {
//edit pass
}
正如您所看到的,这里有2个主题可以帮助您调节测试流程。优先级和依赖关系。优先级有助于testNG来规范执行顺序(首先是什么,最后是什么),而依赖关系可以帮助您快速失败(即如果您未能登录则跳过其余步骤,因为没有必要尝试clickOnTheAccountButton)。希望这是有道理的,如果没有,请告诉我。
你可以在这里找到更多: TestNG Doc
祝你好运
答案 2 :(得分:0)
是的,有一种替代方法可以决定您要执行某种方法的天气
在testing.xml
您可以使用<exclude>
标记,请参阅以下示例
<test name="sample_Test" >
<classes>
<class name="ClassOneTest">
<methods>
<exclude name="methodOne" />
</methods>
</class>
<class name="ClassTwoTest"/>
</classes>
</test>