用水豚测试 plupload,send_keys 不生成 FilesAdded 事件

testing plupload with capybara, send_keys not generating FilesAdded event

我正在尝试使用水豚测试 plupload 拖放事件。正常工作流程是

  1. 用户在上传区域点击/(或可以拖放文件)
  2. 本地OSwindow开辟
  3. 点击文件,按确定
  4. 文件已附加
  5. plupload 生成 'FilesAdded' 事件(有些神奇)

下面是水豚的步骤

filename = '/Users/name/full/path/file.pdf'
visit upload_document_path
element = find('#browse-button')
value = element.send_keys file

现在这些步骤确实附加了文件,但是 plupload 没有生成 'FilesAdded' 事件如果有人遇到这样的问题请告诉我, 谢谢

假设您正在使用 plupload(因为我在网上找不到任何名为 pulpulpoad 的项目),那么它正在寻找要触发的 'change' 事件以触发其自身的 FilesAdded 事件 - https://github.com/moxiecode/plupload/blob/master/js/plupload.dev.js#L1064。对于 Capybara,您应该调用

attach_file('browse-button', file)

最终归结为 send_keys,但在此之前进行一些检查以确保它可以正常工作。

如果这对您不起作用并且您使用的是 selenium-driver 2.53.4 和 FF <= 47.0.1 那么您需要 post 您收到的错误和示例html。如果您使用的是 selenium-webdriver 3.xx beta 和 FF >= 48 那么您可能 运行 遇到了这个错误 - https://github.com/mozilla/geckodriver/issues/168 - 这显然在 FF 49.0.1