如何在 RestAssured 规范构建器类中使用基本身份验证

发布于 2025-01-12 09:28:09 字数 919 浏览 0 评论 0原文

我正在创建一个新的框架来保证 Api 测试。为了优化我的测试类,我使用了 specbuilder 类并在另一个包中创建了 Utils 类。

这就是我在 Utils 类中尝试做的事情:

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;     
     }
}

这里的问题是我不确定如何添加 basic auth 。在我的测试类中,基本身份验证是强制性的。这是这样的:

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类中添加基本身份验证,因为我发现没有内置方法可以这样做。

I am creating a new framework for restassured for Api testing.Just to optimize my test class I am using specbuilder class and created Utils class in another package.

This is what I am trying to do in 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;     
     }
}

The problem here is I am not sure how to add basic auth . In my test class Basic auth is mandatory. which is something like this:

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")

}

Please suggest how can I add Basic auth in my specbuilder class as there is no inbuilt method i found to do so.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

单身情人 2025-01-19 09:28:09

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();

There is a built-in method setAuth(AuthenticationScheme auth) in RequestSpecBuilder

This would work:

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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文