1
我们的应用程序有一个页面,您可以在其中上传文件。我编写的代码将使用SendKeys()
将文件路径发送到文件上传组件的input
标记。但是,这不是在这个页面上工作。使用Selenium Webdriver将文件上传到输入标签
string filepath = Path.GetFullPath(Directory.GetCurrentDirectory() + @"\..\..\..\Test Files\" + filename);
uploadInput.Click();
uploadInput.SendKeys(filepath);
我已经确认filepath是绝对正确的。我也证实WebDriver元素是绝对正确的。并且,此代码确实在我们的应用程序的完全独立的形式工作。我的猜测是,这个文件上传组件编码的方式不能与这种方法兼容。
我还有哪些其他选项可用于上传文件?注意,控制系统文件浏览器完全是出于给我们的测试是在运行环境的问题
编辑:我确认,输入标签确实收到我指定的文件。然而,表单的自定义验证似乎认为没有上传。这可能是我需要与开发人员解决的问题。
它是一个标准的文件上传HTML元素或者是一个自定义文件上传替换您的路径? – Purus
看看这个线程,它有一个适当的解决方案给你:https://stackoverflow.com/questions/3300580/webdriver-file-upload –