一 前言python
在Web UI自动化测试中可能会遇到文件上传的场景,针对该场景主要有两种解决思路:若是是<input type="file">元素,可优先尝试send_keys() 输入文件路径;若是实际状况必需要处理windows文件选择框,则可尝试借助AutoIt实现。web
二 处理方法windows
假设如今咱们有以下一个页面,须要进行文件上传操做:服务器
手工进行文件上传的步骤为:点击【选择文件】->弹出windows文件选择框->选择文件->点击【开始上传】按钮。微信
分析页面源码,以下:ide
从页面源码可知,【选择文件】是input标签的元素,且type=‘file’。所以,能够尝试先定位到该元素,而后执行send_keys方法传入文件路径,实现代码以下:学习
browser = webdriver.Chrome()
file_path = r'E:\Python培训计划\selenium自动化测试\上传测试.xlsx'
# 注意file_path使用绝对路径:unknown error: path is not absolute
# 使用send_keys方法模拟打开windows弹框选择上传文件的过程
browser.find_element(By.XPATH,'//*[@id="uploadify_excel-upload_1"]').send_keys(file_path)
#点击【开始上传】按钮
browser.find_element(By.ID,'startUpload').click() #上传文件到服务器
三 总结测试
本文主要介绍文件上传的处理方法,调用send_keys方法传入文件路径便可,无需模拟弹出windows选择框且选择文件的过程。经过该方法能够简单、高效的实现选择文件的目的,避免将处理思路卡在如何选择文件这个问题上。spa
四 其余资源excel
关于python学习、分享、交流,笔者开通了微信公众号【小蟒社区】,感兴趣的朋友能够关注下,欢迎加入,创建属于咱们本身的小圈子,一块儿学python。