AutoIT в Selenium Урок: Как да го използвам?

⚡ Умно обобщение

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

  • 🤖 Основание: AutoIt се разширява Selenium чрез обработка Windows-базирани контроли, оригинални диалози и изскачащи прозорци, които не са HTML, до които локаторите на WebDriver не могат да достигнат.
  • 🪟 Идентификатор на елемент: Инструментът Au3Info проверява контролите на прозорците и разкрива атрибутите за заглавие, клас и екземпляр, използвани за писане на надеждни скриптове за взаимодействия.
  • Основни методи: ControlFocus, ControlSetText и ControlClick формират минималния набор, необходим за запълване на пътища и изпращане на диалози за качване на файлове.
  • интеграция: Компилиран FileUpload.exe се задейства от Selenium с Runtime.getRuntime().exec(), предавайки контрола на AutoIt и обратно безпроблемно.
  • 🧪 Практическа употреба: Ръководството качва автобиография на Guru99 демо формуляр, проверяващ от край до край Selenium плюс поток за автоматизация на AutoIt.

AutoIT в Selenium

В какво е AutoIt Selenium?

AutoIt е безплатен скриптов език, предназначен за автоматизиране Windows Графичен потребителски интерфейс и общи скриптове. Използва комбинация от движение на мишката, натискане на клавиши и манипулиране на прозорци, за да автоматизира задача, която не е възможна чрез Selenium WebDriver.

Как да изтеглите и инсталирате AutoIt

Стъпка 1) Преминете към това връзка.

Стъпка 2) Задръжте курсора на мишката върху „AutoIt“ и падащото меню „AutoIt Editor“.

Изтеглете и инсталирайте AutoIt

Стъпка 3) Кликнете върху опцията за изтегляния „AutoIt“.

Изтеглете и инсталирайте AutoIt

Стъпка 4) Изтеглете „AutoIt“, като кликнете върху бутона „Изтегляне на AutoIt“.

Изтеглете и инсталирайте AutoIt

Стъпка 5) Сега изтеглете „AutoIt editor“, като кликнете върху бутона „Изтегляния“.

Изтеглете и инсталирайте AutoIt

Стъпка 6) Кликнете върху връзката, както е показано по-долу.

Изтеглете и инсталирайте AutoIt

След изтегляне ще получите два инсталационни файла, както е показано на екрана по-долу, първият е 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 Element Identifier (Идентификаторът на елемент е инструмент като Selenium IDE; идентификаторът намира елемента на графичния потребителски интерфейс на прозореца или изскачащи прозорци, които не са HTML, и предоставя атрибута на елемента, например заглавие, клас, инстанция) и как да напишете скрипт в редактора на AutoIt, използвайки 3 метода.

Например: Ще използваме страницата „Пишете ни“ на Guru99 за качване на автобиография (Doc файл).

След като кликнем върху бутона „Избери файл“ от страницата „Пишете ни“, трябва да извикаме скрипта AutoIt. Контролът се прехвърля незабавно към AutoIt след кликване върху „Избери файл“ чрез командата по-долу, която се грижи за качването.

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

Накрая, когато стартираме Selenium скрипт, той ще попълни формуляра -> качи автобиография -> изпрати формуляра.

Използвайте AutoIt In Selenium

Стъпка 1) Сега отворете „Идентификатор на елемент“. Отидете на „C:\Program Files (x86)\AutoIt3“ и щракнете върху файла „Au3Info.exe“. Прозорецът за идентификатор на елемент се отваря, както е показано на екрана по-долу.

Използвайте AutoIt In Selenium

Стъпка 2) Сега отворете прозореца за качване на файлове, като кликнете върху „Избор на файл“, който е Windows дейност.

Използвайте AutoIt In Selenium

Стъпка 3) Плъзнете инструмента за търсене върху елемента „Име на файл“ в прозореца за качване на файлове, за да намерите информацията за основните атрибути, както е показано на екрана по-долу със стрелката.

Използвайте AutoIt In Selenium

Можем да получим стойността на атрибутите, т.е. title='Отворено', class='Редактиране' намлява инстанция='1' както е показано по-долу. Тези стойности се използват при писането на примерния скрипт AutoIt, както е обяснено в стъпка 4 по-долу.

Използвайте AutoIt In Selenium

Стъпка 4) Сега отворете редактора на скриптове AutoIt, отидете на 'C:\Program Files (x86)\AutoIt3\SciTE' и кликнете върху 'SciTE.exe', както е показано в стъпка 7 от 1st тема.

Започнете да пишете скрипт за избор на файл за качване.

Има много методи, които можем да използваме в скрипт според изискванията, но сега ще се съсредоточим върху методите по-долу, тъй като те са необходими за писане на скрипта за качване на файлове:

  1. ControlFocus(“заглавие”,”текст”,controlID) //Задава входен фокус към дадена контрола в прозорец.
  2. ControlSetText(“ заглавие “,” текст “,controlID,” Път на файла, който трябва да се качи ”) // Задава текст на контрола.
  3. ControlClick(“заглавие”,”текст”,controlID) //Изпраща команда за щракване с мишката до даден контрол.

Можете да видите редица методи, показани на екрана по-долу. Хубавото на AutoIt е, че е донякъде подобен Eclipse това предполага някои от методите.

Използвайте AutoIt In Selenium

Тук, в редактора AutoIt, сме избрали „контролен фокус“ метод. Идентификаторът на елемент вече е отворен и минимизиран, тъй като елементът вече е идентифициран в горната стъпка 3. Можем да го отворим, като го увеличим.

Сега ще вземем стойностите от идентификатора на елемента за методите „ControlFocus“ и „ControlSetText“, тъй като тези методи работят с един и същ елемент, т.е. текстовото поле „Име на файл“, но за метода „ControlClick“ трябва да вземем стойностите на различен елемент, т.е. бутона „Отваряне“.

Стойности на параметрите за ControlFocus метод:

Този метод насочва фокуса към текстовото поле „Име на файл“ в прозореца за качване на файлове.

  • 1-ви параметър заглавие е „Отворено“.
  • Пренебрегваме втория параметър, т.е. текст не се изисква.
  • 3-ти параметър контролен идентификатор е комбинацията от class='Edit' и Instance='1′, т.е. 'Edit1.'
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Използвайте AutoIt In Selenium

Стойности на параметрите за ControlSetText метод:

Този метод се използва за дефиниране на пътя на файл, който трябва да качим в текстовото поле „Име на файл“. С друг начин можем да кажем, че този метод се използва за задаване на текста на входния елемент.

  • 1-ви параметър заглавие е „Отворено“.
  • Пренебрегваме втория параметър, т.е. текст не се изисква.
  • 3-ти параметър контролен идентификатор е комбинацията от class='Edit' и Instance='1′, т.е. „Edit1“.
  • 4-ти параметър нов текст, предаваме пътя до файла, който трябва да качим.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Използвайте AutoIt In Selenium

След като изпълните горната стъпка, не затваряйте прозорците (редактора и идентификатора на елемента); дръжте ги отворени. Отново трябва да отворите прозореца за качване на файлове, за да намерите атрибутите на бутона „Отвори“, както е показано в стъпка 5 по-долу.

Стъпка 5) Сега плъзнете инструмента за търсене върху бутона „Отвори“ в прозореца за качване на файлове, за да намерите основната информация за атрибутите.

Предишните стойности (т.е. атрибутите на текстовото поле „Име на файл“) се презаписват с новите стойности на бутона „Отвори“. Можете да видите, че атрибутът на класа вече е променен на „button“, който преди беше „edit“ в прозореца за идентификатор на елемент AutoIt.

Използвайте AutoIt In Selenium

Можем да получим стойността на атрибутите, т.е. title='Отворено', class='Бутон' намлява инстанция='1' както е показано по-долу. Тези стойности се използват при писането на AutoIt скрипт, както е обяснено по-долу.

Използвайте AutoIt In Selenium

Стойности на параметрите за ControlClick метод:

Този метод включва кликване върху бутона „Отвори“ в прозореца за качване на файлове.

  • 1-ви параметър заглавие е „Отворено“.
  • Пренебрегваме втория параметър; текст не се изисква.
  • 3-ти параметър контролен идентификатор е комбинацията от клас и инстанция, т.е. „Бутон1“.
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Използвайте AutoIt In Selenium

Стъпка 6) На екрана по-долу можете да видите, че скриптът AutoIt е завършен за обработка на качването на файлове. Сега можете да затворите идентификатора на елемента и да запазите скрипта като „FileUpload“ на даденото място (E:\AutoIT).

Използвайте AutoIt In Selenium

Сега не можете да изпълните този скрипт директно; трябва да го компилирате.

За компилиране на този скрипт имате две опции „компилиране на скрипт x64"А"компилиране на скрипт x86„. Ако имате Windows 32-битова машина, след това използвайте „компилиране на скрипт x86„и за Windows 64-битова машина, използвайте „компилиране на скрипт x64"

Използвайте AutoIt In Selenium

Стъпка 7) „Качване на файл.exe“ файлът се генерира след компилация; можете да го видите на екрана по-долу. Сега можем да използваме този файл в Selenium Скрипт за WebDriver.

Използвайте AutoIt In Selenium

Сега ще използваме този AutoIt скрипт в Selenium WebDriver. Проверете по-долу за резултата.

Качване на файл в Selenium Използване на AutoIt

В Selenium скрипт, намираме елементите на формуляра и попълваме данните във всеки елемент, както е необходимо, и качваме файла 'resume.doc', като изпълняваме генерирания от скрипта AutoIt exe файл AutoIt, след което позволяваме изпращането на формуляра в Selenium AutoIt скрипт.

  • отворено Eclipse и започнете да пишете код.
  • Кога Selenium щраква върху бутона „Избор на файл“, отваря се прозорецът за качване на файлове.
  • След това трябва да извикаме скрипта AutoIt; контролът се прехвърля незабавно към AutoIt, за да се качи файл, и след това контролът се изпраща обратно към Selenium както е показано по-долу.

Качване на файл в Selenium Използване на AutoIt

Стъпка 1) Разработване на Selenium скрипт в Eclipse.

  • Runtime клас позволява на скрипта да взаимодейства със средата, в която се изпълнява скриптът.
  • 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 е инструмент с отворен код, предназначен за автоматизиране на уеб-базирани приложения в различни браузъри, но за да обработва графичния потребителски интерфейс на прозореца и изскачащи прозорци, които не са HTML, в приложение, AutoIt... Selenium е необходимо, тъй като тези дейности, базирани на прозорци, не се обработват от Selenium.

Използвайте AutoIt

В този урок за AutoIt ще научим как да качваме файл в Selenium WebDriver използва AutoIt. Тук са ни необходими три инструмента, за да направим това.

  • Selenium уебдрайвер
  • AutoIt редактор и идентификатор на елементи
  • Прозорецът, който искате да автоматизирате

Въпроси и Отговори

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

Инструментът Au3Info проверява всички видими Windows контрол под курсора и връща стойностите на неговото заглавие, клас и екземпляр. Тези атрибути се подават директно към извикванията на ControlFocus, ControlSetText и ControlClick.

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

AutoIt е Windows-само инструмент. За macOS или диалогови прозорци за файлове на Linux, използвайте AppleScript, xdotool или sendKeys директно с пътя към файла, тъй като тези операционни системи не поддържат изпълними файлове на AutoIt.

Задвижвани от AI инструменти като Testim, Functionize и Mabl използват компютърно зрение, за да разпознават оригиналните диалози чрез визуално оформление, след което автоматично генерират логика за локатор. Това намалява нуждата от AutoIt скриптове при работа с нестабилни или развиващи се версии. Windows изскачащи прозорци.

Да. Големи езикови модели като ChatGPT и Claude могат да генерират AutoIt скриптове от обикновени английски подкани, описващи целевия диалогов прозорец, идентификатори на контроли и път за качване, които тестерите след това могат да усъвършенстват и компилират.

Обобщете тази публикация с: