用量角器上传文件不起作用

时间:2019-12-01 16:18:46

标签: angular protractor angular-e2e

我正在尝试使用量角器在e2e测试中将文件上传到Web表单。文件未上传,输入字段为空。

这是代码:

it('should uploaded', ()=>{
        const fileToUpload = '../src/files/somefile.csv';
        const path = require('path');
        const remote = require('selenium-webdriver/remote');
        browser.setFileDetector(new remote.FileDetector());
        const absolutePath =  path.resolve(__dirname, fileToUpload);
        const fileElem = await element.all(by.css('input[type="file"]')).get(0);
        fileElem.sendKeys(absolutePath);
        // except input file to be not empty
        });

路径正确,并且该路径上存在文件。 没有错误发生。我只是在浏览器上看到输入字段为空。 怎么了?为什么不上传?

1 个答案:

答案 0 :(得分:0)

最后,我找到了解决方案。问题在于输入字段需要一些时间才能出现在屏幕上(有动画可以完成)。因此,为了使其正常工作,我添加了以下内容:

const EC = protractor.ExpectedConditions;
browser.wait(this.EC.presenceOf(fileElem.get(0)), 5000);