Как обращаться с окнами в Selenium Webdriver
Я столкнулся с приведенным ниже сценарием https://ipay.adp.com/iPay/login.jsf При нажатии на кнопку входа в систему на странице появляется всплывающее окно, с которым я не могу справиться. Может ли кто-нибудь помочь мне в решении этого сценария..
2 ответа
Пожалуйста, выполните следующие шаги:
1. Загрузите инструмент AutoIT. Его можно загрузить с http://www.autoitscript.com/site/autoit/downloads/
Примечание: пожалуйста, скачайте полную установку AutoIT
- При установке AutoIT вы получите два варианта: запустить скрипт и отредактировать скрипт. Если вы собираетесь использовать сценарий без каких-либо изменений, выберите "Запустить сценарий". Если вы хотите настроить сценарии, выберите "Изменить сценарий" (рекомендуется, поскольку нам всегда нужно настраивать сценарии для наших нужд. Иногда нам нужно создавать собственные сценарии.)
- Откройте место, где установлено авто
- Откройте "Папка Extras", а затем "Au3Record". Для X-86 используйте этот путь C:\Program Files (x86)\AutoIt3\Extras\Au3Record
- Откройте Recorder и дождитесь его запуска
- В браузере выполните шаги, чтобы показать это окно
- Теперь нажмите кнопку записи на рекордере
- Выполнять последовательность клавиш на клавиатуре, которую вы хотите выполнить, не используйте мышь, только клавиатуру
- Теперь нажмите Стоп
- Сохраните ваш скрипт и сохраните его в каком-то месте
- Щелкните правой кнопкой мыши по сценарию и выберите команду compile(X86).
Вы заметите, что файл.exe, созданный сейчас, использует этот.exe в вашем коде Java, следуя коду
Процесс process=Runtime.getRuntime(). Exec("абсолютный путь к exe "); process.waitFor(); process.destroy(); или сделайте следующий шаг, откройте блокнот и вставьте код, указанный ниже
region --- Запуск сгенерированного кода Au3Recorder (v3.3.9.5 KeyboardLayout=00000409) ---
регион --- внутренние функции Au3Recorder Start ---
Func _Au3RecordSetup () Opt ('WinWaitDelay', 100) Opt ('WinDetectHiddenText', 1) Opt ('MouseCoordMode', 0) Локальный $aResult = DllCall('User32.dll', 'int', 'GetKeyboardLayoutNameW', ', '') If $aResult[1] <> '00000409'Тогда MsgBox(64, 'Warning', ' Запись была сделана под другой раскладкой клавиатуры '& @CRLF &' (00000409-> '& $ aResult [ 1] & ')') EndIf
EndFunc
_AU3RecordSetup ()
endregion --- Внутренние функции Au3Recorder End ---
Отправить ("testUsername {TAB} Testpasword {ENTER}")
endregion --- код, созданный Au3Recorder End ---
сохраните файл как "authenticationAD.au3", теперь создайте исполняемый файл этого файла, как те же самые шаги, упомянутые выше в шагах 11-12. Пожалуйста, измените testUsername и пароль на правильные, но не удаляйте и {Tab} {и Enter}
если вы все еще сталкиваетесь с этой проблемой, то скажите мне, что я отправлю вам по электронной почте java файл со сценарием auto it
Ты можешь использовать autoit
автоматизировать всплывающее окно.
Увидеть:
- https://www.autoitscript.com/autoit3/docs/tutorials/notepad/notepad.htm
- https://automationtestingsimplified.wordpress.com/2011/08/11/how-to-handle-window-based-pop-up-using-selenium-and-autoit/
И тогда вы можете позвонить exe
файл с использованием Java
//click on the login button
Process process= Runtime.getRuntime().exec("C:\\Documents and Settings\\new.exe"); // Give path where the exe is saved.
process.waitFor();
process.destroy();