2013-09-23 54 views
5

要自動執行其中一個測試,我必須執行拖放操作。因此,我試圖實現它下面的方式:無法執行本地交互:無法加載Selenium-webdriver 2.35.0和Firefox 23.0.1組合的本地事件組件

driver.action.drag_and_drop(source, target).perform 

,但它的結果爲錯誤:

Selenium::WebDriver::Error::InvalidElementStateError: Cannot perform native interaction: Could not load native events component. 

我跑這個測試在以下配置:

  1. 火狐23.0.1
  2. Selenium WebDriver 2.35.0

我選擇了上面的組合,因爲change log說 - 使用Selenium WebDriver 2.35.0和Firefox 23,本地事件組件工作正常。

儘管我使用了正確的Firefox和Selenium WebDriver版本,但它卻出現了錯誤。

看着stackoverflow,我可以看到相同類型的問題已被問了好幾次。這些問題的答案如下:either downgrade/upgrade Firefox, Selenium WebDriver versions

每次Firefox或Selenium WebDriver版本升級時,用戶都會面臨這些問題。因此,用戶可以查看更改日誌並嘗試找到Firefox和WebDriver的正確組合。 (儘管我跟着它,我現在面臨的問題)

我的問題是:

  1. 有利於選擇正確的Firefox和硒webdriver的版本最簡單的方法?
  2. 或者是否有任何使用硒的鼠標交互的解決方法?

這樣我們就可以擺脫Cannot perform native interaction: Could not load native events component.的錯誤。

回答

0

您還應該選擇使用driver.execute_script(「JavaScript code here」)手動執行由拖放觸發的JS函數。

+0

是的,JavaScript有助於在Selenium API無法實現的情況下。這可能是解決方法。但是,您能否爲'driver.execute_script(這裏是JavaScript代碼)''提供''JavaScript代碼'的代碼''部分? – TDHM

相關問題