Учебники

46) АвтоИТ с Селеном

Что такое AutoIt?

AutoIt — это бесплатный язык сценариев, разработанный для автоматизации графического интерфейса пользователя Windows и общих сценариев. Он использует комбинацию движений мыши, нажатий клавиш и управления окнами для автоматизации задачи, которая невозможна с помощью веб-драйвера селена.

В этом уроке вы узнаете

Зачем использовать AutoIt?

Selenium — это инструмент с открытым исходным кодом, предназначенный для автоматизации веб-приложений в различных браузерах, но для обработки оконного графического интерфейса и всплывающих окон без HTML в приложении. AutoIT требуется, так как эти оконные действия не обрабатываются Selenium.

Как использовать AutoIT с Selenium

Продвигаясь вперед, мы узнаем, как загрузить файл в веб-драйвер селена с помощью autoIT. Здесь нам нужно три инструмента для этого.

  • Selenium Webdriver
  • Редактор AutoIT и идентификатор элемента
  • Окно, которое вы хотите автоматизировать

Как скачать и установить AutoIT

Шаг 1) : перейдите по этой ссылке.

Шаг 2) : наведите курсор на выпадающие меню «Autoit» и «Autoit Editor».

Как использовать AutoIT с Selenium

Шаг 3) Нажмите «Загрузки».

Как использовать AutoIT с Selenium

Шаг 4) : Загрузите «Autoit», нажав кнопку «Скачать Autoit».

Как использовать AutoIT с Selenium

Шаг 5) . Теперь загрузите «Autoit editor», нажав кнопку «Загрузки».

Как использовать AutoIT с Selenium

Шаг 6): Нажмите на ссылку, как показано ниже.

Как использовать AutoIT с Selenium

После загрузки вы получите два установочных файла, как показано на экране ниже, первый — это установка AutoIt версии 3 , а второй — Scitautoit3 .

Как использовать AutoIT с Selenium

Шаг 6) : Для установки AutoIT-Click по обеим настройкам AutoIT по одной.

Шаг 7) : После успешной установки — откройте AutoIT Editor.

Перейдите в «C: \ Program Files (x86) \ AutoIt3 \ SciTE»

Как использовать AutoIT с Selenium

и щелкните файл «SciTE.exe», откроется редактор AutoIT, как показано на экране ниже.

Как использовать AutoIT с Selenium

Шаг 8) : теперь открывается элемент Identifier.

Перейдите в «C: \ Program Files (x86) \ AutoIt3»

Как использовать AutoIT с Selenium

И нажмите на файл «Au3Info.exe», идентификатор элемента откроется, как показано на экране ниже.

Как использовать AutoIT с Selenium

Примечание. После того, как вы закончили с этим идентификатором элемента, вам нужно закрыть его вручную, он не закроется автоматически.

Поиск элемента через идентификатор элемента и написание скрипта в редакторе AutoIT.

Ниже мы увидим, как найти элемент в окне загрузчика файлов с помощью идентификатора элемента AutoIT (Идентификатор элемента — это инструмент, подобный IDE селена, идентификатор находит элемент окна GUI или всплывающие окна без HTML и предоставляет атрибут элемента, такой как title , class , пример ) и как написать скрипт в редакторе AutoIT, используя 3 метода.

Например: мы будем использовать страницу «Написать нам» guru99 для загрузки резюме (файл Doc).

После нажатия кнопки «Выбрать файл» на странице «Написать нам» нам нужно вызвать скрипт AutoIT. Элемент управления сразу же переводится в autoit после нажатия кнопки «Выбрать файл» с помощью инструкции ниже, которая заботится о загрузке части.

Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");			

Наконец, когда мы запустим скрипт selenium — он заполнит форму-> загрузить резюме-> отправить форму.

Как использовать AutoIT с Selenium

Шаг 1) : Теперь откройте Идентификатор элемента — перейдите в «C: \ Program Files (x86) \ AutoIt3» и щелкните файл «Au3Info.exe», откроется окно идентификатора элемента, как показано на экране ниже.

Как использовать AutoIT с Selenium

Шаг 2) : Теперь откройте окно загрузки файлов, нажав «Выбрать файл», которое является активностью Windows.

Как использовать AutoIT с Selenium

Шаг 3) . Перетащите инструмент поиска в элемент окна «Имя файла» окна загрузчика файлов, чтобы найти информацию об основных атрибутах, как показано на приведенном ниже экране со стрелкой.

Как использовать AutoIT с Selenium

Мы можем получить значение атрибутов, т.е. title = ‘Open’ , class = ‘Edit’ и instance = ‘1’, как показано ниже. Эти значения используются при написании скрипта AutoIT, как описано в шаге 4 ниже.

Как использовать AutoIT с Selenium

Шаг 4) : Теперь откройте AutoIT редактор сценариев, Гот ‘C: \ Program Files (x86) \ AutoIt3 \ SciTE’ и нажмите ‘SciTE.exe’ , как показано на шаге 7 из 1 — й темы.

Начните писать скрипт для выбора файла для загрузки.

Есть много доступных методов, которые мы можем использовать в скрипте в соответствии с требованием, но сейчас мы сосредоточимся на следующих методах, так как эти методы необходимы для написания скрипта загрузки файла:

  1. ControlFocus(» title «,» text «,controlID ) //Sets input focus to a given control on a window.
  2. ControlSetText(» title «,» text «,controlID ,» File path which need to upload » ) // Sets text of a control.
  3. 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.

Как использовать AutoIT с Selenium

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.						

Как использовать AutoIT с Selenium

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.				

Как использовать AutoIT с Selenium

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.

Как использовать AutoIT с Selenium

Мы можем получить значение атрибутов, т.е. title = ‘Open’ , class = ‘Button’ и instance = ‘1’, как показано ниже. Эти значения используются при написании скрипта Autoit, как описано ниже.

Как использовать AutoIT с Selenium

Значения параметров для метода ControlClick :

Этот метод нажимает на кнопку «Открыть» в окне загрузки файлов.

  • Название первого параметра — «Открыть».
  • Мы игнорируем 2-й параметр; текст не требуется.
  • 3-й параметр controlID является комбинацией класса и экземпляра, т. Е. «Button1».
ControlClick("Open","","Button1") //This method click on 'Open' button of file uploader.

Как использовать AutoIT с Selenium

Шаг 6) . На приведенном ниже экране видно, что сценарий AutoIT завершен для обработки загрузчика файла. Теперь можно закрыть идентификатор элемента и сохранить сценарий как «FileUpload» в указанном месте (E: \ AutoIT).

Как использовать AutoIT с Selenium

Теперь вы не можете выполнить этот скрипт напрямую, вам нужно скомпилировать этот скрипт.

Для компиляции этого сценария у вас есть две опции: « сценарий компиляции x64 » и « сценарий компиляции x86 », если у вас 32-битная машина с Windows, тогда вы идете с « скриптом компиляции x86», а для 64-битной машины с Windows, тогда вы идете с « скрипт компиляции x64 . «

Как использовать AutoIT с Selenium

Шаг 7): файл ‘FileUpload exe’, сгенерированный после компиляции, вы можете увидеть на экране ниже. Теперь мы можем использовать этот файл в скрипте Selenium Webdriver.

Как использовать AutoIT с Selenium

Теперь мы будем использовать этот скрипт AutoIT в веб-драйвере Selenium. Проверьте ниже для вывода.

AutoIT Загрузить файл в Selenium Webdriver

В сценарии Selenium мы находим элементы формы и заполняем данные в каждом элементе по мере необходимости и загружаем файл «resume.doc», выполняя исполняемый файл AutoIT, сгенерированный из сценария AutoIT, а затем позволяем отправить форму в сценарии селена.

  • Откройте Eclipse и начните писать код.
  • Когда селен нажимает на кнопку «Выбрать файл», открывается окно загрузки файла.
  • Затем нам нужно вызвать скрипт AutoIT, элемент управления немедленно передается в AutoIT для загрузки файла, а затем элемент управления отправляется обратно в селен, как показано ниже.

Как использовать AutoIT с Selenium

Шаг 1) : Разработка сценария селена в Eclipse.

  • Класс Runtime позволяет сценарию взаимодействовать со средой, в которой выполняется сценарий.
  • getRuntime () получает текущую среду выполнения, связанную с этим процессом.
  • Методы exec () выполняют скрипт AutoIT (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Выше строка вызовет скрипт AutoIT в селене и загрузит файл.

Как использовать AutoIT с Selenium

Шаг 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 с Selenium

Вывод:

  • Скачал и установил Идентификатор элемента и редактор AutoIT.
  • Открыт сайт, на котором нужно сделать операцию.
  • Идентификатор элемента идентифицирует элементы окна загрузки файла.
  • Подготовлен скрипт AutoIT в редакторе с помощью идентификатора элемента.
  • Скрипт Autoit используется в скрипте Selen Webdriver.
  • Выполнен сценарий селена.
  • Вывод: файл успешно загружен.

Эта статья предоставлена ​​Гауравом Нигамом