Capybara:如何附加文件?

时间:2016-10-13 15:17:30

标签: ruby macos google-chrome cucumber capybara

我有一个元素,点击它打开添加图片的对话窗口:

<div layout="column" class="uploadPhotoActionBlock layout-align-center-center layout-column" layout-align="center center" ngf-select="vm.addPhotos($file)" accept="image/*" ng-hide="vm.product.images.length == 3" aria-hidden="false"> <div flex="" class="plus flex"> + </div> <div flex="" class="text ng-binding flex"> add photo </div> </div>

我需要在测试中执行这些步骤。

我试过了:

  1. attach_file
  2. find.set
  3. 单击按钮+单击(在窗口内单击)
  4. 没有任何作用。 浏览器是Chrome。 enter image description here

    有什么想法吗?感谢

1 个答案:

答案 0 :(得分:1)

您需要使与AddPhoto小部件关联的实际<input type="file">元素可见(您不在html中显示实际输入),然后在其上调用attach_file。通常这意味着使用execute_script来调整输入元素的CSS以使其可见。