Я работаю с веб-сервисом. Фреймворк на Java.
Так вот, у меня вечно проблема - с загрузкой файла на сервис.
Сколько я всего перечитал и переделал уже, и всё равно проблемы. Всё что пишут driver.findElement(By,id(uploadButton)).sendKeys(pathToFile) вообще не срабатывает. Использовал и AutoIt, и Robot.
А проблема всегда в том, что скрипт открывает диалоговое окно и:
Или не прописывает путь к файлу.
Или просто потом не нажимает на кнопку.
Буду благодарен за совет.
Спасибо за внимание.
С уважением, Александр.
В примере кода два метода один как я понял для AutoIt.
напишите ошибку, которая выдается вашим IDE при запуске 1го метода и 2го.
Абсолютный путь правильно прописан?
fileUploadButton - напишите локатор
Большое спасибо всем за помощь.
Проблема пока решилась банальным sleep на 500 мс.
Это мой первый вопрос на сайтах, и очень приятно что всегда есть люди, которые с терпением и понимание выслушают и помогут.
Спасибо всем огромное за помощь.
Проблема решилась банальным sleep на 500.
Но снова начинает проявляться (((
Это мой первый вопрос на сайтах, о мне очень приятно, что есть всегда люди которые помогут, выслушают, и всё это терпеливо.
Спасибо ; )
Только учтите, что робот будет работать только локально. Для удаленного запуска вам придется писать свою клиент-серверную часть, или использовать какие-нибудь готовые решения, умеющие выполнять команды на удаленной ВМ. В качестве альтернативы можно еще использовать Sikuli для работы с модальными окнами.
Все равно есть одно но: Sikuli хорошо заточен под работу на локальной машине, но удаленное управление пока еще на стадии разработки. В новом SikuliX 2014 заимплементили remote server, но он пока еще очень сырой, с ограниченным набором функций. Для себя лично я пока нахожу его мало полезным.
Когда-то наткнулся на вот такой самописный Sikuli клиент-сервер. Даже успешно применял его на одном из проектов. Но из-за специфики архитектуры и давности написания, поддерживать его не так уж и просто. Он использует питоновский интерпритатор с клиент-сервером и оберткой, написанной на java.
После выхода нового SikuliX 2014, я задался целью его внедрения в уже существующий клиент-серверный код. Но вот незадача вышла: новый сикули полностью написан на java, а клиент-серверная платформа, используемая в выше приведенном источнике, уже устарела. Посему, если кто-то вдруг захочет применять новый сикули с полным функциональным набором удаленно, то проще будет написать свою клиент-серверную часть и обернуть нужные SikuliX API, например, в REST формат (пока разработчики не выпустят полнофункциональный Remote Sikuli).