我正在尝试使用量角器在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
});
路径正确,并且该路径上存在文件。 没有错误发生。我只是在浏览器上看到输入字段为空。 怎么了?为什么不上传?
答案 0 :(得分:0)
最后,我找到了解决方案。问题在于输入字段需要一些时间才能出现在屏幕上(有动画可以完成)。因此,为了使其正常工作,我添加了以下内容:
const EC = protractor.ExpectedConditions;
browser.wait(this.EC.presenceOf(fileElem.get(0)), 5000);