在Web自动化测试过程中,有时候我们会遇到文件上传的场景,对于文件上传,一般有两种情况。
1、input标签文件上传
带有input标签并且type属性的值为file可直接使用send_keys方法上传文件。
此时就非常简单了,我们可以直接通过send_keys输入图片路径即可
driver.get('http://www.testertechnology.com/forum')
driver.find_element_by_name('file').send_keys('D:/code/test.png')
2、非input标签AutoIt上传文件
对于非input标签的文件上传我们使用AutoIT3,最后测试用例去调用其生成的exe文件。
实现步骤:
1.打开文件上传场景,点击“选择文件”弹出Windows弹框
2.打开AutoIt Windows Info工具,鼠标点击Finder Tool,鼠标将变成一个小风扇形状的图标,按住鼠标左键拖动到需要识别的控件上
第前两步通过AutoIt Windows Info获取windows弹框信息:
窗口的title为“打开”,标题的Class为“#32770”。
文件名输入框的class 为“Edit”,Instance为“1” ,所以Classname为“Edit1”。
打开按钮的class 为“Button”,Instance为“1” ,所以Classname为“Button1”
3.根据AutoIt Windows Info 所识别到的控件信息打开SciTE Script Editor编辑器,编写脚本
ControlFocus()方法用于识别Window窗口
WinWait()设置10秒钟用于等待窗口的显示
ControlSetText()用于向“文件名”输入框内输入本地文件的路径
ControlClick()用于点击上传窗口中的“打开”按钮
此时在FIle中保存此脚本为名称test.au3文件
4. 打开Compile Script to.exe工具,点击“Browse”选择upfile.au3文件,点击“Convert”按钮将其生成为test.exe程序
然后开始看代码吧:
driver.get('http://www.testertechnology.com/forum')
driver.find_element_by_id('updateico').click()#点击图片上传Button
time.sleep(5)
os.system("D:\\code\\test.exe")#执行图片上传动作,需要在管理员权限下
此时就完成了图片上传。
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可文章来源:https://www.toymoban.com/news/detail-577882.html
文章来源地址https://www.toymoban.com/news/detail-577882.html
到了这里,关于Selenium自动化测试处理文件上传的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!