Comment vérifier si dom a une classe utilisant WebDriver (Selenium 2)?

Je suis très nouveau sur Sélénium, donc mes excuses si c’est une question idiote. J’ai câblé avec succès IntelliJ (Play! Framework) avec Selenium et créé des tests avec firefoxDrivers.

J’essaie de vérifier si la page a été validée correctement.

longue histoire courte, je sélectionne un élément comme celui-ci:

WebElement smallDecel = firefoxDriver.findElement(By.cssSelector("#configTable tr:nth-child(2) td .playerDecelInput")); 

Je fais quelques opérations supplémentaires (effacez et changez la valeur, soumettez le ‘formulaire’), puis je veux vérifier si le TD dans lequel l’entrée se trouve a été atsortingbué à une autre classe.

La question est donc la suivante: existe-t-il une technique simple que je peux utiliser pour déterminer si un classe WebElement / DOM a une classe spécifiée?

Vous pouvez utiliser FindElement(By.ClassName(//name of your class)); Je vous recommande soit de parcourir en boucle et de rechercher dans le DOM pendant une période définie, soit de définir un Thread.sleep (xxxx), puis de rechercher la classe ajoutée.

Pour développer la réponse de Sam Woods, j’utilise une méthode d’extension simple (c’est pour C #) afin de tester si un élément a ou non une classe spécifiée:

 public static bool HasClass( this IWebElement el, ssortingng className ) { return el.GetAtsortingbute( "class" ).Split( ' ' ).Contains( className ); } 

Une fois que vous avez trouvé l’élément, vous pouvez simplement appeler myElement.GetAtsortingbute (“class”). Ensuite, vous pouvez parsingr la chaîne renvoyée et voir si elle contient ou non le nom de la classe qui vous tient à cœur.