上传文件 - 量角器
Upload file - Protractor
我用量角器打架,因为对于某些测试我需要上传文件。我的 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>
输入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;">
我在量角器中搜索了很多关于这个问题的信息。基本上人们的建议是复制/粘贴文件路径以输入,然后单击 "UPLOAD"
在我的例子中有一个问题,因为这里有输入但它存储了一些对象而不是 PATH
如果我手动选择文件,它会存储在 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>
也许这真的很愚蠢,但我在想是否有其他方法可以做到这一点?也许创建对象并将其发送到那里或其他什么地方?
欢迎任何建议。
通过 protractor/selenium 上传文件的常见且最现实的方法是将密钥发送到 file
输入并 避免打开上传文件对话框 你无法控制:
var uploadInput = element(by.css("input[type=file]"));
uploadInput.sendKeys("path/to/file");
我用量角器打架,因为对于某些测试我需要上传文件。我的 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>
输入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;">
我在量角器中搜索了很多关于这个问题的信息。基本上人们的建议是复制/粘贴文件路径以输入,然后单击 "UPLOAD"
在我的例子中有一个问题,因为这里有输入但它存储了一些对象而不是 PATH
如果我手动选择文件,它会存储在 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>
也许这真的很愚蠢,但我在想是否有其他方法可以做到这一点?也许创建对象并将其发送到那里或其他什么地方?
欢迎任何建议。
通过 protractor/selenium 上传文件的常见且最现实的方法是将密钥发送到 file
输入并 避免打开上传文件对话框 你无法控制:
var uploadInput = element(by.css("input[type=file]"));
uploadInput.sendKeys("path/to/file");