Что такое AutoIt?
AutoIt — это бесплатный язык сценариев, разработанный для автоматизации графического интерфейса пользователя Windows и общих сценариев. Он использует комбинацию движений мыши, нажатий клавиш и управления окнами для автоматизации задачи, которая невозможна с помощью веб-драйвера селена.
В этом уроке вы узнаете
- Зачем использовать AutoIt?
- Как скачать и установить AutoIT
- Поиск элемента через идентификатор элемента и написание скрипта в редакторе AutoIT.
- AutoIT Загрузить файл в Selenium Webdriver
Зачем использовать AutoIt?
Selenium — это инструмент с открытым исходным кодом, предназначенный для автоматизации веб-приложений в различных браузерах, но для обработки оконного графического интерфейса и всплывающих окон без HTML в приложении. AutoIT требуется, так как эти оконные действия не обрабатываются Selenium.
Продвигаясь вперед, мы узнаем, как загрузить файл в веб-драйвер селена с помощью autoIT. Здесь нам нужно три инструмента для этого.
- Selenium Webdriver
- Редактор AutoIT и идентификатор элемента
- Окно, которое вы хотите автоматизировать
Как скачать и установить AutoIT
Шаг 1) : перейдите по этой ссылке.
Шаг 2) : наведите курсор на выпадающие меню «Autoit» и «Autoit Editor».
Шаг 3) Нажмите «Загрузки».
Шаг 4) : Загрузите «Autoit», нажав кнопку «Скачать Autoit».
Шаг 5) . Теперь загрузите «Autoit editor», нажав кнопку «Загрузки».
Шаг 6): Нажмите на ссылку, как показано ниже.
После загрузки вы получите два установочных файла, как показано на экране ниже, первый — это установка AutoIt версии 3 , а второй — Scitautoit3 .
Шаг 6) : Для установки AutoIT-Click по обеим настройкам AutoIT по одной.
Шаг 7) : После успешной установки — откройте AutoIT Editor.
Перейдите в «C: \ Program Files (x86) \ AutoIt3 \ SciTE»
и щелкните файл «SciTE.exe», откроется редактор AutoIT, как показано на экране ниже.
Шаг 8) : теперь открывается элемент Identifier.
Перейдите в «C: \ Program Files (x86) \ AutoIt3»
И нажмите на файл «Au3Info.exe», идентификатор элемента откроется, как показано на экране ниже.
Примечание. После того, как вы закончили с этим идентификатором элемента, вам нужно закрыть его вручную, он не закроется автоматически.
Поиск элемента через идентификатор элемента и написание скрипта в редакторе AutoIT.
Ниже мы увидим, как найти элемент в окне загрузчика файлов с помощью идентификатора элемента AutoIT (Идентификатор элемента — это инструмент, подобный IDE селена, идентификатор находит элемент окна GUI или всплывающие окна без HTML и предоставляет атрибут элемента, такой как title , class , пример ) и как написать скрипт в редакторе AutoIT, используя 3 метода.
Например: мы будем использовать страницу «Написать нам» guru99 для загрузки резюме (файл Doc).
После нажатия кнопки «Выбрать файл» на странице «Написать нам» нам нужно вызвать скрипт AutoIT. Элемент управления сразу же переводится в autoit после нажатия кнопки «Выбрать файл» с помощью инструкции ниже, которая заботится о загрузке части.
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
Наконец, когда мы запустим скрипт selenium — он заполнит форму-> загрузить резюме-> отправить форму.
Шаг 1) : Теперь откройте Идентификатор элемента — перейдите в «C: \ Program Files (x86) \ AutoIt3» и щелкните файл «Au3Info.exe», откроется окно идентификатора элемента, как показано на экране ниже.
Шаг 2) : Теперь откройте окно загрузки файлов, нажав «Выбрать файл», которое является активностью Windows.
Шаг 3) . Перетащите инструмент поиска в элемент окна «Имя файла» окна загрузчика файлов, чтобы найти информацию об основных атрибутах, как показано на приведенном ниже экране со стрелкой.
Мы можем получить значение атрибутов, т.е. title = ‘Open’ , class = ‘Edit’ и instance = ‘1’, как показано ниже. Эти значения используются при написании скрипта AutoIT, как описано в шаге 4 ниже.
Шаг 4) : Теперь откройте AutoIT редактор сценариев, Гот ‘C: \ Program Files (x86) \ AutoIt3 \ SciTE’ и нажмите ‘SciTE.exe’ , как показано на шаге 7 из 1 — й темы.
Начните писать скрипт для выбора файла для загрузки.
Есть много доступных методов, которые мы можем использовать в скрипте в соответствии с требованием, но сейчас мы сосредоточимся на следующих методах, так как эти методы необходимы для написания скрипта загрузки файла:
- ControlFocus(» title «,» text «,controlID ) //Sets input focus to a given control on a window.
- ControlSetText(» title «,» text «,controlID ,» File path which need to upload » ) // Sets text of a control.
- ControlClick(» title «,» text «,controlID ) //Sends a mouse click command to a given control.
You can see a number of methods are displayed as shown in below screen. The good feature of AutoIT is that it is somewhat like Eclipse that suggests you some of the methods.
Here in the AutoIT editor, we have selected «control focus» method. Element identifier is already opened and minimized as the element is already identified in above step 3. We can open it by maximizing it.
Now, we will take the values from element identifier for ‘ControlFocus’ and ‘ControlSetText’ methods as these methods works on same element i.e. ‘File name’ text box but for ‘ControlClick’ method need to capture values of different element i.e. ‘Open’ button.
Parameter values for ControlFocus method:
This method sets focus to the ‘file name’ text box of the file uploader window.
- 1st parameter title is » Open «.
- We ignore 2nd parameter, the text is not required.
- 3rd parameter controlID is the combination of class=’Edit’ and Instance=’1′ i.e., . ‘Edit1.’
ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.
Parameter values for ControlSetText method :
This method is used to define the path of a file which we need to upload in ‘file name’ text box. In another way, we can say that this method is used to set the text to the input element.
- 1st parameter title is » Open «.
- We ignore 2nd parameter, the text is not required.
- 3rd parameter controlID is the combination of class=’Edit’ and Instance=’1′ i.e., » Edit1 «.
- 4th parameter new text, we pass the path of the file which we need to upload.
ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method input file path of a control.
After following the above step, don’t close the windows (editor and element identifier), keep it remain open. You again need to open file uploader window as to find attributes of ‘Open’ Button as shown in below step 5.
Step 5): Now drag the finder tool on the «Open» button element of file uploader window to find the basic attribute information.
Предыдущие значения (т.е. атрибуты текстового поля «Имя файла») заменяются новыми значениями кнопки «Открыть». Вы можете видеть, что атрибут класса теперь изменен на «кнопку», которая ранее была «отредактирована» в окне идентификатора элемента AutoIT.
Мы можем получить значение атрибутов, т.е. title = ‘Open’ , class = ‘Button’ и instance = ‘1’, как показано ниже. Эти значения используются при написании скрипта Autoit, как описано ниже.
Значения параметров для метода ControlClick :
Этот метод нажимает на кнопку «Открыть» в окне загрузки файлов.
- Название первого параметра — «Открыть».
- Мы игнорируем 2-й параметр; текст не требуется.
- 3-й параметр controlID является комбинацией класса и экземпляра, т. Е. «Button1».
ControlClick("Open","","Button1") //This method click on 'Open' button of file uploader.
Шаг 6) . На приведенном ниже экране видно, что сценарий AutoIT завершен для обработки загрузчика файла. Теперь можно закрыть идентификатор элемента и сохранить сценарий как «FileUpload» в указанном месте (E: \ AutoIT).
Теперь вы не можете выполнить этот скрипт напрямую, вам нужно скомпилировать этот скрипт.
Для компиляции этого сценария у вас есть две опции: « сценарий компиляции x64 » и « сценарий компиляции x86 », если у вас 32-битная машина с Windows, тогда вы идете с « скриптом компиляции x86», а для 64-битной машины с Windows, тогда вы идете с « скрипт компиляции x64 . «
Шаг 7): файл ‘FileUpload exe’, сгенерированный после компиляции, вы можете увидеть на экране ниже. Теперь мы можем использовать этот файл в скрипте Selenium Webdriver.
Теперь мы будем использовать этот скрипт AutoIT в веб-драйвере Selenium. Проверьте ниже для вывода.
AutoIT Загрузить файл в Selenium Webdriver
В сценарии Selenium мы находим элементы формы и заполняем данные в каждом элементе по мере необходимости и загружаем файл «resume.doc», выполняя исполняемый файл AutoIT, сгенерированный из сценария AutoIT, а затем позволяем отправить форму в сценарии селена.
- Откройте Eclipse и начните писать код.
- Когда селен нажимает на кнопку «Выбрать файл», открывается окно загрузки файла.
- Затем нам нужно вызвать скрипт AutoIT, элемент управления немедленно передается в AutoIT для загрузки файла, а затем элемент управления отправляется обратно в селен, как показано ниже.
Шаг 1) : Разработка сценария селена в Eclipse.
- Класс Runtime позволяет сценарию взаимодействовать со средой, в которой выполняется сценарий.
- getRuntime () получает текущую среду выполнения, связанную с этим процессом.
- Методы exec () выполняют скрипт AutoIT (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
Выше строка вызовет скрипт AutoIT в селене и загрузит файл.
Шаг 2) : Выполните сценарий Selenium в Eclipse.
importjava.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FileUpload {
public static void main(String[] args) throws IOException {
WebDriver driver=new FirefoxDriver();
driver.get("http://demo.guru99.com/test/autoit.html");
driver.findElement(By.id("postjob")).click();
driver.findElement(By.id("input_3")).sendKeys("Gaurav");
driver.findElement(By.id("id_4")).sendKeys("[email protected]");
driver.findElement(By.id("input_4")).click();
// below line execute the AutoIT script .
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium");
driver.findElement(By.id("input_2")).click();
driver.close();
}
}
Шаг 3) : Проверьте вывод, файл резюме.doc успешно загружен, и появится сообщение с благодарностью.
Вывод:
- Скачал и установил Идентификатор элемента и редактор AutoIT.
- Открыт сайт, на котором нужно сделать операцию.
- Идентификатор элемента идентифицирует элементы окна загрузки файла.
- Подготовлен скрипт AutoIT в редакторе с помощью идентификатора элемента.
- Скрипт Autoit используется в скрипте Selen Webdriver.
- Выполнен сценарий селена.
- Вывод: файл успешно загружен.
Эта статья предоставлена Гауравом Нигамом