2014-10-30 102 views
2

我試圖通過在我的水豚RSpec測試中執行一系列腳本來測試jQuery滑塊。我的腳本執行以下操作:水豚jQuery腳本與硒驅動程序但不是Poltergeist

  1. 抓住滑塊手柄
  2. 滑動手柄
  3. 釋放手柄

    execute_script("$('#PMPM-slider .ngrs-handle-min').trigger(jQuery.Event('mousedown', { clientX: 70, clientY: 77 }))") 
    execute_script("$('#PMPM-slider .ngrs-handle-min').trigger(jQuery.Event('mousemove', { clientX: 100, clientY: 77 }))") 
    execute_script("$('#PMPM-slider .ngrs-handle-min').trigger('mouseup')") 
    

...然後運行我的說法。此測試運行並使用Selenium Web驅動程序傳遞。不幸的是,出於性能方面的原因,我們使用Poltergeist來運行所有的測試(在這種情況下,我們將Selenium作爲調試目的的一個選項)。出於某種原因,Poltergeist不會對這些腳本做出響應(我們使用Capybara截圖寶石,並且我可以看到測試完成時滑塊沒有移動)。

是否有人知道任何與語法,配置或其他相關的原因,爲什麼Poltergeist無法解釋這些腳本?

回答

1

在這種情況下,似乎Poltergeist使用觸摸事件而不是點擊。分別將'mousedown','mousemove'和'mouseup'切換到'touchstart','touchmove'和'touchend'可以解決問題。希望這可以幫助未來的其他人。

相關問題