Как управлять файлами cookie с несколькими запросами с помощью вызова веб-служб qaf? - PullRequest
1 голос
/ 15 мая 2019

Я использую реализацию bdd, предоставленную qaf для автоматизации тестирования, и qaf-support-ws для тестирования веб-сервисов.Я обнаружил, что его очень легко использовать со всеми видами функций, необходимых для автоматизации тестирования веб-сервисов с мощью TestNG.Это помогает в простом интерфейсе пользовательского интерфейса и API.Наш API beckend требует аутентификации и использует cookie для последующего вызова API.Я могу передать coockie путем реализации ClientFilter.Я создал предоставляющий клиент, расширив RestClientFactory.Мой клиент с добавленным фильтром Coockie прекрасно работает с запросами вызовов для одного домена, и всякий раз, когда у меня есть запрос на другой домен, мне нужно сбрасывать клиента, как показано ниже:

new RestTestBase().resetClient();

Из-за этого мне приходится вызывать API для аутентификации каждоговремя.Если запрос для того же домена, мне не нужно сбрасывать клиент.Есть ли какой-либо другой лучший способ управления файлами cookie?Так что я могу работать с несколькими доменами без сброса клиента.

1 Ответ

1 голос
/ 15 мая 2019

Другим более простым способом является использование HTTP-клиента Apache, как показано ниже:

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

с этой реализацией вам не потребуется сбрасывать клиент при выполнении запроса для другого домена и наоборот.Полный пример можно найти здесь .

...