web-dev-qa-db-fra.com

Obtenir le titre de la page avec Selenium WebDriver en Java

Comment vérifier du texte dans la balise de titre à l'aide de Selenium WebDriver et de java?

11
newcane

Vous pouvez le faire facilement en utilisant le framework JUnit ou TestNG. Faites l'assertion comme ci-dessous:

String actualTitle = driver.getTitle();
String expectedTitle = "Title of Page";
assertEquals(expectedTitle,actualTitle);

OU,

assertTrue(driver.getTitle().contains("Title of Page"));
15
user2027659

Si vous utilisez Selenium 2.0/Webdriver, vous pouvez appeler driver.getTitle () ou driver.getPageSource () si vous souhaitez effectuer une recherche dans la source de page actuelle.

3
Sam

En Java, vous pouvez faire quelque chose comme:

if(driver.getTitle().contains("some expected text"))
    //Pass
    System.out.println("Page title contains \"some expected text\" ");
else
    //Fail
    System.out.println("Page title doesn't contains \"some expected text\" ");
2
Surya

Vous pouvez le faire facilement par Assertion en utilisant le framework Selenium Testng.

Pas:

1.Créer une session de navigateur Firefox

2.Initialiser le nom du titre attendu.

3. Naviguez sur "www.google.com" [Selon vos besoins, vous pouvez le modifier] et attendez un certain temps (15 secondes) pour charger complètement la page.

4.Obtenez le nom du titre actuel en utilisant "driver.getTitle ()" et stockez-le dans la variable String. 

5.Appliquez l'assertion comme ci-dessous, Assert.assertTrue (actualGooglePageTitlte.equalsIgnoreCase (attenduGooglePageTitle), "Le nom du titre de la page ne correspond pas ou Problème de chargement de la grille");

import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.myapplication.Utilty;

public class PageTitleVerification
{   
private static WebDriver driver = new FirefoxDriver();

@Test
public void test01_GooglePageTitleVerify()
{               
driver.navigate().to("https://www.google.com/");
String expectedGooglePageTitle = "Google";      
Utility.waitForElementInDOM(driver, "Google Search", 15);   
//Get page title
String actualGooglePageTitlte=driver.getTitle();
System.out.println("Google page title" + actualGooglePageTitlte);   
//Verify expected page title and actual page title is same  
Assert.assertTrue(actualGooglePageTitlte.equalsIgnoreCase(expectedGooglePageTitle 
),"Page title not matched or Problem in loading url page");     
}
}

import org.openqa.Selenium.By;
import org.openqa.Selenium.NoSuchElementException;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.support.ui.ExpectedConditions;
import org.openqa.Selenium.support.ui.WebDriverWait;

public class Utility {

/*Wait for an element to be present in DOM before specified time (in seconds ) has 
elapsed */
public static void waitForElementInDOM(WebDriver driver,String elementIdentifier, 
long timeOutInSeconds) 
{       
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds );
try
{
//this will wait for element to be visible for 15 seconds        
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath
(elementIdentifier))); 
}
catch(NoSuchElementException e)
{           
e.printStackTrace();
}           
}
}
0
Sowmiya .v