如何使用量角器将文件上传到ng文件上传元素

How to upload file using Protractor to the ng-file-upload element

本文关键字:文件 ng 元素 何使用 量角器      更新时间:2023-09-26

HTML 如下:
<input type="file" style="display: none" ng-file-select="" ng-file-change="upload($files)" ng-multiple="multiple" accept=".jpg,.png">

我需要将文件上传到使用 ng-file-upload 使用量角器上传图像文件的元素:

var uploadFile = element(by.css('input[type="file"]'));
uploadFile.sendKeys('C:''Temp''test.png');
uploadFile.evaluate("openMetadataDialog({file:imgFile})");

但是,上述方法不起作用。我无法理解如何上传文件!根据我的理解,一旦我向输入元素发送密钥,就应该调用上传函数!然而,这似乎并没有发生!

问候
萨克希

似乎ng-file-upload对.sendKeys(...)没有反应,它的文件更改不会被调用。您可以使用标准onchange事件来调用一些自定义上传逻辑:

<input type="file" 
       style="display: none"     
       onchange="angular.element(this).scope().upload(this)" 
       ng-file-select 
       ng-multiple="multiple" 
       accept=".jpg,.png">

指向具有属性文件的输入元素。