Как взаимодействовать с вкладкой сети в chrome с помощью karate DSL при веб-автоматизации - PullRequest
1 голос
/ 08 мая 2020

Я пишу сценарий автоматизации пользовательского интерфейса с использованием карате DSL. В этот момент мне нужно получить значение от сетевого вызова в chrome. Я хочу взаимодействовать с одним из вызовов веб-сервиса на вкладке сети chrome devtools и получить ответ json этого веб-сервиса.

Мне это нужно, потому что мне нужно извлечь значение из этого конкретного вызова и передать это следующий шаг в моем сценарии автоматизации. Я видел вопрос, связанный с sessionStorage ( Есть ли способ получить sessionStorage с помощью Karate DSL? ), но мне интересно, как сделать то же самое для сетевого вызова с помощью команды сценария или любым другим способом?

1 Ответ

0 голосов
/ 08 мая 2020

Первое, что я бы порекомендовал, это не забывайте, что Karate - это инструмент тестирования API по своей сути. Может быть, все, что вам нужно сделать, это вручную позвонить и получить ответ. Вы должны иметь возможность очистить HTML и получить необходимый хост и параметры.

Тем не менее, есть новая функция (только для Chrome), которая задокументирована здесь: https://github.com/intuit/karate/tree/develop/karate-core#intercepting - http-requests - и доступен в 0.9.6. RC2

Он не может напрямую решать то, что вы хотите, но в макете Каратэ вы должны иметь возможность установить значение для использования позже, например используя синглтон Java или записывая в временный файл.

Если вам нужно что-то более специфичное c, пожалуйста, внесите код в Karate. Наконец, есть экспериментальный способ, с помощью которого вы можете фактически делать необработанные запросы к сеансу Chrome DevTools: https://github.com/intuit/karate/tree/develop/examples/ui-test#devtools -protocol-tips - это для опытных пользователей, но, возможно, вы один из них :)

...