量角器无法在Firefox上找到要上传的文件

时间:2017-09-26 07:56:40

标签: angularjs file-upload protractor

我想使用此代码测试文件上传,找到here

var path = require('path');    

var fileToUpload = '..\\..\\files\\avatarPicture.jpg';
var absolutePath = path.resolve(__dirname, fileToUpload);

var fileElem = element(by.css('input[type="file"]'));

browser.executeScript(
  "arguments[0].style.visibility = 'visible'; arguments[0].style.height = '1px'; arguments[0].style.width = '1px'; arguments[0].style.opacity = 1", fileElem.getWebElement());

browser.executeAsyncScript(function(callback) {
   document.querySelector('input[type="file"]').style.display = 'inline';
   callback();
   });

   $('input[type="file"]').clear().sendKeys(absolutePath);

并且存在WebDriverError:

Failed: File not found: C:\works\project\files\avatarPicture.jpg
  • 我已经检查了路径 - 这是正确的。我可以从命令行轻松打开文件
  • 我尝试使用反斜杠和斜杠。还有同样的错误。
  • WebDriver版本:gecko v0.17.0
  • Windows 10 Pro
  • 一切正在Chrome上运行,但我需要Firefox的解决方案

2 个答案:

答案 0 :(得分:0)

试试这个

fileElem.clear().then(function() {
    fileElem.sendKeys(absolutePath);
})

答案 1 :(得分:0)

您可以尝试使用此Bug 858解决方法