Я выясняю, что в каратэ тестирует лучшую практику повторного использования некоторых функций, содержащих этапы селена, в других функциях. Другими словами, я хотел бы использовать сценарий ios, содержащий часть просмотра веб-страниц, и вспомнить их в других функциях.
Это важно с моей точки зрения для:
- хранения частей селена, которые в противном случае будут распространяться на все функции
- , имеющие одну единственную точку на случай, если что-то изменится в веб-интерфейсе (селектор и т. д. c)
Я попытался определить функцию "A", которая:
- устанавливает URL открыть с помощью браузера (в переменной, скажем, my_url)
- вызывает сценарий в функции B
Функция "B" открывает URL-адрес в браузере и что-то делает Например, нажимает на кнопку и ждет div:
Given driver my_url
When waitForEnabled(<button selector>).click()
Then match waitFor(<div selector>).text == 'Signing complete'
Проблема с этим решением заключается в том, что при запуске функции A она вызывает функцию B и работает нормально, но не закрывается. веб-драйвер в конце функции. Вероятно, использование ловушки, закрывающей веб-драйвер после сценария в функции B, может быть решением, но я не уверен, что это лучший способ сделать это.
Я попытался запустить функцию в своей IDE (IntelliJ Идея), а не с Maven.
Так вы пробовали другие решения для этого? У вас есть подсказки / советы, чтобы предложить?