Возможность использования каратэ вместе с селеновым 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 - это то, что вы делали со Споком.

Другие вопросы по тегам