AutoIt的窗口自动化测试
Selenium自动化测试时会遇到需要调用Windows弹出窗口上传或下载文件的场景. 可以使用AutoIt工具实现.
安装AutoIt
AutoIt官网下载安装即可. 实际上只有编写和调试代码时会用到AutoIt软件工具, 代码写好后运行期间是不需要的. 也就是说代码可以在未安装AutoIt软件的测试机上运行.
添加Maven依赖库
在Selenium工程的Maven配置文件pom.xml添加. 如需最新的版本可以去Maven依赖库官网查找.
<dependency>
<groupId>de.openkeyword</groupId>
<artifactId>autoit</artifactId>
<version>0.1.13</version>
</dependency>
定位和操作窗口元素
以文件上传窗口为例.
- 在AutoIt的安装目录下运行Au3Info.exe(64位系统请使用Au3Info_x64.exe)工具, 点击并拖动Finder Tool按钮至弹出框输入文件路径和打开按钮, 并记录下对应的Title和ClassnameNN字段
- 在Selenium的测试用例java文件中添加如下代码
AutoItX autoItX = new AutoItX();
//Wait for windows opening
autoItX.winWait("Open");
autoItX.sleep(1000);
//Focus on Upload file path field
autoItX.controlFocus(
"Open", /*Title(Upload file path field)*/
"",
"Edit1" /*ClassnameNN(Upload file path field)*/
);
autoItX.sleep(1000);
//Input upload file path
autoItX.controlSend(
"Open", /*Title(Upload file path field)*/
"",
"Edit1", /*ClassnameNN(Upload file path field)*/
imagePath /*Upload file path*/
);
autoItX.sleep(1000);
//Click Open button to submit
autoItX.controlClick(
"Open", /*Title(Open button)*/
"",
"Button1" /*ClassnameNN(Open button)*/
);
autoItX.sleep(1000);