使用AutoIt自动化上传多张图片

简介:自动化过程中遇到上传多张图片的情况,但使用selenium无法模拟windows窗口操作,所以尝试使用AutoIt解决,使用AutoIt每次上传一张图片很简单,这次我们是一次性上传多张图片

安装AutoIt3

官网下载地址:https://www.autoitscript.com/site/autoit/downloads/
AutoIT中文使用手册:https://www.jb51.net/shouce/autoit/

简单使用

AutoIt简单使用查看我的另一篇博客:https://blog.csdn.net/galen2016/article/details/55104927

上传多张图片

先准备好图片文件,例如
使用AutoIt自动化上传多张图片_第1张图片

新增一个后缀为.au3的文件,如:UpLoadRoomPic.au3。代码及解释如下:

ControlFocus("打开","","Edit1")

WinWait("[CLASS:#32770]","",100) ;等待0.1秒

ControlSetText("打开", "", "Edit1", "D:\AutoTestAttachment\roomPic") ;打开文件目录

Send("{ENTER}") ;敲回车

WinWait("[CLASS:#32770]","",100) ;等待0.1秒

ControlSetText("打开", "", "Edit1", '"a.png" "b.png" "c.png" "public.png" "restroom.png" "total.png"') ;输入多个文件名

ControlClick("打开", "","Button1");

注意1:本例是windows系统下用谷歌浏览器打开的文件上传窗口
注意2:ControlSetText(“打开”, “”, “Edit1”, ‘“a.png” “b.png” “c.png” “public.png” “restroom.png” “total.png”’) 这行代码的第4个参数就是我们的图片名称,每个图片名称用双引号括起来,再用空格隔开,最后用单引号全部括起来

运行用例

首先把.au3文件转换成.exe文件,具体操作是:选中.au3文件-右键-点击“Compile Script”
使用AutoIt自动化上传多张图片_第2张图片

用Java调用该exe文件:

    //使用AutoIt3操作windows文件上传窗口,要提前把图片准备好
        Runtime rn = Runtime.getRuntime();
        try {
            String exePath = "resource/UpLoadRoomPic.exe";
            rn.exec(exePath);
        } catch (Exception e) {
            System.out.println("Error to run the exe");
        }

你可能感兴趣的:(自动化测试,自动化测试)