如何在Ubuntu 16.04上使用量角器上传文件?

时间:2016-12-15 07:57:55

标签: protractor ubuntu-16.04

enter image description here这是我的代码:

var path = require('path');
        var fileToUpload = protractor.basePath+'/home/raghavendra/Downloads/gayle_laakmann_-_business_resume.doc';
        var absolutePath = path.resolve(fileToUpload);
        element.all(by.css('input[type="file"]')).sendKeys(absolutePath);
        browser.sleep(5000);

在执行此测试用例时,它显示测试已通过,但未上传。

2 个答案:

答案 0 :(得分:0)

这个想法是不会触发"选择文件"你无法控制的对话。相反,使用input将密钥发送到相应的type="file"元素,然后提交表单(如果未自动提交):

var fileInput = $('input[type=file]');
fileInput.sendKeys(absolutePath);

fileInput.submit();  // would submit the form

并确保input[type=file]定位器足够好并且您实际上定位了所需的input(检查是否有与定位器匹配的单个元素)。

答案 1 :(得分:0)

Sending keys应该在一个元素上,而不是element array finder

        var path = require('path');
        var fileToUpload = protractor.basePath+'/home/raghavendra/Downloads/gayle_laakmann_-_business_resume.doc';
        var absolutePath = path.resolve(fileToUpload);
        element(by.css('input[type="file"]')).sendKeys(absolutePath);

要提交文件,如果您的网站上有上传按钮,那么我会点击该文件。如果您要将文件拖放到网站上进行自动上传,那么我建议您也发送返回密钥。