J'ai une page que je connais contient un certain texte à un certain xpath. Dans Firefox, j'utilise le code suivant pour affirmer que le texte est présent:
assertEquals("specific text", driver.findElement(By.xpath("xpath)).getText());
J'affirme l'étape 2 d'un formulaire et confirme qu'un certain attachement a été ajouté au formulaire. Toutefois, lorsque j'utilise le même code dans Chrome, la sortie affichée est différente mais contient le texte spécifique. Je reçois l'erreur suivante:
org.junit.ComparisonFailure: expected:<[]specific text> but was:<[C:\fakepath\]specific text>
Au lieu d'affirmer que quelque chose est vrai (exactement ce que je cherche), j'aimerais écrire quelque chose comme:
assert**Contains**("specific text", driver.findElement(By.xpath("xpath)).getText());
Le code ci-dessus ne fonctionne évidemment pas, mais je ne trouve pas comment le faire.
Utilisation d’Eclipse, Selenium WebDriver et Java
Utilisation:
String actualString = driver.findElement(By.xpath("xpath")).getText();
assertTrue(actualString.contains("specific text"));
Vous pouvez également utiliser l'approche suivante, en utilisant assertEquals
:
String s = "PREFIXspecific text";
assertEquals("specific text", s.substring(s.length()-"specific text".length()));
ignorer le préfixe indésirable de la chaîne.
Deux méthodes assertEquals et assertTrue pourraient être utilisées. Voici l'usage
String actualString = driver.findElement(By.xpath("xpath")).getText();
String expectedString = "ExpectedString";
assertTrue(actualString.contains(expectedString));
vous pouvez aussi utiliser ceci
Chaîne actualString = driver.findElement (By.xpath ("xpath")). GetText (); Assert.assertTrue (actualString.contains ("texte spécifique"));