Как тестировать функционал, который использует плагин для ЭЦП?
Всем привет. Есть банковское приложение на реакте, в приложении присутствуют разного рода формы, сохранение изменений в которых требует подписи со стороны клиента. Для этого подрубается плагин электронной цифровой подписи, если конкретно - cryptopro, который выполняет большую часть работы. Плагин крутится в браузере юзера как расширение, при сохранении изменений в форме, код скармливает плагину дайджест, летящий с бэка, плагин выплевывает подпись, которая потом летит на этот бэк с изменениями. Все это сопровождается появлением нативной модалки, куда пользак до кучи должен ввести пин.
Теперь к теме вопроса, эту историю хорошо бы покрыть e2e тестами. У нас для этого используется cypress, который в данной ситуации спотыкается о 2 момента:
1. Непонятно как установить плагин в инстанс хрома, в котором фреймворк все прокликивает
2. Непонятно как взаимодействовать с нативными модалками и вводит в них пины
Вопрос - реально ли вообще с помощью cypress покрыть этот функционал е2е тестами, и если нет, какие есть альтернативы?
Хрому можно указывать при запуске путь к плагину КриптоПро что то типа "--load-extension=\\chromeplugins\\CryptoPro"
Чтобы не выскакивало лишних модалок при обращении к хранилищу, в настройках плагина хост надо ввести в доверенные, а пароль соответственно отключить. Так как если не ошибаюсь модалки эти не плагина а самого приложения КриптоПро
Очень здравая мысль, спасибо. Осталось только подумать, как это все в рамках CI/CD интегрировать, потому что тесты в основном гоняет джоба после мерджа изменений, а не разработчик на локальной тачке. Но это уже с девопсами наверное общаться надо.
я таких слов не понимаю. равно как и проблемы установить плагин. но совершенно точно знаю что при вводе пина можно поставить крыжик чтобы его больше не запрашивало, а стандартный пин 12345678. ну и когда-то давно меня учили что если используете что-то внешнее можно для тестирования сделать заглушку которая будет в тестах работать вместо него и возвращать нужный для тестов ответ. тогда ни плагинов ставить не надо ни пин вводить.