自动化测试如何实现文件上传(python代码)
- 最近参加面试被问到自动化测试如何实现文件的上传,当时只记得用send_keys加文件的绝对路径是可以实现的。回来度娘了一下,只有简单的input标签可以用,对于非input标签就要通过打开windows系统弹窗来实现了。
- 对简单的input标签实现的方式:
#导入webdriver
from selenium import webdriver
import time
#练习的网址
url = "https://www.layui.com/demo/upload.html"
#用的谷歌浏览器
driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_class_name("layui-upload-file").send_keys(r"E:\images\qiqiu.PNG")
#等待2s这样能看清楚
time.sleep(2)
driver.quit()
- 非input标签就比较复杂一些了,我这里用的是pywinauto,用的和上面同一个文件上传网址,非input标签实现的方式就要打开如图所示的“打开”窗口的。如何定位这个打开的弹窗?就要用到ViewWizard(句柄查看精灵)来定位。
- 代码实现如下: