如何在我的 RestAssured 规范构建器中使用 Basic Auth class
How can I use Basic Auth in my RestAssured spec builder class
我正在为 Api testing.Just 创建一个新框架来优化我的测试 class 我正在使用 specbuilder class 并创建了 Utils class在另一个包中。
这就是我在 Utils 中尝试做的事情 class:
public class Utils {
RequestSpecification req;
public RequestSpecification requestSpecification() {
RestAssured.baseURI = "https://api-stgmars.com";
req = new RequestSpecBuilder().setBaseUri("https://api-stgmars.com").setContentType(ContentType.JSON)
.build();
return req;
}
}
这里的问题是我不确定如何添加基本身份验证。在我的测试中 class 基本身份验证是强制性的。是这样的:
public static void createUser() {
RestAssured.baseURI = "https://api-stgmars.com";
String response = given().auth() // Storing response body for user creation
.basic(apikey, app_Secret).header("Content-Type", "application/json")
}
请建议我如何在我的 specbuilder class 中添加基本身份验证,因为我没有找到这样做的内置方法。
RequestSpecBuilder
中有一个built-in方法setAuth(AuthenticationScheme auth)
这可行:
BasicAuthScheme basicAuthScheme = new BasicAuthScheme();
basicAuthScheme.setUserName(apikey);
basicAuthScheme.setPassword(app_Secret);
req = new RequestSpecBuilder()
.setBaseUri("https://api-stgmars.com")
.setContentType(ContentType.JSON)
.setAuth(basicAuthScheme)
.build();
我正在为 Api testing.Just 创建一个新框架来优化我的测试 class 我正在使用 specbuilder class 并创建了 Utils class在另一个包中。
这就是我在 Utils 中尝试做的事情 class:
public class Utils {
RequestSpecification req;
public RequestSpecification requestSpecification() {
RestAssured.baseURI = "https://api-stgmars.com";
req = new RequestSpecBuilder().setBaseUri("https://api-stgmars.com").setContentType(ContentType.JSON)
.build();
return req;
}
}
这里的问题是我不确定如何添加基本身份验证。在我的测试中 class 基本身份验证是强制性的。是这样的:
public static void createUser() {
RestAssured.baseURI = "https://api-stgmars.com";
String response = given().auth() // Storing response body for user creation
.basic(apikey, app_Secret).header("Content-Type", "application/json")
}
请建议我如何在我的 specbuilder class 中添加基本身份验证,因为我没有找到这样做的内置方法。
RequestSpecBuilder
setAuth(AuthenticationScheme auth)
这可行:
BasicAuthScheme basicAuthScheme = new BasicAuthScheme();
basicAuthScheme.setUserName(apikey);
basicAuthScheme.setPassword(app_Secret);
req = new RequestSpecBuilder()
.setBaseUri("https://api-stgmars.com")
.setContentType(ContentType.JSON)
.setAuth(basicAuthScheme)
.build();