Я пытался найти способ запустить все функции в тестировании каратэ через maven, используя внешнюю переменную для настройки браузера (с локальным веб-драйвером или с помощью сетки Selenium).
Так что-то вроде:
mvn test -Dbrowser=chrome (or firefox, safari, etc)
или с использованием сетки Selenium:
mvn test -Dbrowser=chrome (or firefox, safari, etc) -Dgrid="grid url"
С Cucumber и Java это было довольно просто, используя синглтон для настройки глобальный веб-драйвер, который затем использовался во всех тестах. Таким образом, я мог запускать тесты с различными локальными или удаленными веб-драйверами.
В карате я пробовал другое решение, последним было:
- определить файл конфигурации карате переменной "browser"
- использовать переменную "browser" в единственная функция «X», в которой я установил только драйвер каратэ
- из всех других функций с помощью callonce для повторного вызова функции «X» для использования этого драйвера
но это не сработало и, честно говоря, мне кажется, это не правильный подход. Вероятно, возможность установить драйвер каратэ из функции Javascript внутри функций - это правильный путь, но я не смог найти решение этой проблемы.
Еще одна проблема, которую я обнаружил с каратэ, это дифференцирование поведения с помощью локальный или удаленный веб-драйвер, так как в файлах функций они установлены по-разному.
Так есть ли у кого-нибудь мои же потребности и как я могу их решить?