我对@Test(dependOnMethods {“”})有疑问。 我希望我的测试按特定顺序运行,所以我按下了我编写的每个测试。到目前为止,至少我发现的最好的方法是dependsOnMethods!但是,由于之后的测试需要通过之前的测试,我无法运行所有测试并查看哪些测试失败。我的程序刚刚退出!所以这就是我正在使用的..
@Test(dependsOnMethods = {"shouldSelectAmountOfDoors"})
public void shouldSelectExtColor() throws InterruptedException{
sycOptionalInfoPage.selectExtColor("GREEN");
}
@Test(dependsOnMethods = {"shouldSelectExtColor"})
public void shouldSelectIntColor() throws InterruptedException{
sycOptionalInfoPage.selectIntColor("GOLD");
}
@Test(dependsOnMethods = {"shouldSelectIntColor"})
public void shouldEnterAComment() throws InterruptedException{
sycOptionalInfoPage.enterComments("<(*-<) <(*-*)> (>-*)> woot!");
takeABreakYo();
}
动臂。非常容易理解和信任的POM!但是,如果我的shouldSelectIntColor()由于开发团队的id更改而失败,我希望shouldEnterAComment仍然运行!我怎样才能继续将我的测试链接在一条线上,但仍然在失败后运行?谢谢:))
答案 0 :(得分:1)
您可以使用priority
代替dependsOnMethods
来实现您的目标:
@Test(priority = 1)
public void shouldSelectIntColor() throws InterruptedException{
}
@Test(priority = 2)
public void shouldEnterAComment() throws InterruptedException{
}
如果您的shouldSelectIntColor
方法失败,它仍会执行shouldEnterAComment
测试方法。
答案 1 :(得分:1)
您可以使用上述优先级,也可以使用SequenceType
。它被称为软依赖。这样,即使方法失败,您的方法仍将运行。