web自动化测试图片上传的方法:
第一种为当具有input标签时,如:
<input type="file" name="file" multiple="multiple">
这类可以通过selenium中的send_keys()上传 直接实现:
driver.find_element_by_css_selector("[type='file']").send_keys(r"文件地址")
第二种为当不是input标签时,将不能使用上述方法我们可以通过selenium借助autoIt工具打开OS弹框,
去处理弹框实现文件和图片上传,这时我们就可以利用AutoIT工具来辅助我们来实现,如(需要在上方添加:import os):
AutoIT下载链接:https://www.autoitscript.com/site/autoit/
AutoIT的安装一直下一步就搞定了,安装成功后可以在开始菜单下看到AutoIT的所有工具,如下图所示:
AutoIt Window Info 用于帮助我们识Windows控件信息如输入框、按钮等。
SciTE Script Editor 用于编写AutoIt脚本。
Compile Script to.exe 用于将AutoIt生成 exe 执行文件。
Run Script 用于执行AutoIt脚本。
1、首先打开AutoIt Windows Info 工具,鼠标点击Finder Tool,按住鼠标左键拖动到需要识别的控件上。
通过识别可知道:
窗口的title为“打开”,标题的Class为“#32770”。
文件名输入框的class 为“Edit”,Instance为“1” ,所以控件id为“Edit1”。
打开按钮的class 为“Button”,Instance为“1” ,所以控件id为“Button1”。
2、识别好以上数据之后打开SciTE Script Editor 编辑器进行编辑,如下:
#ControlFocus( "窗口标题", "窗口文本", 控件ID) 设置输入焦点到指定窗口的某个控件上
ControlFocus("打开","","Edit1")
#WinWait( "窗口标题" [, "窗口文本" [, 超时时间]] ) 暂停脚本的执行直至指定窗口存在(出现)为止
WinWait("打开","",10)
#ControlSetText( "窗口标题", "窗口文本", 控件ID, "新文本" ) 修改指定控件的文本
ControlSetText("打开","","Edit1","C:\Users\Administrator\Desktop\3.png")
#Sleep( 延迟 ) 使脚本暂停指定时间段,这里是以毫秒为单位的
Sleep(1000)
#ControlClick( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]]) 向指定控件发送鼠标点击命令
ControlClick("打开","","Button1")
AutoIT脚本编写完成后,保存,可以通过菜单栏“Tools”-->“Go” 或F5运行一下脚本。
注意:运行的时候,上传窗口需处于打开状态。
3、 脚本编辑运行无误后,将其保存。然后打开Complie Script to .exe工具,将保存的脚本编译成exe可执行文件。
4、编译成功后直接引用图片将上传成功
最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
版权归原作者 自动化软件测试 所有, 如有侵权,请联系我们删除。