selenium 基于Autolt工具对于Windows窗口上传文件操作
1.在selenium 自动化过程中,时长遇到需要进行上传文件操作。 这里推荐使用Autoit 工具。
首先下载相关工具: https://www.autoitscript.com/site/autoit/downloads/
在AutoIt和AutoIt Editor处下拉菜单
2.点击“AutoIT”下载选项。
3.点击“Download AutoIt”按钮下载“Autoit”
4.现在通过点击“Download”按钮下载“Autoit Editor”。
5.如下所示点击链接。
6.下载之后我们将会得到如下图所示的两个安装文件,一个是autoit-v3-setup,另一个是SciTE4AutoIt3。
7.成功安装后,打开AutoIT Editor
8.打开元素识别器
9.通过元素识别器查找元素并在AutoIt编辑器上编辑脚本
在这一部分,我们将看到以下内容,通过AutoIt识别器,如何在文件上传窗口找到元素(元素识别器是一个类似selenium IDE的工具,元素识别器找到窗口GUI或非HTML弹出窗口的元素,并提供元素的属性,比如 title, class, instance),以及如何使用3个方法在AutoIT Editor中编写脚本。
例子:页面上传图片
10.打开文件识别器 Au3Info.exe
现在打开文件上传窗口,点击“选择文件”,这是windows活动
11.我们可以得到属性的值。title=‘打开’, class=‘Edit’ 和 instance=‘1’ 。这些值在步骤4中用于编写AutoIT脚本。
现在打开AutoIT script editor。
在AutoIT编辑器中,我们选择了“control focus”方法。在上面的步骤3中,元素识别器已经打开并最小化,而且元素已经确定了。现在我们打开元素识别器,并最大化显示。
现在,我们将通过元素识别器获取上面三种方法的参数值,从“File name”文本框获取’ControlFocus’ 和 ‘ControlSetText’ 方法的参数,从“open”按钮获取“ControlClick”方法的参数值。
ControlFocus方法参数值:
此方法将焦点集中到文件上传器窗口的“File name”文本框。
第一个参数标题为“open”。
我们忽略第二个参数,这个地方不需要。
第三个参数控制是class ='Edit '和Instance ='1 '的组合。就是“Edit1”。
ControlSetText方法参数值:
这个方法用于定义我们需要在“File name”文本框中上传的文件的路径。换句话说,我们可以说这个方法设置输入的文本为输入元素。
第一个参数标题为“open”。
忽略第二个参数,此处不需要。
第三个参数控制是class ='Edit '和Instance ='1 '的组合。就是“Edit1”。
第四个参数new text,我们输入需要上传的文件路径。
ControlClick方法的参数值:
1、第一个参数标题为“open”。
2、忽略第二个参数,此处不需要。
3、第三个参数是class ='Button’和Instance ='1 '的组合。就是“Button1”。
下面可以看到,处理文件上传程序的AutoIT脚本已经完成。现在可以关闭元素识别器并将脚本以“FileUpload”的名字保存在给定位置
现在不能直接执行这个脚本,首先需要编译这个脚本。对于编译这个脚本,你有两个选项 " compile script x64 " and " compile script x86 ",如果你是32位的机器就选择 " compile script x86 “,64位机器就选择” compile script x64 "。
如下图所示,编译后生成文件“FileUpload exe”。现在就可以在selenium webdriver程序中使用这个文件。
现在我们将在Selenium webdriver中使用这个AutoIT脚本。检查后面的输出。
原文链接:https://blog.csdn.net/qq_35451939/article/details/83029946