2017-01-25 2 views
1

Ich habe versucht, Titel auf der Homepage zu überprüfen, habe ich unter diesen beiden Methoden versucht, aber ich habe Fehler.Wie überprüft man den Titel in Selen webdriver

1.

WebDriverWait wait=new WebDriverWait(driver,30);  
wait.until(ExpectedConditions.titleContains("This is demo site for")); 

ERROR:

Timed out after 30 seconds waiting for title to contain "This is demo site for". Current title: "Home page" 
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40' 

2.

String actualTitle=driver.getTitle(); 
String expectedTitle="This is demo site for"; 
assertEquals(actualTitle, expectedTitle); 

ERROR:

org.junit.ComparisonFailure: expected:<[Home page]> but was:<[This is demo site for]> 

HTML:

<div class="page-title"> 
    <h2> 
    This is demo site for 
    <img alt="" src="image link here"></img> 
    </h2> 
</div> 

Das oben genannte ist DOM dieses Seitentitels. Ich weiß nicht, wie man dieses Element benutzt, bitte kann mir jeder helfen.

+0

Sie verwenden assertEquals falsch. Es sollte andersherum sein assertEquals (expectedTitle, actualTitle); – mosaad

Antwort

2

Sie scheinen echte Seitentitel (<title>This is demo site for</title>) zu verwechseln, die in <head> mit nur einem einfachen Kopf Zeichenfolge irgendwo befindet sich in der <body> der Seite

Versuchen folgende vorhanden sein sollten:

String actualTitle = driver.findElement(By.xpath('//div[@class="page-title"]/h2'))getText(); 
String expectedTitle = "This is demo site for"; 
assertEquals(actualTitle, expectedTitle); 
1

Meine Lösung Titel Elemente überprüfen:

public String verifyTitle(String locator, String data) {  
    String txt = getElement(locator).getText(); 
     if (txt.equals(data)) { 
      System.out.println("Title name present"); 
       } 

oder eine andere Art und Weise:

public String verifyElementTitle(String locator, String data) { 
    String expectedTxt = data; 
    String actualTxt = getElement(locator).getText(); 
    if (actualTxt.equals(expectedTxt)) { 
     System.out.println("Title name present"); 
     return Constants.PASS; 
    } else 
     System.out.println("Title mismach or not present"); 
    return Constants.FAIL; 
} 
+0

Ich sehe nichts mit Tests und Selenium in Ihrer Antwort verbunden –

+0

es ein Stück Code aus meinem Framework, die den Titel eines Elements (Selen Hybrid Framework) überprüft –

+0

Vielen Dank für die Klärung –