java - 使用dependsOnMethods 和优先级的TestNg 违反了优先级

标签 java selenium-webdriver testng

我在这里看到过类似的问题,但似乎没有一个能解决问题。 我有以下代码;

   @Test(priority=2)
    public void increaseQty(){
       System.out.println("in increase qty");}

   @Test(priority=2,dependsOnMethods={"increaseQty"})
      public void decreaseQty(){
         System.out.println("in decrease qty");}

   @Test(priority=3)
     public void removeFromCart() throws Exception{
          System.out.println("remove qty");}

    @Test(priority=3,dependsOnMethods={"removeFromCart"})
       public void emptyCart() throws InterruptedException{
             System.out.println("empty Cart");}

预期的运行顺序是

increaseQty
decreaseQty
removeFromCart
emptyCart

但实际的顺序是

increaseQty
removeFromcart
decreaseQty
emptyCart

我无法理解为什么它不遵循指定的顺序。 在我看来,无论优先级如何,它首先运行独立的方法,然后运行依赖的方法,但文档中的任何地方都没有提到这种行为。我应该怎么做才能使其按所需顺序运行

最佳答案

不要一起提供优先级和依赖,您可以对测试进行分组。 你可以这样做:

@Test(priority = 1, groups = { "qty" })
    public void increaseQty() {
    System.out.println("in increase qty");
    }

    @Test(dependsOnMethods = { "increaseQty" }, groups = { "qty" })
    public void decreaseQty() {
    System.out.println("in decrease qty");
    }

    @Test(dependsOnGroups = { "qty" })
    public void removeFromCart() throws Exception {
    System.out.println("remove qty");
    }

    @Test(dependsOnMethods = { "removeFromCart" })
    public void emptyCart() throws InterruptedException {
    System.out.println("empty Cart");
    }

编辑: 另一种解决方法是更改​​ testng xml 以具有如下描述:

<methods> <include name="increaseQty"/> <include name="decreaseQty"/> <include name="removeFromCart"/> <include name="emptyCart"/> </methods>

所以 testng 只会以这种方式执行它。

关于java - 使用dependsOnMethods 和优先级的TestNg 违反了优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27103047/

相关文章:

java - 如何 Autowiring Spring类的bean

java - 如何使用 String.split (","导入 CSV 文件,而不会因空白字段而缩短数组?

selenium - Robot Framework : Wait Until Element Is Visible vs. 元素应该是可见的,使用哪个更好?

javascript - Vaadin - 来自服务器的 POST 请求过多

java - 如何从 TestNG IInvokedMethodListener 获取测试字段?

maven - intellij 想法中是否有测试资源管理器? (在不执行的情况下观察所有测试)?我使用TestNG

Java 访问者模式 2

java - Orika 映射器 NPE 位于 2 个 map 之间

java - 未应用last()

java - 方法 public static org.openqa.selenium.WebDriver MyTestNG.Baseurl.basic() 错误