how handle windows pop up selenium using autoit
Този урок обяснява различни методи за справяне с Windows Pop Up в селен, когато автоматизацията излезе извън обхвата с помощта на инструмента AutoIT:
AutoIT е инструмент на трета страна, който дава на Selenium помощна ръка за справяне с изскачащи прозорци като изскачащи прозорци за удостоверяване на Windows, Flash приложения, настолни приложения и т.н.
Селенът е ограничен само за автоматизиране на уеб приложения. В някои случаи в приложението може да се появи изскачащ прозорец на Windows, с който Selenium не може да се справи. За да се справи с подобни сценарии, AutoIT подава ръка, в която се грижи за автоматизиране на Windows изскачащи и настолни приложения.
=> Посетете тук, за да видите поредицата за обучение за селен за всички.
Какво ще научите:
Преглед на инструмента AutoIT
Ето видео урок:
Работете с Windows Pop Up с помощта на AutoIT
AutoIT е инструмент на трета страна, който се използва за работа с приложения, базирани на Windows. Използваният скриптов език се нарича VBScript.AutoIt също е безплатна програма. Използва комбинация отдвижение на мишката и натискания на клавиатурата за автоматизиране на действията, които не са възможни за извършване от селенов уеб драйвер.
AutoIt се използва във формат .exe, за да може да се използва в скрипта за автоматизация на Selenium.
Нека да разгледаме пример, където ще трябва качи файл към приложението.
Сценарият е да качите снимка на профила в LinkedIn. Тестовите стъпки за този сценарий са:
- Въведете URL
- Въведете валидно потребителско име, парола и влезте.
- Щракнете върху иконата за качване на профил.
- Появява се изскачащ прозорец на Windows, в който е въведен пътят за качване на снимка.
До стъпка 3 Selenium Automation може да се справи. Когато се появи изскачащ прозорец на Windows, скриптът AutoIT се използва за автоматизиране на тази част.
Сега нека да разгледаме как да автоматизираме действията в изскачащия прозорец на Windows?
Това може да се обработи по 4 различни начина.
- Използване на Windows Commands за качване на определен файл.
- Използване на команди за управление за качване на файл.
- Използване на аргумента на командния ред за указване на Името на файла, което ще бъде качено.
- Използване на инструмента за запис на AutoIT.
Всички скриптове са създадени с помощта на AutoItScriptEditor, който се предлага в пакета AutoIt папка.
Отидете до AutoIt3> SciTE> SciTE.exe и отворете приложението ScriptEditor.
# 1) Използване на Windows команди
Имаме различни набори от функции в AutoIt.
Можете да погледнете тук. Сега, за да автоматизирате изскачащите действия на Windows, нека първо анализираме действията. Те включват:
- Задайте фокуса на текущия прозорец.
- Въведете пътя на името на файла за качване в полето Име на файл.
- Щракнете върху бутона Отваряне или Натиснете Enter в клавиатурата.
Нека разберем подробно горните точки:
- Задайте фокуса на текущия прозорец
WinWaitActive : Задава фокуса на курсора на указаното име на прозорец. В този случай заглавието на прозореца е „Отворено“. Така че ние посочваме командата катоWinWaitActive („Отваряне“).
Моля, обърнете внимание, че едно и също заглавие на Windows се различава за всеки браузър.
Казвам, за Firefox , това е „Качване на файл“, - Така че командата AutoIT ще бъдеWinWaitActive („Качване на файл“).
За IE, това е „Файл за качване“ - Така че командата AutoIT ще бъдеWinWaitActive („Файл за качване“)
За Chrome , това е „Отворено“ - Така че командата AutoIT ще бъдеWinWaitActive („Отваряне“)
Трябва да посочите заглавието на прозореца въз основа на браузъра, който използвате за автоматизация.
две. Въведете пътя на името на файла за качване в полето Име на файл
Изпрати - изпраща удари от клавиатурата или с други думи, симулира действия на клавиатурата.
Действията може да са натискане на клавиша Enter, клавиша Shift и т.н. ИЛИ да напиша низ, номер и т.н. В този пример трябва да напиша fileName, затова използвам командата, за да въведа името на файла в прозореца. -Изпращане („D: паспорт.jpg“)
3. Щракнете върху бутона Отваряне или Натиснете Enter в клавиатурата
Изпращане ({ENTER})- изпраща натискане на ENTER до прозореца, което от своя страна завършва действието на качване.
нов частен сървър на world of warcraft
Запазете скрипта, създаден на всяко място. Той ще бъде запазен във формат .au3. След като бъде запазен, щракнете с десния бутон на мишката върху .au3 файла и го компилирайте.
След компилация той се преобразува във формат .exe (изпълним формат). Този файл е това, което използваме в скрипта на Selenium.
След като .exe файлът бъде създаден, можете да използвате файла в скрипта за автоматизация на Selenium, за да стартирате командите в него
Runtime.getRuntime.exec („посочете тук името на файла autoIt exe“)
# 2) Използване на команди за управление
Имаме определени команди за управление в AutoIT за извършване на действия. Ето списъка с команди за управление в AutoIT.
Нека да видим как да автоматизираме същия сценарий за качване на файлове, като използваме тези команди за управление на AutoIT.
Сега по ред за да автоматизирате изскачащия прозорец на Windows, трябва да се изпълнят следните действия:
- Задайте фокуса на текущия прозорец.
- Въведете пътя на името на файла за качване в полето Име на файл.
- Щракнете върху бутона Отваряне или Натиснете Enter в клавиатурата.
Нека разберем подробно горните точки:
- Задайте фокуса на текущия прозорец
ControlFocus:Задава фокус към посочения елемент. В този случай фокусираме върху текстовото поле за редактиране.
Когато погледнете описанието му, можете да видите, че то изисква един или повече параметри. Можем да предадем тези параметри, като използваме инструмента Windows Info на AutoIt.
Нека да отворете приложението AutoIT, както е показано по-долу:
Инструментът за информация за Windows се отваря по-долу:
Този инструмент се използва за проверка на елементи в приложението / изскачащите прозорци на Windows.
За да получите различни атрибути на всеки елемент в изскачащия прозорец на Windows, плъзнете иконата „Finder“ на инструмента за информация на Windows и кликнете върху елемента, за да се покажат неговите свойства, както е показано по-долу.
Имаме неговите свойства, показани в инструмента, както е показано.
За полето FileName свойствата и съответните му стойности са:
- Заглавие - отворено
- ClassName - Редактиране
- Инстанция - 1
Използвайки тези свойства, можем да предадем параметрите на командата за управление.
Сега, за да зададем фокус върху полето FileName, извикваме командата ‘ControlFocus’, както е показано по-долу:
- Синтаксис : ControlFocus („заглавие“, „текст“, controlID)
- „Заглавието“ съответства на заглавието, показано в инструмента.
- Control Id е комбинацията от ClassName + Instance в инструмента
ControlFocus („Open“, „“, „Edit1“)
Където,
- Отворено - е заглавието
- Edit1 - е controlID (controlID = ClassName + Instance)
две. Въведете пътя на името на файла за качване в полето Име на файл
ControlSetText - пише в текста към елемента.
- Синтаксис : ControlSetText („заглавие“, „текст“, controlID, „нов текст“ (, флаг = 0))
В нашия случай имаме името на файла в текстовото поле.
ControlSetText („Отваряне“, „„, „Редактиране1“, „D: паспорт.jpg“)
Където,
- Отворено - е заглавието
- Edit1 - е controlID (controlID = ClassName + Instance)
- D: паспорт.jpg - е името на файла за качване
3. Щракнете върху бутона Отваряне или Натиснете Enter в клавиатурата
ControlClick - извършва действие с щракване върху елемента. В този пример извършваме кликване върху бутона „Отваряне“
- Синтаксис : ControlClick („заглавие“, „текст“, controlID (, бутон = „вляво“ (, щраквания = 1 (, x (, y))))))
В нашия случай трябва да кликнете върху бутона „Отваряне“ в изскачащия прозорец на Windows.
ControlClick (“Open”, ””, ”Button1”)
Където,
- Отворено - е заглавието
- Бутон1 - е контролния идентификатор (controlID = ClassName + Instance)
Извикваме .exe файла от кода на Selenium с помощта на командата-Runtime.getRuntime.exec („посочете тук името на файла autoIt exe“)
ЗАБЕЛЕЖКА: Когато трябва да качим множество файлове в един екземпляр, можем да посочим всички имена на файлове в променлива и да предадем името на променливата в командата.
ControlFocus - задава фокус върху елемента.
$ files - е създадената променлива и съдържа текста / името на файла, които трябва да бъдат качени.
ControlSetText - предава променливата, която има имената на файловете, които трябва да бъдат качени, в елемента ‘Редактиране’.
ContolClick - извършва действие с щракване върху елемента.
# 3) Използване на командния ред за посочване на името на файла за качване
Към същата процедура може да се подходи по различен начин, когато името на файла се получава от потребителя. Това се прави с помощта на подхода на командния ред.
Вместо директно да посочим името на файла в AutoIT, ние го предаваме в кода на Selenium, както е показано по-долу:
AutoIT скрипт: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
В селен код:
Ние го определяме като:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
В този случай ще бъде
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Запазете създадения файл и го компилирайте, за да го конвертирате в изпълним формат.
# 4) Използване на функцията за запис на AutoIT
Тази функция е налична само във версии под 3.3.14.0. Версии, по-големи от тази, не поддържат тази функция.
За да отворите инструмента за запис, отворете AutoIt3> Екстри> Au3Record> Au3Record.exe
Когато започнем да използваме това, винаги не забравяйте да отмените опцията ‘Record Mouse’, тъй като взаимодействието с мишката варира за всяка разделителна способност на екрана. Винаги записвайте ударите на клавиатурата.
Изберете ‘Click to Record’ в инструмента и действията се записват в него.
Когато приключите със записа, изберете ‘Click to Stop’ и запазете файла
Можете да отворите записания .au3 файл, за да видите командите, създадени за всяко действие, което сте извършили
Компилирайте скрипта и го конвертирайте в .exe файл.
Създаденият .exe файл може да се използва директно в кода на Selenium за изпълнение, както е показано по-долу:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Заключение
По този начин всяко изскачащо съобщение на Windows като удостоверяване или качване на файлове или отворен файл и т.н. може да се обработва с помощта на AutoIT, като се включи неговият скриптов файл в Selenium.
В следващата глава ще научим за друг инструмент на трети страни, наречен Sikuli, който се използва за автоматизиране на приложения, използвайки техниката за разпознаване на изображения.
=> Посетете тук, за да научите селен от нулата.
Препоръчително четене
- Как да боравим със сигнали / изскачащи прозорци в Selenium WebDriver - Урок за селен # 16
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Топ 10 изключения от селен и как да се справим с тях (точен код)
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Урок за AutoIt - AutoIt Изтегляне, инсталиране и основен скрипт за AutoIt
- Урок за ChromeDriver Selenium: Тестове на Selenium Webdriver в Chrome
- 30+ най-добри урока за селен: Научете селен с реални примери
- Възможност за работа на свободна практика на непълно работно време за експерти по селен