在做Python UI自动化测试时遇到这种情况,我们可以借助一个工具autoIT来实现上传图片或者是文件;
一、具体操作步骤如下:
①、首先下载安装autoIT(自行百度下载即可);
其中:
AutoIt Windows Info 用于识别Windows控件信息
Compile Script to.exe 用于将autoIT生成 exe 执行文件
Run Script 用于执行autoIT脚本
SciTE Script Editor 用于编写autoIT脚本
②、以我做过的项目为例:
点击上传按钮之后,操作界面如下:
③、打开AutoIt Windows Info 工具,点击Finder Tool下小风扇形状图标,按住鼠标左键拖动到需要识别的控件上。
④、打开SciTE Script Editor编辑器,编写脚本。
SciTE Script Editor编辑器如下图:
代码如下:
ControlFocus(“文件上传”, “”,“Edit1”)
WinWait("[CLASS:#32770]","",20)
ControlSetText(“文件上传”, “”, “Edit1”,“D:\certify_android_v1.0.0.apk”)
Sleep(3000)
ControlClick(“文件上传”, “”,“Button1”);
代码第三行,D:\certify_android_v1.0.0.apk可以改成图片路径;
⑤、将脚本保存为uploadFile.au3,然后保持上传文件界面处于打开状态,再通过通过Run Script 工具将uploadFile.au3打开运行;
⑥、打开Compile Script to.exe工具,将upload.au3生成为exe可执行文件;
⑦、调用upload.exe部分代码实现如下:
import os
self.driver.find_element(By.XPATH,"文件上传").click() # 定位点击上传按钮
os.system('D:upload.exe')# 执行upload.exe文件