使用 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。
我想上传一个文件作为自动化测试,用下面的代码,它正确地选择了文件并点击了上传按钮,但是点击上传按钮后没有任何反应,我相信它不会触发 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。