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

Uploading a file using Angular js - 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();

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

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

uploadInput.sendKeys(absolutePath);

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

似乎是 "ng-" 和 "click" 之间的 space。