And*_*rit 2 javascript testing selenium end-to-end protractor
我与量角器打架,因为对于一些测试我需要UPLOAD文件.我的HTML看起来像:
<div class="panel-footer">
<ul class="list-unstyled">
<!-- ngRepeat: file in imagesToUpload -->
</ul>
<button class="btn btn-sm btn-success pull-right ng-binding ng-hide" ng-show="imagesToUpload.length" ng-click="uploadImages()">Nahrát na server</button>
<button class="btn btn-sm btn-primary ng-binding" ng-file-select="onImageSelect($files)" data-multiple="true" style="overflow: hidden;">Vybrat soubory<input type="file" class="btn btn-sm btn-primary ng-binding" ng-file-select="onImageSelect($files)" data-multiple="true" multiple="multiple" __wrapper_for_parent_="true" style="width: 1px; height: 1px; opacity: 0; position: absolute; padding: 0px; margin: 0px; overflow: hidden;"></button>
</div>
Run Code Online (Sandbox Code Playgroud)
输入HTML:
<input type="file" class="btn btn-sm btn-primary ng-binding" ng-file-select="onImageSelect($files)" data-multiple="true" multiple="multiple" __wrapper_for_parent_="true" style="width: 1px; height: 1px; opacity: 0; position: absolute; padding: 0px; margin: 0px; overflow: hidden;">
Run Code Online (Sandbox Code Playgroud)
我在量角器中搜索了很多这个问题.基本上人们建议将COPY/PASTE路径输入文件然后点击"UPLOAD"
在我的情况下有一个问题,因为输入在这里,但它存储一些对象而不是PATH
如果我选择manualy文件,它存储在HTML中,如:
<li ng-repeat="file in imagesToUpload" class="ng-binding ng-scope">
FileName.png <span title="remove" class="btn btn-flat glyphicon glyphicon-remove" ng-click="imagesToUpload.splice($index, 1)"></span>
</li>
Run Code Online (Sandbox Code Playgroud)
也许这真的很愚蠢,但我在想是否还有其他方法如何做到这一点?也许创建对象并将其发送到那里或其他东西?
欢迎任何建议.
通过量角器/ selenium上传文件的常见和最现实的方法是将键发送到file
输入并避免打开您无法控制的上载文件对话框:
var uploadInput = element(by.css("input[type=file]"));
uploadInput.sendKeys("path/to/file");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
994 次 |
最近记录: |