Возможность использования каратэ вместе с селеновым webdriver
Я начал использовать каратэ неделю назад, и это мой первый вопрос. Раньше я писал тесты веб-сервисов, используя Spock & groovy, будьте уверены и огурец. Когда я наткнулся на каратэ, я почувствовал, что это действительно интересно. Спасибо за ваши огромные усилия.
Я нашел каратэ действительно способным и удовлетворяющим мои потребности в автоматизированных сервисах Json. Тем не менее, я хотел бы узнать некоторые подробности по этому вопросу. Я использую другой фреймворк вместе с Groovy, Spock и Java. В моем сценарии мне нужно отправить запрос json, получить идентификатор транзакции из ответа, а затем выполнить тест пользовательского интерфейса с помощью веб-драйвера selenium. Как я могу легко интегрировать тесты каратэ с веб-драйвером Selen? Это пример сценария, включающий веб-сервис и пользовательский интерфейс в споке
given: "Submit Request and get valid response"
getResponse("request.template", "/mypersonal")
assert respStatus == 200
String myOrderID = getValueFromResponse(orderId)
verifyMyOrder(myOrderID)
when: "Start the browser for executing the functionality and Navigate to app"
WebDriver driver = DriverFactory.getInstance().getWebDriver()
ObjectFactory oFctry = new ObjectFactory(driver)
driver.navigate().to(url)
oFctry.uLogin()
oFctry.navigateToPersonalFile()
then: "Validate the File"
oFctry.searchInInDirectory(myOrderID)
oFctry.navigateToProductDetailsPage(myOrderID)
cleanup: "Close the chrome browser"
DriverFactory.getInstance().removeDriver()
1 ответ
У вас есть 2 варианта: вызвать драйвер Selenium из Karate или вызвать Karate через Java API.
- Пример смешивания кода Java с использованием библиотеки Java в тесте каратэ (в данном случае JDBC): dogs.feature. Также обратитесь к тому, как вызвать Java в документации.
- Документация о том, как вызывать каратэ из Java: Java API
Лично я предпочитаю вариант 1 - это то, что вы делали со Споком.