使用Angular js上传文件 - 量角器e2e测试

时间:2015-04-07 08:05:39

标签: javascript angularjs file protractor e2e-testing

我想上传一个文件作为自动测试,使用以下代码,它正确选择文件&点击上传按钮,但点击上传按钮后没有任何反应,我相信它不会触发页面上的javascript:

var fileUpload = './testFile.txt',
absolutePath = path.resolve('./testFile.txt', fileUpload);
$('input[type="file"]').sendKeys(absolutePath);

element(by.model('documentFile'));

element(by.css('button[ng-click="uploadSelectedFiles()"]')).click();

还有其他方法吗?

编辑:我设法做到了这一点,谢谢谁帮助了我,这是我的代码:

var fileUpload = './testFile.jpg',
            absolutePath = path.resolve('/home/xxx/workspace/xxx/xxx/xxx/xxxxx/test/x/x/x/x/filesToUpload', fileUpload);

        var uploadInput = $('input[type="file"]');
        uploadInput.sendKeys(absolutePath);
        uploadInput.submit();
        element(by.css('button[ng-click="uploadSelectedFiles()"]')).click();

2 个答案:

答案 0 :(得分:2)

而不是点击"上传"按钮,将键发送到输入以设置路径并通过单击Submit按钮提交表单:

var uploadInput = $('input[type="file"]');

uploadInput.sendKeys(absolutePath);

var submitButton = element(by.xpath("//input[.='Submit']"));
submitButton.click();

答案 1 :(得分:0)

似乎是“ng-”和“click”之间的空格。