2017-02-13 2 views
0

Ich versuche, die Anmeldung zu verifizieren, indem ich den Text 'Begrüßungstext' mit dem Benutzernamen vergleicht. Das comapriosn stimmt nicht überein. Wenn ich Xpath Text mit elem.getText() drucke, zeigt es mir zusätzlichen Text einschließlich des ausgewählten Textes an.Anmeldung über XPath kann nicht verifiziert werden

Kann jemand Vorschläge vorschlagen, wie man richtige xpaths schreibt oder besseren Code schreibt, um Login zu überprüfen?

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.firefox.FirefoxProfile; 
import org.openqa.selenium.firefox.internal.ProfilesIni; 

public class verify_loign 
{ 
    public static void main(String []args) 
    { 
     WebDriver driver; 
     ProfilesIni profile = new ProfilesIni(); 
     FirefoxProfile fire_profile = profile.getProfile("sele_prac"); 
     driver=new FirefoxDriver(fire_profile); 
     driver.get("https://phptravels.org/clientarea.php"); 
      driver.findElement(By.id("inputEmail")).sendKeys("[email protected]"); 
     driver.findElement(By.id("inputPassword")).sendKeys("123456"); 
     driver.findElement(By.id("login")).submit(); 
     WebElement verify_login_ele =  driver.findElement(By.xpath("//div[@class='header-lined' and contains(h1,'Welcome Back, rakesh')]")); 
//  String str = "Welcome Back, rakesh"; 
//  if(verify_login_ele.equals(str)) 
//  { 
//   System.out.println("Your logged in succesfully"); 
//  } 
//  else 
//  { 
//   System.out.println("Something went wrong with valid credential"); 
//  } 
     System.out.println(verify_login_ele.getText()); 
     driver.findElement(By.id("Secondary_Navbar-Account")).click(); 
     driver.findElement(By.id("Secondary_Navbar-Account-Logout")).click(); 
     driver.close(); 
     driver.quit(); 
    } 
} 
+0

nicht jeder Account auf phptravels.org ... hat können Sie 'HTML' der genannten willkommen teilen Nachricht? – Andersson

Antwort

0

Ich habe es gerade mit FirePath überprüft.

WebElement welcomeElement = driver.findElement(By.xpath("//h1")); 

Es gibt nur eine h1 Header auf dieser Website.

+0

Vielen Dank Grzegorz –

2

Der Grund, warum es derzeit fehlschlägt, ist, weil Sie versuchen, ein WebElement-Objekt mit Text zu vergleichen, der immer fehlschlägt. Es gibt mehrere alternative Möglichkeiten, um das zu erreichen, was Sie erreichen möchten.

Der schnellste und einfachste „reparieren“ wäre .getText einfügen() vor .equals (...

if(verify_login_ele.getText().equals(str)) 

Es ist nicht die eleganteste Lösung, aber es wahrscheinlich alles wäre, was benötigt wird , damit es funktioniert.

ärgern Sie sich nicht, es ist ein Fehler, den Anfänger und du bist gut, so weit zu tun.

+0

Vielen Dank Bill es funktioniert jetzt gut –

Verwandte Themen