javascript - 上传文件 - Protractor

标签 javascript selenium testing protractor end-to-end

我用 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;">

我在 Protractor 中搜索了很多关于这个问题的信息。基本上人们的建议是复制/粘贴文件路径以输入,然后单击“上传”

在我的例子中有一个问题,因为这里有输入但它存储了一些对象而不是 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 上传文件的常见且最现实的方法是将 key 发送到 file 输入并避免打开您无法打开的上传文件对话框控制:

var uploadInput = element(by.css("input[type=file]"));
uploadInput.sendKeys("path/to/file");

关于javascript - 上传文件 - Protractor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30977388/

相关文章:

javascript - JQuery 自动滚动播放 Youtube 视频

javascript - 从 AngularJS $http get 返回对象

javascript - 除非我使用 $timeout,否则指令中的 AngularJs 动画不起作用

javascript - 我有一个具有父 id 的平面数组,我想将其嵌套起来,就像使用 javascript 的树父子数组一样

java - Selenium Xpath 在 div 标签内查找表格单元格

javascript - Selenium ,java,js "Exception in thread "主“org.openqa.selenium.JavascriptException : missing ) after argument list"

amazon-web-services - 我应该如何测试我的 "Serverless"(API Gateway/Lambda/ECS) 应用程序?

java - 使用selenium选择网页中的元素

css - 如何模拟像素比以在 Windows 上使用 Google Chrome 或 Firefox 测试媒体查询?

testing - 通过电子商务站点的 jmeter 执行 smartjmx 时出错