为了自动化其中一个测试,我将执行拖放操作。因此,我试图按照以下方式实现它:
driver.action.drag_and_drop(source, target).perform
但会导致错误:
Selenium::WebDriver::Error::InvalidElementStateError: Cannot perform native interaction: Could not load native events component.
我在以下配置上运行了此测试:
我选择了以上组合因为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的正确组合。 (即使我遵循它,我也面临着问题)
我的问题是:
这样我们就可以摆脱Cannot perform native interaction: Could not load native events component.
错误。
答案 0 :(得分:0)
您还应该选择“手动”执行JS功能,该功能由拖放触发,使用driver.execute_script(“JavaScript code here”)。