Selenium WebDriver MoveToElement - élément masqué, de pointage et de toggleClass

Selenium WebDriver: 2.35.
FireFox: 25.0

Je veux déplacer la souris sur un div qui provoque une image cachée pour devenir visible, puis cliquez sur l'image. J'ai lu les messages ici, ici, ici et les autres. La réponse générale est de faire quelque chose de la forme:

action.moveToElement(we).moveToElement(webdriver.findElement(By.xpath("/expression-here")).click().build().perform();

Toutefois, cela ne fonctionne pas dans l'exemple ci-dessous:

html:

<div id="bb_testDiv">
    <img class="bb_matchImgTest bb_standardHidden" src='@Url.Content( "~/images/match.png" )' alt='Match'/>
</div>

Javascript/jquery:

 $( document ).on( 'hover', '#bb_testDiv', function ()
 {           
     $( this ).find( '.bb_matchImgTest' ).toggleClass( 'bb_standardHidden' );
 } )        
 $( document ).on( 'click', '.bb_matchImgTest', function ()
 {
     alert('here');
 } )

CSS:

.bb_standardHidden
{
    visibility:hidden;
}

C# code de test:

IWebElement testDiv = WebDriver.FindElement( By.Id( "bb_testDiv" ) );            
Actions builder = new Actions( WebDriver );
Actions hoverClick = builder.MoveToElement( testDiv ).MoveToElement( testDiv.FindElement( By.ClassName( "bb_matchImgTest" ) ) ).Click();
hoverClick.Build().Perform();

Le problème, c'est que le clic de l'événement n'est pas déclenché. Aussi, l'élément est à gauche visible, de sorte que toute ultérieure du passage de la souris en la cachant. Bien sûr, tout cela fonctionne très bien avec un test manuel.

Le problème semble être avec le hover de l'événement. Si je le casse en deux événements - mouseenter et mouseleave (au lieu de pointage) avec addClass et removeClass (au lieu de toggleClass), alors il fonctionne. Je me demandais si il est possible de le faire fonctionner avec hover?

InformationsquelleAutor acarlon | 2013-11-12