黄瓜JVM:在全局钩子之前运行标记钩子

时间:2018-05-14 13:25:58

标签: selenium selenium-webdriver cucumber cucumber-jvm cucumber-java

我正在使用黄瓜JVM进行硒测试。我有几个测试用例来注册用户,每次测试后我想删除用户。

所以我创建了一个新的标记钩子,我正在用于这些测试。如下所述

问题是Gloabl hook tearDown在关闭浏览器的标记钩deleteUser之前运行,因此我无法执行删除用户的步骤。

有什么方法可以在deleteUser之前运行tearDown作为钩子的一部分。

@After
public void tearDown(Scenario scenario){
    System.out.println("teardown");  
    closeDriver();
}

@After("@deleteNewUser")
public void deleteUser(){
    System.out.println("deleteUser");
 }

这就是我使用这些钩子的方式

@deleteNewUser
Scenario: Register user
  Given New User is registered

输出

  

拆卸

     

deleteUser

1 个答案:

答案 0 :(得分:1)

使用After挂钩上的订单属性。订单的最高价值将首先执行。反转Before挂钩。

@After(order=5)
public void tearDown(Scenario scenario){
    System.out.println("teardown");  
    closeDriver();
}

@After("@deleteNewUser", order=10)
public void deleteUser(){
    System.out.println("deleteUser");
 }