如何访问在一个@Test方法中生成的数据到另一个测试方法,但在不同的类中


@Test(description = "Generate access token")
public void AuthenticationApiTC_30() throws IOException, SQLException {
Map<String, String> positiveDataMap = operations.readRecordFromXls(XLSPATH, FILENAME, POSITIVESHEET);
AuthenticateBuilder builder = new AuthenticateBuilder();
Response response = REQUEST
.headers(builder.authHeaderBuilderForGetReq(positiveDataMap.get("mobilenumber"),
positiveDataMap.get("ssoToken"), positiveDataMap.get("osVersion"),
positiveDataMap.get("deviceID"), positiveDataMap.get("imsi"),
positiveDataMap.get("deviceIDType"), positiveDataMap.get("applicationID"),
positiveDataMap.get("version"), positiveDataMap.get("os")))
.basePath(BASEPATH)
.get();
log.info("AuthenticationApiTC_30n" + response.prettyPrint());
PostValidators.checkMessageInResponse(response, SuccessMessage.Success);
accessToken =  Utils.extractDataFromResponse(response, "result.accessToken");
log.info("Token string :: " + accessToken);
}

我的要求是获得在上述@Test方法中生成的accessToken,并将其传递给不同类中存在的另一个@Test方法。

p.S:我必须一次又一次地做这个过程,因为accessToken对于不同的用户和测试用例会有所不同。

您仍然可以在测试类中使用普通方法。您可以创建一个静态辅助方法,只为某些测试方法调用该方法,而不是在每个测试方法上都调用@Before方法。所以你可以这样做:

public static Foobar requestToken() {
// ...
}
@Test
public void someTestMethod() {
Foobar x = TestClass.requestToken();
// work with 'x'
}
@Test
public void someOtherTestMethod() {
Foobar x = TestClass.requestToken();
// do other test with 'x'
}

因此,您不需要重写任何请求令牌的代码,而是使用这个helper方法。

相关内容

  • 没有找到相关文章

最新更新