微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从诱惑监听器读取步骤方法内容

如何解决如何从诱惑监听器读取步骤方法内容

目前,我正在使用诱惑 StepLifecycleListener 收听 @step。我想在方法内部获取一些参数。

例如:我想得到 下面的“RequestIdentifier.userservice_CreateLogin”参数

@Step("Perform user login with retrieved OTP")
public BaseResponseDTO performUserLogin(String deviceid,String authId,String otp) {

 response = serviceManager.sendRequest(RequestIdentifier.userservice_CreateLogin,requestParams);
}

我可以从 StepResult getparameters() 方法获取 String deviceid、String authId、String otp,但是如何在 performUserLogin() 方法获取一些参数。

解决方法

你不能。 Step 注释与方法的签名一起工作,而不是与它的主体一起工作。如果你想获得RequestIdentifier.userservice_CreateLogin的值,只需重载该方法并将相应的值作为参数传递即可。

另一方面,它似乎是一个 public static 变量。在这种情况下,您始终可以从 AllureStepListener 内显式访问它。然而,这将是一种丑陋的方法。

我会考虑重新设计您的 API,使其能够处理自定义类型(即实体)而不是传递原始字符串。在这种情况下,您始终可以将所有必需的数据(包括静态数据)组合到您的自定义实体中,然后通过 Step 语法在 "Bla-bla {entity.field}" 注释中轻松访问它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。