无法在Windows窗体中输入文本

时间:2017-02-17 10:02:56

标签: protractor

我的网站需要导入文件。这是通过单击按钮然后使用Windows标准表单在我的桌面上查找文件来完成的。我很难让量角器进入桌面位置。我把它作为原始button.click的.sendkeys

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我会做这样的事情:

var myPath = require('path');

it('tests the file upload functionality', function() {
  var fileToUpload = '../yourpath/yourfile.exe',
      absolutePath = path.resolve(__dirname, fileToUpload);

  element(by.css('input[type="file"]')).sendKeys(absolutePath);    
  element(by.id('uploadBtn')).click();
});
  1. 使用路径模块解析文件的完整路径。
  2. 设置输入[type =“file”]元素的路径。
  3. 点击上传按钮。
  4. 注意,它不能在FF下工作,为了在FF中上传,使输入字段可见:

    browser.executeAsyncScript(function(callback) {
      document.querySelectorAll('#inputElem')[0].style.display = 'inline';
      callback();
    });
    
    // Now upload should work
    $('input[type="file"]').sendKeys(absolutePath);    
    $('#uploadButton').click();