系统相关
首页 > 系统相关> > java – Selenium WebDriver鼠标操作moveToElement不会在Firefox Linux上引发mouseout事件

java – Selenium WebDriver鼠标操作moveToElement不会在Firefox Linux上引发mouseout事件

作者:互联网

我一直在尝试使用Selenium WebDriver和Firefox 19在我的网页上测试工具提示.
我基本上试图使用鼠标操作将鼠标悬停在附加了工具提示的元素上,以便测试工具提示是否显示,并将鼠标悬停在另一个元素上以测试工具提示是否隐藏.
第一个操作正常,但当悬停在另一个元素上时,工具提示仍然可见.手动测试网页时不会发生此问题.
有没有其他人遇到过这个问题?我正在使用Ubuntu 12.04.

解决方法:

似乎Advanced Actions API依赖于本机事件,默认情况下在Linux版本的Firefox中禁用.因此,必须在WebDriver实例中明确启用它们.

FirefoxProfile profile = new FirefoxProfile();
//explicitly enable native events(this is mandatory on Linux system, since they
//are not enabled by default
profile.setEnableNativeEvents(true);
WebDriver driver = new FirefoxDriver(profile);

此外,在我的情况下,我需要将WebDriver升级到版本2.31,因为hover(moveToElement)操作在2.30上无法正常工作,即使显式启用了本机事件也是如此.使用WebDriver的2.31版和Linux上的Firefox版本17和19进行了测试.
有关更多信息,请查看此链接:
http://code.google.com/p/selenium/wiki/AdvancedUserInteractions#Native_events_versus_synthetic_events

标签:java,firefox,selenium-webdriver,selenium,mouseout
来源: https://codeday.me/bug/20190529/1179449.html