AutoIT 中 Selenium 教程:如何使用?
AutoIt 是什么 Selenium?
AutoIt的 是一种免费脚本语言,旨在实现 Windows GUI 和常规脚本的自动化。它结合使用鼠标移动、按键和窗口控制操作来自动执行 selenium webdriver 无法完成的任务。
如何下载和安装 AutoIT
步骤1): 转到这个 链接。
步骤2):将鼠标悬停在“Autoit”和“Autoit 编辑器”下拉菜单上。
步骤3) 点击“AutoIT”下载选项。
步骤4):点击“下载 Autoit”按钮下载“Autoit”。
步骤5):现在点击“下载”按钮下载“Autoit 编辑器”。
步骤6) 点击如下所示的链接。
下载后,您将获得两个安装文件,如下图所示,第一个是 AutoIt 版本 3 设置,第二个是 西特奥特3 .
步骤7):要安装 AutoIT,请逐一单击两个 AutoIT 设置。
步骤8):安装成功后 - 打开 AutoIT 编辑器。
转到“C:\Program Files (x86)\AutoIt3\SciTE”
并点击“SciTE.exe”文件,AutoIT 编辑器打开,如下面的屏幕所示。
步骤9) :现在打开元素标识符。
转到“C:\Program Files (x86)\AutoIt3”
然后点击‘Au3Info.exe’文件,元素标识符打开,如下图所示。
请注意: 一旦完成此元素标识符,您需要手动关闭,它不会自动关闭。
如何在 Selenium
在此之下,我们将看到如何使用 AutoIt 编辑器以及如何通过 AutoIT 元素标识符在文件上传器窗口中查找元素(元素标识符是一种类似于 selenium IDE 的工具,标识符查找窗口 GUI 或非 HTML 弹出窗口的元素并提供元素的属性,如 标题, 程, 例 ) 以及如何使用 3 种方法在 AutoIT 编辑器上编写脚本。
对于实施例: 我们将使用 guru99 的“写信给我们”页面上传简历(Doc 文件)。
在“写信给我们”页面点击“选择文件”按钮后,我们需要调用 AutoIT 脚本。点击“选择文件”后,控制权立即通过以下语句转移到 autoit,该语句负责上传部分。
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
最后,当我们运行 selenium 脚本时,它将填写表单->上传简历->提交表单。
步骤1):现在打开元素标识符 - 转到“C:\Program Files (x86)\AutoIt3”并单击“Au3Info.exe”文件,元素标识符窗口打开,如下面的屏幕所示。
步骤2):现在通过单击窗口活动“选择文件”打开文件上传器窗口。
步骤3):将查找器工具拖到文件上传器窗口的“文件名”框元素上,以查找基本属性信息,如下图屏幕中箭头所示。
我们可以获取属性的值,即 title='打开', 类='编辑' 和 实例='1′ 如下所示。这些值用于编写 AutoIT 脚本示例,如下面的步骤 4 中所述。
步骤4):现在打开 AutoIT 脚本编辑器,转到“C:\Program Files (x86)\AutoIt3\SciTE”并单击“SciTE.exe”,如步骤 7 所示。st 主题。
开始编写选择要上传的文件的脚本。
我们可以根据需要在脚本中使用很多可用的方法,但现在我们将重点介绍以下方法,因为这些方法是编写文件上传脚本所必需的:
- 控制焦点(“标题”,“文本”,控件ID) //将输入焦点设置为窗口上的给定控件。
- 控制集文本(” 标题 “,” 文字 “,controlID “,” 需要上传的文件路径 ”) // 设置控件的文本。
- 控制点击(“标题”,“文本”,控件ID) //向给定的控件发送鼠标单击命令。
您可以看到以下屏幕中显示的多种方法。AutoIT 的优点在于它有点像 Eclipse 向您推荐一些方法。
在 AutoIT 编辑器中,我们选择了 “控制焦点” 方法。元素标识符已经打开并最小化,因为元素已经在上面的步骤3中被识别。我们可以通过最大化来打开它。
现在,我们将从“ControlFocus”和“ControlSetText”方法的元素标识符中获取值,因为这些方法适用于同一元素,即“文件名”文本框,但对于“ControlClick”方法需要捕获不同元素的值,即“打开”按钮。
参数值为 控制焦点 方法:
此方法将焦点设置到文件上传器窗口的“文件名”文本框。
- 第一个参数 标题 开了 ”。
- 我们忽略第二个参数, 文本 不需要。
- 第三个参数 控制编号 是 class='Edit' 和 Instance='1′ 的组合,即 . 'Edit1.'
ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.
参数值为 控制集文本 方法 :
此方法用于在“文件名”文本框中定义我们需要上传的文件的路径。换句话说,我们可以说此方法用于将文本设置为输入元素。
- 第一个参数 标题 开了 ”。
- 我们忽略第二个参数, 文本 不需要。
- 第三个参数 控制编号 是 class='Edit' 和 Instance='1′ 的组合,即“ Edit1 ”。
- 第四个参数 新文本, 我们传递需要上传的文件的路径。
ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method input file path of a control.
完成上述步骤后,不要关闭窗口(编辑器和元素标识符),保持其打开状态。您需要再次打开文件上传器窗口,以找到“打开”按钮的属性,如下面的步骤 5 所示。
步骤5):现在将查找器工具拖到文件上传器窗口的“打开”按钮元素上,查找基本属性信息。
以前的值(即“文件名”文本框的属性)被“打开”按钮的新值覆盖。您可以看到类属性现在已更改为“按钮”,而之前在 AutoIT 元素标识符窗口中为“编辑”。
我们可以获取属性的值,即 title='打开', 类='按钮' 和 实例='1′ 如下所示。这些值用于编写 Autoit 脚本,如下所述。
参数值为 控制点击 方法:
此方法点击文件上传器窗口的“打开”按钮。
- 第一个参数 标题 开了 ”。
- 我们忽略第二个参数; 文本 不需要。
- 第三个参数 控制编号 是class与Instance的组合,即”Button1“。
ControlClick("Open","","Button1") //This method click on 'Open' button of file uploader.
步骤6):您可以在下面的屏幕中看到 AutoIT 脚本已完成处理文件上传器。现在您可以关闭元素标识符并将脚本保存为给定位置(E:\AutoIT)的“FileUpload”。
现在你不能直接执行这个脚本,你需要编译这个脚本。
要编译此脚本,您有两个选择” 编译脚本 x64 “ 和 ” 编译脚本 x86 “,如果你有 Windows 32 位机器,那么你可以选择” 编译脚本 x86” 对于 Windows 64 位机器,您可以使用“ 编译脚本 x64 设立的区域办事处外,我们在美国也开设了办事处,以便我们为当地客户提供更多的支持。“
步骤 7):'FileUpload exe' 编译后生成的文件,您可以在下面的屏幕中看到。现在我们可以在 Selenium webdriver 脚本。
现在我们将在 Selenium 网络驱动程序。检查下面的输出。
文件上传 Selenium 使用 Autoit
In Selenium 脚本,我们找到表单的元素并根据需要在每个元素中填写数据,然后通过执行从 AutoIT 脚本生成的 AutoIT exe 文件上传“resume.doc”文件,然后允许提交表单 Selenium AutoIt 脚本。
- 可选 Eclipse 并开始编写代码。
- 当 selenium 点击“选择文件”按钮时,文件上传器框打开。
- 然后我们需要调用 AutoIT 脚本,将控制权立即转移到 AutoIT 以便上传文件,然后将控制权发送回 selenium,如下所示。
步骤1): 在 eclipse 中开发 selenium 脚本。
- 运行时 类允许脚本与脚本运行的环境进行交互。
- getRuntime() 获取与此进程相关的当前运行时。
- exec() 方法执行AutoIT脚本(FileUpload.exe)。
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
上面这行代码会调用 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("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 文件上传成功并且将显示感谢信息。
为什么使用 AutoIt?
Selenium 是一个开源工具,旨在自动化不同浏览器上的基于 Web 的应用程序,但处理应用程序中的窗口 GUI 和非 HTML 弹出窗口。AutoIt 在 Selenium 是必需的,因为这些基于窗口的活动不由 Selenium.
在本 AutoIt 教程中,我们将学习如何使用 AutoIt 在 selenium web driver 中上传文件。为此,我们需要三个工具。
- Selenium 网络驱动程序
- AutoIT 编辑器和元素标识符
- 您想要自动化的窗口
结语
- 下载并安装 Element Identifier 和 AutoIT 编辑器。
- 打开要执行操作的站点。
- 元素标识符标识文件上传器窗口的元素。
- 在元素标识符的帮助下在编辑器中准备 AutoIT 脚本。
- selenium webdriver 脚本中使用了 Autoit 脚本。
- 执行了 selenium 脚本。
- 输出:成功上传文件。