11 votes

Un contournement pour Selenium 2.0 WebDriver & la pseudoclasse :hover

Est-ce que quelqu'un pourrait fournir un exemple c# de comment contourner le problème connu de Selenium concernant la pseudo-classe css :hover?

Essentiellement, je travaille sur des tests de régression pour un site web en commençant par le navigateur Selenium IDE (et en développant le reste de mon code dans Visual Studio 2008), et j'ai besoin de survoler une div, de la faire apparaître, et de cliquer sur un lien à l'intérieur de cette div.

Tous mes efforts ont échoué cependant, et il semble que beaucoup rencontrent ce problème, sans solution.

Merci d'avance!

13voto

spacebed Points 329

D'accord! Je vous remercie pour l'aide (j'avais en fait vu ce fil de discussion, mais la classe .hover() a été obsolète, et je n'ai pas pu le faire fonctionner. Je viens cependant de trouver une solution de contournement solide.

var téléphone = driver.FindElement(By.Id("telephones"));
var phoneLi = phone.FindElements(By.TagName("li"));
Actions action  = new Actions(driver);//simplement mon webdriver
action.MoveToElement(phoneLi[1]).Perform();//déplacer vers l'élément de la liste qui doit être survolé
var click = action.MoveToElement(phoneLi[1].FindElements(By.TagName("a"))[0];//déplacer vers le lien du bouton réel après que 'Li' ait été survolé
click.Click();
click.Perform(); //pas trop sûr pourquoi j'ai dû utiliser les deux, mais je l'ai fait. Peu importe, ça fonctionne ;)
IAlert alert = driver.SwitchTo().Alert();
alert.Accept();

Aussi, vous aurez besoin d'inclure quelques déclarations using.

using OpenQA.Selenium;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Interactions.Internal;
using OpenQA.Selenium.Support.UI;

J'espère que cela vous aidera!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X