UI自动化上传文件(使用autoIt第三方插件)


1.带有input标签的,直接把需要上传的文件路径输入到标签内部;
2.使用第三方软件AutoIt。
以下主要描述使用AutoIt生成exe文件实现自动上传文件。

一、下载安装AutoIt

参考博客 https://www.cnblogs.com/sunjump/p/7268805.html

二、安装后需要使用的文件

文件

三、使用步骤

我使用的是32位的,其中

  • AutoIt Window Info (x86) 打开选择文件弹出框检测器,检测出来的属性在后面的脚本中只看到这几个比较有用。

检测

1.SciTE Script Editor 进行编写脚本的。其中(打开、#32770、D:\username.txt等文件需要自己修改的,其他不用动。)

ControlFocus("打开","","Edit1")
;识别windows窗口
WinWait("[CLASS:#32770]","",10)
;窗口等待十秒
ControlSetText("打开", "", "Edit1", "D:\username.txt")
;想输入框中输入需要上传的地址
Sleep(2000)
ControlClick("打开", "","Button1");
;点击[打开】按钮

编写完成后,保存为au3格式。

2.完成后使用Compile Script to .exe (x86)这个软件把au3文件转化成exe格式文件转换

3.使用os.system(ttee.exe)执行上传文件命令。执行该命令之前需要打开选择文件弹框,并且只能上传D:\username.txt这个文件,局限性比较高。

4.所以需要优化,代码修改如下:

ControlFocus("打开","","Edit1")
;识别windows窗口,焦点
WinWait("[CLASS:#32770]","",5)
;等待窗口出现,最多等待五秒

;判断是否有参数
IF $CmdLine[0] > 0 Then ;有参数
   $file = $CmdLine[1]
EndIf
ControlSetText("打开","","Edit1",$file)
Sleep(2000)
;等待信息输入完成
ControlClick("打开", "","Button1");
;点击打开按钮,进行文件上传

5.重复上述2、3 步骤

此时启动命令需要为exe文件和需要上传的文件路径os.system(ttee.exe D:\username.txt),注意中间的空格。这样就可以自定义上传某些文件了。
6.因为项目遇到的上传文件的弹窗框都是统一的,暂时不研究其他类型的选择文件的弹出框了。后面遇到了继续补充优化。

发布了17 篇原创文章 · 获赞 9 · 访问量 1854

猜你喜欢

转载自blog.csdn.net/qq_45731111/article/details/104980174