【问题标题】:Upload file to input tag with Selenium Webdriver使用 Selenium Webdriver 将文件上传到输入标签
【发布时间】:2017-12-23 19:51:33
【问题描述】:

我们的应用程序有一个页面,您可以在其中上传文件。我编写的代码将使用SendKeys() 将文件路径发送到文件上传组件的input 标签。但是,它不适用于此页面。

string filepath = Path.GetFullPath(Directory.GetCurrentDirectory() + @"\..\..\..\Test Files\" + filename);
uploadInput.Click();
uploadInput.SendKeys(filepath);

我已经确认文件路径绝对正确。我还确认 WebDriver 元素也绝对正确。而且,此代码确实适用于我们应用程序的完全独立形式。我的猜测是这个文件上传组件的编码方式一定和这个方法不兼容。

上传文件还有哪些其他选项?请注意,鉴于我们的测试运行环境,控制系统文件资源管理器是完全不可能的。

编辑:我确认输入标签确实收到了我指定的文件。然而,表单的自定义验证似乎认为没有上传任何内容。这可能是我需要与我们的开发人员一起解决的问题。

【问题讨论】:

标签: c# selenium automation webdriver ui-automation


【解决方案1】:

尝试替换您的路径

@"\..\..\..\Test Files\" + filename

to

"\\..\\..\\..\\Test Files\\" + filename

var path= new System.Uri(""\..\..\..\Test Files\" + filename");
var bakedPath = uri.AbsoluteUri;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2016-12-01
    • 2017-10-02
    • 2013-09-20
    • 1970-01-01
    • 2017-09-16
    相关资源
    最近更新 更多