selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传
AutoIt使用简单说明
AutoIt的安装这里就不在啰嗦,可以参考AutoIt安装或者自行搜索解决。
第一步:定位上传文件路径的文本框
这里举例说明,如何定位?如图
这里我们看到上传文件的类型是button类型,首先启动AutoIt Window Info(x64),(这里本机是64位的,所以使用的是x64),启动界面如图所示
操作方法如图所示
这样,我们使用autoit定位到了上传的文本框,接下来就是如何使用代码来实现了...
第二步:使用SciTE-Lite编写上传文件代码
在上个截图中,标红的地方,class、instance等,这里我们会用到这些属性,autoit代码如下:
WinWait("CLASS:#32770","",5)
ControlFocus("文件上传", "", "Edit1")
WinWait("[CLASS:#32770]", "", 10)
ControlSetText("文件上传" ,"", "Edit1", 'C:\Users\Admin\PycharmProjects\untitled1\hotel\pic\sun.jpg')
Sleep(2000)
ControlClick("文件上传", "","Button1");
完成代码编写之后,保存该文件为au3格式的,如upload.au3
第三步:转化au3为exe文件
启动Compile Script to .exe,如图
导入需要转化的文件,点击Convert进行转化即可
第四步:python代码实现
操作步骤:
- 定位上传按钮
- 使用autoit上传
代码如下:
# 第一步首先定位上传导航图的按钮
self.driver.find_element_by_id("upload1").click()
# 使用autoIt进行图片上传
# 调用upload.exe文件
os.system("C:\Users\Admin\PycharmProjects\untitled1\hotel\instrument\upload.exe")
这样就可以在python中使用AutoIt进行文件或图片的上传了。