selenium - Cucumber JVM:在全局钩子之前运行标记的钩子
问题描述
我正在使用黄瓜 JVM 进行硒测试。我有几个测试用例来注册用户,每次测试后我都想删除用户。
所以我创建了一个新的标记钩子,用于这些测试。如下所述
问题是 Gloabl 钩子在关闭浏览器的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
输出
拆除
删除用户
解决方案
使用钩子上的order 属性。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");
}
推荐阅读
- c# - 如何从 Microsoft SQL Server 中选择一个字段发送到 c#?
- c# - 如何从 Color32 数组创建 EmguCV IInputArray?
- react-native - 使用 Paypal 和信用卡 React Native 支付解决方案
- java - 我不断收到 Java 错误“无法找到或加载主类”,但是当我执行 javac 时它工作得很好
- ios - Xamarin iOS 构建被 Apple EXC_BAD_ACCESS (SIGSEGV) 拒绝
- java - 从枚举中返回一个值
- mysql - 多个连接,每个与 IN 语句返回太多的结果
- java - 为什么 Streams.allMatch(in Java8) 试图评估所有表达式,即使值可以在中途确定?
- qt - 使 QWidget 填充其父级的 100
- reactjs - React js想要循环通过反应选择多个页面而不是连接每个页面