Может ли Selenide работать с виндовыми окнами (выбор файла или выбор ЭЦП), или с бибилиотекой AutoIT?

Теги: #<Tag:0x00007f78f7b5a370> #<Tag:0x00007f78f7b5a280> #<Tag:0x00007f78f7b5a190> #<Tag:0x00007f78f7b5a078> #<Tag:0x00007f78f7b59fb0>

Нужно в автотестах задействовать виндовые окна выбора файлов и др. Ранее делали такое в связке Selenium + AutoIT. Умеет ли Selenide такое?

зачем работать с виндовыми окнами? если вам надо указать файл, то вы в инпут просто передаёте полный путь до него, и не надо городить костыли с выбором файла

Бывают модальные окна Ок/Да/Нет, которые не относятся к браузеру, но могут вылезти при некоторых кейсах.

Окна бывают разные.

  1. Окошки для выбора файлов при загрузке или скачивании - не нужны в принципе. Селенид сразу открывает браузер с такими настройками, чтобы файлы скачивались без всяких диалогов.
  2. Джаваскриптовские окошки “alert”, “confirm”, “prompt” (на них как раз кнопки Yes/No/Cancel) - для них у селенида есть методы Selenide.confirm() и Selenide.dismiss().
  3. А других окошек я не знаю. :slight_smile:

Для загрузки открепленной ЭЦП, попробую. Спасибо. Отпишусь позже, получилось или нет.

что-то так и не нашла я возможность у селенида загружать файлы без диалогов( Сейчас сценарий такой, что мне нужно выбрать подписанный файл и открепленную подпись (*.sig) в одном из действий. т.е. я нажимаю кнопку Добавить в браузере и открывается диалог, где уже я должна выбрать первый файл, потом второй раз нажимаю добавить ЭЦП и выбираю файл подписи.

Как я сказал выше, всегда зависит от того, что за диалог у вас там используется. Я не знаю, какой у вас диалог.

P.S. метод селенида для загрузки файла баз диалога такой: $("input").uploadFile(...);

Виндовая загрузка, которое селениум не распознает.

просто зарузка файла в обход диалога не удовлетворяет требованию - полное повторение действия пользователя…

В автоматических тестах такого требования в принципе не должно быть. Автотесты только для того и существуют, чтобы работать НЕ КАК ЛЮДИ: быстро и надёжно.

Вот и в данном случае: важно, чтобы тест выбрал нужный файл быстро и надёжно, а с диалогом или без - совершенно неважно.

А если кнопки для добавления файла будут не активны или кликабельны, но не вызывать диалог? Получается автотест пройдет, но данную ошибку не выявит…

Чтобы файл загрузился, кнопку обычно всё-таки надо кликнуть. Поэтому тест всё-таки проверяет, что кнопка видна и кликабельна.

не уверен, что такая ситуация возможна
поле-то ждёт просто путь к файлу (ибо input), вы можете один раз руками проверить, что кнопка вызывает появление диалогового окна винды и всё, больше не думать об этом, и просто пихать путь к файлу в это поле

Этот функционал входит в bvt и как раз надо бы это автоматизировать. Сделаю с autoIT пока, хотя тоже вариант не очень стабильный

вы сами усложняете себе работу
даже если этот ui компонент будет меняться, вы гарантированно руками хоть раз будете заходить на тестовый стенд и увидите сами, что что-то пошло не так

наворачивать поверх браузерного тестирования что-то, связанное с взаимодействием с системой - это руинить себе будущее ускорение автоматизации, ибо параллелизации не будет, тесты в один поток на виндовой виртуалке всю ночь, тесты флакуют, ■■■■ горит
это всё пройдено до вас, лучше не повторяйте ошибок

Что за бред ? Зачем это тестить ?
Это стандартное диалоговое окно выбора файла, которое гарантирует input. Точка.

■■■■ горит
это всё пройдено до вас, лучше не повторяйте ошибок

Видимо, у автора еще не горело :smiley: