【发布时间】:2017-12-23 19:51:33
【问题描述】:
我们的应用程序有一个页面,您可以在其中上传文件。我编写的代码将使用SendKeys() 将文件路径发送到文件上传组件的input 标签。但是,它不适用于此页面。
string filepath = Path.GetFullPath(Directory.GetCurrentDirectory() + @"\..\..\..\Test Files\" + filename);
uploadInput.Click();
uploadInput.SendKeys(filepath);
我已经确认文件路径绝对正确。我还确认 WebDriver 元素也绝对正确。而且,此代码确实适用于我们应用程序的完全独立形式。我的猜测是这个文件上传组件的编码方式一定和这个方法不兼容。
上传文件还有哪些其他选项?请注意,鉴于我们的测试运行环境,控制系统文件资源管理器是完全不可能的。
编辑:我确认输入标签确实收到了我指定的文件。然而,表单的自定义验证似乎认为没有上传任何内容。这可能是我需要与我们的开发人员一起解决的问题。
【问题讨论】:
-
是标准文件上传 HTML 元素还是自定义文件上传?
-
看看这个帖子,它有适合你的解决方案:stackoverflow.com/questions/3300580/webdriver-file-upload
标签: c# selenium automation webdriver ui-automation