Добрый день всем!
У меня линукс. Пишу автотесты на Python3 с использованием вэбдрайвера. Сразу прошу прощение за глупые вопросы, но я новичок и очень хочется научиться
Есть такая задача: загрузить картинку на сайт и потом взять ее линк для проверки.
Проблема в том что при нажатии на кнопку загрузки картинки открывается окно все браузера, и как следствие, вэбрайвер не работает. В этом окне мне нужно ввести адрес ~/image/, несколько раз нажать вниз и потом ENTER.
Покапавшись в нете я понял что это решает “python-uinput” python-uinput | tuomasjjrasanen , но вот подробно о том как сказать компьютеру выполнить эти команды, я не могу понять!
Помогите пожалуйста!)
Вот скриншот - окно системное, открывается и нужно работать именно с ним.
Кодом я довожу до открытия этого окна. но дальше ничего не происходит… если быть точным то я ничего и не написал… не могу понять как управлять. @polusok: пробовал этот код как тут рекомендовали не работает - нужно что-то не вэбдрайверское.
Мне более важно было посмотреть форму апплоада на сайте, нежели само окно выбора файла и также посмотреть html.
Ну еще надо понимать как работает upload RFC 1867 - Form-based File Upload in HTML ведь необязательно эмулировать клики мышкой и так далее, потому так можно например сделать upload через javascript.
Вам НЕ нужно доходить до этапа системного окна, то есть кликать на кнопку НЕ нужно. Необходимо передать файл напрямую через метод sendKeys() вебдрайвера КНОПКЕ АПЛОАДА НА СТРАНИЦЕ, о чем тут уже не один раз упомянули. Покажите html с кнопкой аплоада.
Но это настолько костыльный метод.
Если у кого-то есть совет как настроить работу с системными окнами буду очень благодарен!
И еще, Огромное всем спасибо за отзывчивость по данной теме!)
То есть доп строчка кода - это костыльный метод, а городить конструкцию для взаимодействия с системными окнами - это хорошо?) Я так понимаю, вами движет маниакальное желание точь-в-точь повторить действия пользователя при автоматизации кейса, но это не всегда хорошо и практично. Ваш случай как раз отличный пример такого ‘не всегда хорошо и практично’.
@Denis_Gayevskiy: ))) просто хочется разобраться как работать не только с использованием браузера и действительно мной “движет маниакальное желание точь-в-точь повторить действия пользователя при автоматизации кейса” - вы это хорошо подметили)