2016-10-03 8 views
0

capybaraでpluploadドラッグ・ドロップ・イベントをテストしようとしています。通常のワークフローでは、アップロードエリアにcapybaraでpluploadをテストし、send_keysがFilesAddedイベントを生成しない

  1. ユーザーのクリック/(またはファイルをドロップすることができます)
  2. ローカルOSのウィンドウで[OK]を押し
  3. ファイルが
  4. pluploadが発生添付され、ファイルに
  5. クリックして開きます「FilesAdded」イベントは

は今カピバラの場合には、ここで手順は次のとおりです(それはいくつかの魔法を行います)

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

は今、これらの手順は、ファイルを添付してください誰かが、その後、私に教えてください おかげで、このような問題に直面している場合は、「FilesAdded」イベントをplupload生成されていません。

+0

どのようなドライバがありますか?カピバラのどのバージョン? '#browse-button'は実際にinput [type = 'file']要素ですか? 実際にファイルを添付しているとは何ですか? pulpuploadは、独自の 'FilesAdded'イベントの生成をトリガーするイベントを探していますか? –

+0

セレン、カピバラ(2.7.1)、<入力タイプ= "ファイル" id = "ブラウズボタン" />、ファイルをドラッグドロップまたは添付ファイル –

答えて

1

パルプロードを使用していると仮定すると(私はpulpulpoadという名前のプロジェクトをオンラインで見つけることができないため)、 '変更'イベントが発生して独自のFilesAddedイベントがトリガーされるのを探しています - https://github.com/moxiecode/plupload/blob/master/js/plupload.dev.js#L1064。カピバラを使用すると、最後にsend_keysに沸く

attach_file('browse-button', file) 

を呼ぶべきであるが、それに先立って、いくつかのチェックは、それが正常に動作できることを確認しません。

セレンドライバー2.53.4とFF < = 47.0.1を使用している場合は、取得しているエラーとhtmlのサンプルを投稿する必要があります。あなたがselenium-webdriver 3.xxベータ版とFF> = 48を使用している場合、おそらくこのバグに遭遇しているでしょう - https://github.com/mozilla/geckodriver/issues/168 - 明らかにFF 49.0.1で解決されます。

+0

selenium-webdriver(2.53.4)、FF( 47.0) しかし私の驚いたことにattach_fileは、send_keysと同じ動作を示しています。つまり、ファイルを添付していてもイベントを生成していません。 –

+0

あなたがFF(47.0.1)を意味すると仮定した場合、変更イベントを飲み込んでpluploadに表示されないようにするイベントハンドラがあるか、コード内にJSエラーがあり、プラグインがそのイベントハンドラを最初の場所 –

+0

私はセレンからポルターガイストへドライバーを変更し、すべて正常に動作しましたが、もっと重要なのは、send_keysの代わりにattach_fileを使用することについてのTomの答えです。ありがとう。 –

関連する問題