1

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

2 回答 2

2

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

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

uploadInput.sendKeys(absolutePath);

var submitButton = element(by.xpath("//input[.='Submit']"));
submitButton.click();
于 2015-04-07T14:31:51.780 回答
0

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

于 2015-05-11T05:43:22.600 回答