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%免费】

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐