javascript - 使用 Angular js 上传文件 - Protractor 端到端测试

标签 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();

最佳答案

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

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

uploadInput.sendKeys(absolutePath);

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

关于javascript - 使用 Angular js 上传文件 - Protractor 端到端测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29486747/

相关文章:

javascript - AngularJS - $scope 对象中缺少 ng-model 项

javascript - native react : how to make two images fade to each other?

Javascript 在点击时删除图像

javascript - Angularjs下载图像并显示

javascript - AngularJS promise ,$q,延迟

c - 从C文件中读取移动数据(字符串和数字)

java - 将 .txt 的内容放入字符串中

javaScript 对象过滤器返回未定义

angularjs - Angular 将 $http 注入(inject)配置或提供程序以运行

java - 在 Ubuntu 终端中运行可执行 jar 时获取错误文件。<init>