量角器使用sendKeys()在<div>中上传文件

时间:2015-11-21 10:01:06

标签: angularjs upload drag-and-drop protractor

正如您在标题中看到的,我正在尝试使用量角器上传文件。 在我的项目中,我有一个网页,我可以拖动和放大删除文件,使用resumable.js分配给代表丢弃区域的div。

事实是,在进行e2e测试时,我显然无法阻止&amp;删除文件,因此我选择使用sendKeys()上传文件path.resolve('./tests', 'test.csv')的绝对路径。

在此之前,一切正常(路径很好,我可以使用element(by.id(...))找到我的元素但是当我使用sendKeys()时,它会抛出错误"unknown error: cannot focus element"

我试图在<input type="file"></input>上传,但它有效,但由于它是我使用的内容,我无法将其上传到原始div上。

我想我必须指定这是一个文件,我看到了setFileDetector(detector)函数,但我不确定这是正确的继续进行的方式,而且无论如何它似乎都不适用。< / p>

这是HTML drag&amp;下降:

<p translate>Drag & Drop your file below</p>
<div class="drop" ng-class="dropClass" id="import-drop-area" data-ng-init="init()" translate>&nbsp;</div>

这是测试,但不是我的div:

it('Should begin the import wizard by dropping a file', function(done) {

    // Begin the wizard
    var nextButton = element(by.id('next'));
    nextButton.click();

    // Upload a file
    var uploadArea = element(by.id('import-drop-area'));
    var file = path.resolve('./tests/import', 'test.csv');
    uploadArea.sendKeys(file);
    setTimeout(done, 1000);
});

我希望有人可以帮助我,提前谢谢你!

最好的问候。

0 个答案:

没有答案