АвтоИТ в Selenium Учебник: Как его использовать?

⚡ Умное резюме

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

  • 🤖 Цель: AutoIt расширяет Selenium путем обработки WindowsЭлементы управления на основе WebDriver, нативные диалоговые окна и всплывающие окна, не содержащие HTML, недоступные для локаторов WebDriver.
  • 🪟 Идентификатор элемента: Инструмент Au3Info проверяет элементы управления окнами и отображает атрибуты заголовка, класса и экземпляра, используемые для создания сценариев надежного взаимодействия.
  • ⚙️ Основные методы: ControlFocus, ControlSetText и ControlClick составляют минимальный набор параметров, необходимых для заполнения путей и отправки диалоговых окон загрузки файлов.
  • ✅ Интеграция: Скомпилированный файл FileUpload.exe запускается из Selenium с помощью Runtime.getRuntime().exec(), обеспечивая бесперебойную передачу управления AutoIt и обратно.
  • 🧪 Практическое использование: В ходе пошагового руководства загружается резюме. Guru99 демонстрационная форма, подтверждающая сквозную проверку Selenium плюс автоматизированный процесс AutoIt.

АвтоИТ в Selenium

Что такое AutoIt Selenium?

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

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

Шаг 1) Перейти к этому ссылку.

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

Скачайте и установите AutoIt.

Шаг 3) Нажмите на опцию «Загрузки AutoIt».

Скачайте и установите AutoIt.

Шаг 4) Скачайте программу «AutoIt», нажав на кнопку «Скачать AutoIt».

Скачайте и установите AutoIt.

Шаг 5) Теперь скачайте «Редактор AutoIt», нажав на кнопку «Загрузки».

Скачайте и установите AutoIt.

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

Скачайте и установите AutoIt.

После загрузки вы получите два установочных файла, как показано на скриншоте ниже. Первый из них: АвтоИт версия 3 настройка и второе Scitautoit3.

Скачайте и установите AutoIt.

Шаг 7) Для установки AutoIt, щелкните по обоим установочным файлам AutoIt по очереди.

Шаг 8) После успешной установки откройте AutoIt Editor.

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

Скачайте и установите AutoIt.

Затем щелкните по файлу 'SciTE.exe', и откроется редактор AutoIt, как показано на скриншоте ниже.

Скачайте и установите AutoIt.

Шаг 9) Теперь откройте идентификатор элемента.

Перейдите в папку 'C:\Program Files (x86)\AutoIt3'

Скачайте и установите AutoIt.

Затем, щелкнув по файлу 'Au3Info.exe', откроется идентификатор элемента, как показано на скриншоте ниже.

Скачайте и установите AutoIt.

Примечание: После завершения работы с этим идентификатором элемента его необходимо закрыть вручную; автоматически он не закроется.

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

Далее мы рассмотрим, как использовать редактор AutoIt и как найти элемент в окне загрузки файла с помощью идентификатора элемента AutoIt (идентификатор элемента — это инструмент, подобный...). Selenium IDE; идентификатор находит элемент окна графического интерфейса пользователя или всплывающих окон, не относящихся к HTML, и предоставляет атрибут элемента, например: название, класс, пример) и как написать скрипт в редакторе AutoIt, используя 3 метода.

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

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

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

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

Используйте AutoIt в Selenium

Шаг 1) Теперь откройте программу Element Identifier. Перейдите в папку 'C:\Program Files (x86)\AutoIt3' и щелкните файл 'Au3Info.exe'. Откроется окно Element Identifier, как показано на скриншоте ниже.

Используйте AutoIt в Selenium

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

Используйте AutoIt в Selenium

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

Используйте AutoIt в Selenium

Мы можем получить значение атрибутов, то есть: title='Открыть', класс = 'Редактировать' и экземпляр = '1' Как показано ниже. Эти значения используются при написании примера скрипта AutoIt, как объяснено в шаге 4 ниже.

Используйте AutoIt в Selenium

Шаг 4) Теперь откройте редактор скриптов AutoIt, перейдите в папку 'C:\Program Files (x86)\AutoIt3\SciTE' и щелкните файл 'SciTE.exe', как показано в шаге 7 из 1.st тема.

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

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

  1. КонтрольФокус(«заголовок», «текст», controlID ) //Устанавливает фокус ввода на данный элемент управления в окне.
  2. ControlSetText(«заголовок», «текст», controlID, путь к файлу, который необходимо загрузить») // Устанавливает текст элемента управления.
  3. ControlClick(«заголовок», «текст», controlID ) //Отправляет команду щелчка мыши на данный элемент управления.

Как видно на скриншоте ниже, отображается несколько методов. Преимущество AutoIt в том, что он чем-то похож на... Eclipse Это наводит на мысль о некоторых методах.

Используйте AutoIt в Selenium

Здесь, в редакторе AutoIt, мы выбрали «контролировать фокус» метод. Идентификатор элемента уже открыт и минимизирован, поскольку элемент уже идентифицирован на шаге 3 выше. Мы можем открыть его, развернув его.

Теперь мы возьмем значения из идентификатора элемента для методов 'ControlFocus' и 'ControlSetText', поскольку эти методы работают с одним и тем же элементом, а именно с текстовым полем 'Имя файла', но для метода 'ControlClick' нам нужно получить значения другого элемента, а именно кнопки 'Открыть'.

Значения параметров для КонтрольФокус Метод:

Этот метод устанавливает фокус на текстовое поле «Имя файла» в окне загрузки файла.

  • 1-й параметр название открыт ".
  • Мы игнорируем второй параметр, текст не требуется.
  • 3-й параметр контрольный идентификатор представляет собой комбинацию класса 'Edit' и экземпляра '1', то есть 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Используйте AutoIt в Selenium

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

Этот метод используется для указания пути к файлу, который необходимо загрузить, в текстовом поле «Имя файла». Иными словами, этот метод используется для установки текста в элементе ввода.

  • 1-й параметр название открыт ".
  • Мы игнорируем второй параметр, текст не требуется.
  • 3-й параметр контрольный идентификатор Это комбинация класса='Edit' и экземпляра='1', то есть 'Edit1'.
  • 4-й параметр новый текстМы передаем путь к файлу, который необходимо загрузить.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Используйте AutoIt в Selenium

После выполнения описанного выше шага не закрывайте окна (редактор и идентификатор элемента); оставьте их открытыми. Вам снова нужно открыть окно загрузки файла, чтобы найти атрибуты кнопки «Открыть», как показано в шаге 5 ниже.

Шаг 5) Теперь перетащите инструмент поиска на кнопку «Открыть» в окне загрузки файла, чтобы найти основную информацию об атрибутах.

Предыдущие значения (т.е. атрибуты текстового поля «Имя файла») перезаписываются новыми значениями кнопки «Открыть». Вы можете видеть, что атрибут класса теперь изменился на «button», который ранее в окне идентификаторов элементов AutoIt был «edit».

Используйте AutoIt в Selenium

Мы можем получить значение атрибутов, то есть: title='Открыть', класс = 'Кнопка' и экземпляр = '1' Как показано ниже. Эти значения используются при написании скриптов AutoIt, как объяснено ниже.

Используйте AutoIt в Selenium

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

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

  • 1-й параметр название открыт ".
  • Мы игнорируем второй параметр; текст не требуется.
  • 3-й параметр контрольный идентификатор представляет собой комбинацию класса и экземпляра, т. е. «Button1».
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Используйте AutoIt в Selenium

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

Используйте AutoIt в Selenium

Теперь вы не можете запустить этот скрипт напрямую; вам необходимо его скомпилировать.

Для компиляции этого скрипта у вас есть два варианта:скомпилировать скрипт x64(Основной ключ) и скомпилировать скрипт x86«Если у вас есть Windows Если у вас 32-разрядная машина, используйте «скомпилировать скрипт x86и для Windows Для 64-битных машин используйте «скомпилировать скрипт x64".

Используйте AutoIt в Selenium

Шаг 7) «FileUpload exe» Этот файл генерируется после компиляции; вы можете увидеть его на скриншоте ниже. Теперь мы можем использовать этот файл в... Selenium Скрипт WebDriver.

Используйте AutoIt в Selenium

Теперь мы воспользуемся этим скриптом AutoIt в Selenium WebDriver. Результат смотрите ниже.

Загрузка файла в Selenium Использование AutoIt

В Selenium С помощью скрипта мы находим элементы формы, заполняем данные в каждом элементе по мере необходимости и загружаем файл 'resume.doc', запуская исполняемый файл AutoIt, сгенерированный скриптом AutoIt, а затем позволяем отправить форму. Selenium Скрипт AutoIt.

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

Загрузка файла в Selenium Использование AutoIt

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

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

Приведенная выше строка вызовет Скрипт AutoIt in Selenium и загрузите файл.

Загрузка файла в Selenium Использование 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("https://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("test.test@gmail.com");
    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) Проверьте результат; файл resume.doc успешно загружен, и отобразится сообщение с благодарностью.

Загрузка файла в Selenium Использование AutoIt

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

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

Используйте AutoIt

В этом уроке AutoIt мы узнаем, как загрузить файл в Selenium WebDriver с использованием AutoIt. Для этого нам понадобятся три инструмента.

  • Selenium Вебдрайвер
  • Редактор AutoIt и идентификатор элемента
  • Окно, которое вы хотите автоматизировать

Часто задаваемые вопросы (FAQ)

Selenium WebDriver управляет только элементами браузера. AutoIt обрабатывает нативные элементы. Windows Диалоговые окна, такие как поля для загрузки файлов, запросы на скачивание и окна базовой аутентификации, с которыми WebDriver не может напрямую взаимодействовать.

Инструмент Au3Info проверяет все видимые Windows Функция возвращает значение атрибутов `control`, `class` и `instance`, которые находятся под курсором. Эти атрибуты напрямую передаются в вызовы функций `ControlFocus`, `ControlSetText` и `ControlClick`.

Да. Исходный код в формате .au3 необходимо скомпилировать в исполняемый файл (.exe), используя опцию x86 или x64, соответствующую вашей машине. Selenium затем вызывает скомпилированный FileUpload.exe через Runtime.getRuntime().exec().

AutoIt — это Windows-единственный инструмент. Для macOS Для диалоговых окон ввода файлов в Linux используйте AppleScript, xdotool или sendKeys, указывая путь к файлу напрямую, поскольку эти операционные системы не поддерживают исполняемые файлы AutoIt.

Инструменты на базе ИИ, такие как TestimFunctionize и Mabl используют компьютерное зрение для распознавания нативных диалоговых окон по визуальному расположению, а затем автоматически генерируют логику локаторов. Это снижает потребность в скриптах AutoIt при работе с нестабильными или развивающимися системами. Windows всплывающие окна.

Да. Крупные языковые модели, такие как ChatGPT и Claude, могут генерировать скрипты AutoIt на основе подсказок на простом английском языке, описывающих целевой диалог, идентификаторы элементов управления и путь загрузки, которые затем тестировщики могут доработать и скомпилировать.

Подведем итог этой публикации следующим образом: