#karate
#karate
Вопрос:
Мы пытаемся протестировать веб-приложение POS (точка продажи), работающее на chromium (размещенное в контейнере docker). Chromium работает в режиме киоска, поэтому вы не увидите адресную строку, строку меню и т. Д. Теперь самое сложное для нас — взаимодействовать с этим веб-приложением, которое уже открыто и запущено. Мне просто интересно, какой маршрут или метод karate-ui я должен использовать в этом случае, чтобы в конечном итоге не открывать новый сеанс браузера.
Ответ №1:
Важно, чтобы Chrome запускался с включенным отладочным портом: --remote-debugging-port
— так что, если вы можете заставить команду POS внести это изменение, вы в бизнесе. На самом деле это должно быть легко
а) передайте переменную среды, чтобы контейнер POS docker добавил этот аргумент CLI в chrome
б) разрешить этот порт для контейнера Docker
Вы можете почерпнуть некоторые идеи из контейнера Karate Docker: https://github.com/intuit/karate/blob/master/karate-docker/karate-chrome/supervisord.conf
Затем используйте конфигурацию драйвера пользовательского интерфейса Karate как start: false, port: <port you set, typically 9222>
Комментарии:
1. Привет @Питер Томас, большое спасибо за предложение
start: false
параметра. Я протестировал его с локальным экземпляром chromium на Mac, и он абсолютно нормально работал. Но, тем не менее, есть небольшая проблема, так как приложение / окно закрывается каратэ в конце тестового запуска. Поскольку это POS-приложение, мы хотели бы, чтобы оно работало на устройстве вечно (24/7). Мы просто хотим запустить приложение и оставить его как есть после запуска теста. Есть ли какой-либо способ для karate не закрывать окно? мой аргумент в пользу этого — karate не вызывал браузер в первую очередь, поэтому он также не должен его закрывать. Вы согласны 🙂 ?2. @yek — да, это имеет смысл. не стесняйтесь открывать проблему. вы даже можете попробовать внести свой вклад в код, я могу предоставить предложения на GitHub для всех, кто заинтересован. но, возможно, Java API больше подходит для этого особого случая: github.com/intuit/karate/tree/master /…
3. Я поднял проблему github.com/intuit/karate/issues/1352