AutoIT 中 Selenium 教程:如何使用?

⚡ 智能摘要

AutoIt Selenium 是一种可自动执行操作的免费脚本语言 Windows GUI对话框和原生弹出窗口 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 GUI 和通用脚本。它结合了鼠标移动、键盘输入和窗口控件操作,实现了仅靠文字无法完成的任务的自动化。 Selenium WebDriver。

如何下载和安装 AutoIt

步骤1) 去这个 链接。

步骤2) 将鼠标悬停在“AutoIt”和“AutoIt 编辑器”下拉菜单上。

下载并安装 AutoIt

步骤3) 点击“自动下载”选项。

下载并安装 AutoIt

步骤4) 点击“下载 AutoIt”按钮下载“AutoIt”。

下载并安装 AutoIt

步骤5) 现在点击“下载”按钮下载“AutoIt编辑器”。

下载并安装 AutoIt

步骤6) 点击如下所示的链接。

下载并安装 AutoIt

下载完成后,您将获得两个安装文件,如下图所示,第一个是 AutoIt 版本 3 设置,第二个是 西特奥特3.

下载并安装 AutoIt

步骤7) 要安装 AutoIt,请依次点击两个 AutoIt 安装程序。

步骤8) 安装成功后,打开 AutoIt 编辑器。

转到“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 元素识别器(元素识别器是一个类似 AutoIt 的工具)在文件上传窗口中查找元素。 Selenium IDE;标识符查找窗口 GUI 或非 HTML 弹出窗口的元素,并提供该元素的属性,例如 标题, , )以及如何使用 3 种方法在 AutoIt 编辑器中编写脚本。

对于实施例: 我们将使用“联系我们”页面 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='打开', 类='编辑'实例='1′ 如下所示。这些值用于编写 AutoIt 脚本示例,如下文步骤 4 所述。

使用 AutoIt Selenium

步骤4) 现在打开 AutoIt 脚本编辑器,转到“C:\Program Files (x86)\AutoIt3\SciTE”目录,然后单击“SciTE.exe”,如步骤 1 中的步骤 7 所示。st 主题。

开始编写选择要上传的文件的脚本。

脚本中可以使用多种方法,具体取决于需求,但现在我们将重点介绍以下方法,因为编写文件上传脚本需要这些方法:

  1. 控制焦点(“标题”,“文本”,控件ID) //将输入焦点设置为窗口上的给定控件。
  2. 控制集文本(” 标题 “,” 文字 “,controlID “,” 需要上传的文件路径 ”) // 设置控件的文本。
  3. 控制点击(“标题”,“文本”,控件ID) //向给定的控件发送鼠标单击命令。

您可以看到如下屏幕截图所示,其中显示了多种方法。AutoIt 的优点在于它有点像…… Eclipse 这提示了一些方法。

使用 AutoIt Selenium

在 AutoIt 编辑器中,我们选择了 “控制焦点” 方法。元素标识符已经打开并最小化,因为元素已经在上面的步骤3中被识别。我们可以通过最大化来打开它。

现在,我们将从元素标识符中获取“ControlFocus”和“ControlSetText”方法的值,因为这些方法作用于同一个元素,即“文件名”文本框,但对于“ControlClick”方法,我们需要捕获不同元素的值,即“打开”按钮。

参数值为 控制焦点 方法:

此方法会将焦点设置到文件上传窗口的“文件名”文本框中。

  • 第一个参数 标题 开了 ”。
  • 我们忽略第二个参数,即 文本 不需要。
  • 第三个参数 控制编号 是 class='Edit' 和 Instance='1' 的组合,即 'Edit1'。
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

使用 AutoIt Selenium

参数值为 控制集文本 方法:

此方法用于在“文件名”文本框中定义要上传的文件的路径。换句话说,此方法用于设置输入元素的文本。

  • 第一个参数 标题 开了 ”。
  • 我们忽略第二个参数,即 文本 不需要。
  • 第三个参数 控制编号 是 class='Edit' 和 Instance='1' 的组合,即“Edit1”。
  • 第四个参数 新文本我们传递需要上传的文件的路径。
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

使用 AutoIt Selenium

完成上述步骤后,请勿关闭窗口(编辑器和元素标识符窗口);保持它们打开。您需要再次打开文件上传窗口,以查找“打开”按钮的属性,如下方步骤 5 所示。

步骤5) 现在将查找工具拖到文件上传窗口的“打开”按钮元素上,以查找基本属性信息。

“打开”按钮的新值会覆盖之前的值(即“文件名”文本框的属性)。您可以在 AutoIt 元素标识符窗口中看到,class 属性现在已更改为“button”,而之前为“edit”。

使用 AutoIt Selenium

我们可以获取属性的值,例如: title='打开', 类='按钮'实例='1′ 如下所示。这些值用于编写 AutoIt 脚本,具体说明如下。

使用 AutoIt Selenium

参数值为 控制点击 方法:

此方法点击文件上传窗口的“打开”按钮。

  • 第一个参数 标题 开了 ”。
  • 我们忽略第二个参数; 文本 不需要。
  • 第三个参数 控制编号 是class与Instance的组合,即”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 脚本中,我们找到表单的各个元素,并根据需要填写每个元素的数据,然后通过执行由 AutoIt 脚本生成的 AutoIt exe 文件上传“resume.doc”文件,最后允许用户提交表单。 Selenium AutoIt 脚本。

  • 可选 Eclipse 并开始编写代码。
  • 日期 Selenium 点击“选择文件”按钮,文件上传框打开。
  • 然后我们需要调用 AutoIt 脚本;控制权会立即转移到 AutoIt 以上传文件,然后再将控制权送回。 Selenium 如下所示。

文件上传 Selenium 使用 AutoIt

步骤1) 制定政策 Selenium 脚本中 Eclipse.

  • 运行时 类允许脚本与脚本运行的环境进行交互。
  • 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 是一款开源工具,旨在自动化不同浏览器上的 Web 应用程序,但要处理应用程序中的窗口 GUI 和非 HTML 弹出窗口,则需要使用其他工具。 Selenium 需要这样做,因为这些基于窗口的活动不会被处理。 Selenium.

使用 AutoIt

接下来,在本 AutoIt 教程中,我们将学习如何上传文件。 Selenium 使用 AutoIt 的 WebDriver。这里我们需要三个工具才能完成这项工作。

  • Selenium 网络驱动程序
  • AutoIt 编辑器和元素标识符
  • 您想要自动化的窗口

常见问题

Selenium WebDriver 只控制浏览器元素。AutoIt 处理原生元素。 Windows WebDriver 无法直接与之交互的对话框,例如文件上传框、下载提示和基本身份验证窗口。

Au3Info 工具会检查任何可见的 Windows 获取光标下的控件,并返回其标题、类和实例值。这些属性直接传递给 ControlFocus、ControlSetText 和 ControlClick 调用。

是的。必须使用与您的机器相匹配的 x86 或 x64 选项将 .au3 源代码编译成 .exe 文件。 Selenium 然后通过 Runtime.getRuntime().exec() 调用已编译的 FileUpload.exe。

AutoIt 是一个 Windows唯一工具。用于 macOS 对于 Linux 文件对话框,请直接使用 AppleScript、xdotool 或 sendKeys 并传入文件路径,因为这些操作系统不支持 AutoIt 可执行文件。

人工智能驱动的工具,如 TestimFunctionize 和 Mabl 利用计算机视觉技术,通过视觉布局识别原生对话框,然后自动生成定位逻辑。这减少了在处理不稳定或不断变化的对话框时对 AutoIt 脚本的需求。 Windows 弹出窗口。

是的。像 ChatGPT 和 Claude 这样的大型语言模型可以根据描述目标对话框、控件 ID 和上传路径的纯英文提示生成 AutoIt 脚本,然后测试人员可以对其进行完善和编译。

总结一下这篇文章: