如何使用QAF Web Services请求调用来管理多个请求的Cookie



我正在使用QAF提供的BDD实现来进行测试自动化,并使用QAF-Sup-Sup-Sup-WS进行Web服务测试。我发现具有Testng功率的Web服务测试自动化所需的各种功能非常容易使用。它有助于简单的UI和API编排。我们的Beckend API需要验证,并使用Cookie进行后续API调用。我可以通过实施ClientFilter通过Coockie。我通过扩展RestClientFactory创建了提供客户端。我的客户端带有添加的coockie过滤器可以通过一个域的请求电话良好,每当我在不同域上请求时,我都需要以下面的方式重置客户端:

new RestTestBase().resetClient();

因此,我必须调用API来验证每次。如果要求相同的域,我不需要重置客户端。还有其他更好的方法来管理饼干吗?这样我就可以与多个域一起工作而无需重置客户端。

另一种更简单的方法是使用Apache HTTP客户端如下:

protected Client createClient() {
        HttpClient httpClient = new HttpClient();
        ApacheHttpClientConfig config = new DefaultApacheHttpClientConfig();
        config.getProperties().put(ApacheHttpClientConfig.PROPERTY_HANDLE_COOKIES, true);
        // ApacheHttpClient httpClient = ApacheHttpClient.create(config);
        ApacheHttpClientHandler clientHandler = new ApacheHttpClientHandler(httpClient, config);
        ClientHandler root = new ApacheHttpClient(clientHandler);
        Client client = new Client(root, config);
        return client;
}

使用此实现,您在执行另一个域和明智的反之亦然时不需要重置客户端。完整的示例可以在此处找到。

相关内容

  • 没有找到相关文章

最新更新