2016-10-03 14 views
0

我試圖與水豚測試plupload拖放事件。正常工作流程是測試plupload與水豚,send_keys不產生FilesAdded事件

  1. 用戶點擊/(或可以刪除​​文件)上載面積
  2. 本地操作系統的窗口打開
  3. 點擊文件,按OK
  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'事件,請讓我知道, 謝謝。

+0

什麼驅動?什麼版本的水豚? '#browse-button'實際上是輸入[type ='file']元素嗎? 是什麼讓你說它實際上是附加文件? pulpupload尋找什麼事件來觸發生成自己的「FilesAdded」事件? –

+0

硒,水豚(2.7.1),,拖放文件或附加文件 –

回答

1

假設你使用plupload(因爲我找不到任何在線的項目名爲pulpulpoad),那麼它正在尋找一個'change'事件來觸發它自己的FilesAdded事件 - https://github.com/moxiecode/plupload/blob/master/js/plupload.dev.js#L1064。隨着水豚,你應該叫

attach_file('browse-button', file) 

這到底歸結爲send_keys,但在此之前,做了一些檢查,以確保其能正常工作。

如果這不適合你,你使用硒驅動2.53.4和FF < = 47.0.1,那麼你需要發佈你得到的錯誤和一個html樣本。如果您在使用硒的webdriver 3.xx的β和FF>然後= 48你可能運行到這個bug - https://github.com/mozilla/geckodriver/issues/168 - 這顯然是解決了FF 49.0.1

+0

我使用 硒的webdriver(2.53.4),FF( 47.0) ,但讓我吃驚的是attach_file顯示相同的行爲send_keys即剛剛安裝的文件,但不生成事件。 –

+0

假設你的意思是FF(47.0.1),那麼你要麼是正在吞噬變化事件,並防止plupload從看到它的事件處理程序,或者你在你的代碼中的JS錯誤,導致plupload從附着其事件處理程序首先 –

+0

我改變了我的司機從硒騷靈和每一件事工作得很好,但更重要的是它是湯姆的有關使用attach_file代替send_keys,所以選擇這個作爲一個答案的答案。謝謝。 –