我认为,每个将Webdriver用于测试自动化的人都必须意识到其在Web开发中的巨大优势。
但是,如果文件上传是您的webflow的一部分,则会出现一个巨大的问题。它不再是测试自动化。浏览器的安全限制(调用文件选择)实际上使自动化测试成为不可能。
Afaik唯一的选择是让webdriver单击文件上传按钮,使线程hibernate,让开发人员/测试人员手动选择文件,然后执行其余的网络流程。
如何处理,有没有解决的办法?因为它真的不能像这样完成。这是没有道理的。
这是我所知的唯一不适用浏览器安全性限制的情况:
<script language=javascript> function window.onload(){ document.all.attachment.focus(); var WshShell=new ActiveXObject("WScript.Shell") WshShell.sendKeys("D:\MyFile.doc") } </script>
Webdriver可以在IE和Firefox中轻松解决此问题。这是找到元素并键入内容的简单案例。
driver = webdriver.Firefox() element = driver.find_element_by_id("fileUpload") element.send_keys("myfile.txt")
上面的示例在Python中,但您了解了