webdriver - vérifier le texte de présentation sur une page chargée
Je suis en train de vérifier une ligne de texte est présent sur une page chargée à l'aide de webdriver.
J'ai créé un fonction - isTextPresent, alors invoqué la fonction au sein de la même méthode.
Eclipse m'a incité l'erreur: la méthode IsTrue(boolean) n'est pas défini pour le type d'Affirmer.
- S'il vous plaît dites-moi pourquoi il ne fonctionne pas et comment dois-je y remédier.
-
whatis la meilleure approche pour vérifier la présentation de texte sur une page web?
2a. est-il possible de vérifier le texte de présentation dans la première
@Test
fragment de code?2b. type## Titre ## de la méthode que j'utilise dans ce cas (public, private ou protected)?
Mon fragment de code:
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.junit.Before;
import org.junit.After;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class selftechyTestng
{
private WebDriver driver;
private String baseUrl;
@Before
public void setUp() throws Exception
{
driver = new FirefoxDriver();
baseUrl = "http://selftechy.com/";
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
//First Test Method
@Test
public void searchElements() throws Exception{
driver.get(baseUrl);
driver.findElement(By.xpath("//a[@title='Selenium']")).click();
}
@Test
public boolean isTextPresent(String txtValue){
try{
boolean b = driver.getPageSource().contains(txtValue);
return b;
}
catch (Exception e){
return false;
}
Assert.IsTrue(isTextPresent("TestNG (Next Generation Testing Framework) – Understanding Annotations"));
}
}
Modification que j'ai fait pour faire l'appel à la fonction isElementPresent travail
L'ajout de assertTrue() la méthode au sein de searchElements() méthodes
assertTrue(isTextPresent(txtValue));
Méthode isElementPresent
public boolean isTextPresent(String str1)
{
try
{
driver.get(baseUrl);
driver.findElement(By.xpath("//a[@title='Selenium']")).click();
b = driver.getPageSource().contains(str1);
if(b){
System.out.println("text presented on the page");
}
else{
System.out.println("text did not present on the page");
}
return b;
}
catch (Exception e)
{
System.out.println(e.getMessage());
return b;
}
//return b;
}
- Merci pour la réponse. J'ai fait d'utiliser assertTrue() dans mon code avec l'appel de la fonction. Il a fonctionné comme prévu.
Vous devez vous connecter pour publier un commentaire.
ou vous pouvez le faire. Tout d'abord, retirez le
@Test
annotation dans la méthode et la suppression de laAssert
à la fin:Alors votre test ressemblera à ceci
Je suis simplement vous donner un indice..., Vous pouvez faire valoir texte de ce genre.
Consulter ce lien pour plus d'informations sur des Assertions: http://testng.org/javadoc/org/testng/Assert.html
Vous pouvez utiliser
assertEquals (String1, String2)
. Consultez ce lien: Java: Est assertEquals(String, String) fiable?-Vikram
boolean b = driver.getPageSource().contains("TestNG (Next Generation Testing Framework) – Understanding Annotations");
puis avec une instruction if...else pour imprimer un message à afficher si le texte est présent sur la page. Je ne suis pas tout à fait sûr de savoir comment utiliser assertEquals correctement dans mon cas.Exemple pour C#