2017-09-17 1 views
-1
for(int row=1; row <= 6; row++) 
{ 
    WebDriver driver=new ChromeDriver(); 
    driver.manage().deleteAllCookies(); 
    driver.get("http:/path/"); 
    driver.manage().window().maximize(); 
    String username = s.getCell(2,row).getContents(); 
    System.out.println("Username: "+username); 
    driver.findElement(By.id("j_username_leftAside")).sendKeys(username); 
    String password= s.getCell(3,row).getContents(); 
    System.out.println("Password: "+password); 
    driver.findElement(By.id("j_password_leftAside")).sendKeys(password); 
    driver.findElement(By.xpath("/html[@class=' js opacity generatedcontent pointerevents']/body[@class='page-homepage pageType-ContentPage template-pages-layout-RexelHomePageLayout pageLabel-homepage language-de ']/div[@id='page']/div[@id='content']/div[@id='content']/div[@class='content-top-inner']/div[@id='content-inner']/div[@class='mid-wrapper'][1]/div[@class='yCmsContentSlot']/div[@class='login clear']/form[@id='loginForm']/div[@class='left sign-in']/button[@class='Sign-in rx-btn mb0']")).click(); 

    if((driver.findElement(By.xpath(".//*[@id='globalMessages']/div"))).isDisplayed()) 
    { 
     System.out.println("Login Failed"); 
     String Error=driver.findElement(By.xpath(".//*[@id='globalMessages']/div")).getText(); 
     System.out.println("The Error mesaage is :"+Error); 
     System.out.println("***********************************************************************************************************"); 
    } 
    else 
    { 
     System.out.println("Login Sucessfull"); 
     System.out.println("***********************************"); 
     driver.findElement(By.xpath(".//*[@id='content-inner']/div[1]/div/div[2]/div[4]/div/div/ul/li[9]/a")).click(); 
    } 
    driver.close(); 
} 

erwartet funktioniert IF Bedingung Druck angezeigt wird fehlschlagen sonst pass.Its für Fehlerzustand arbeiten, aber für den Pass Zustand seiner checkig auch und Anzeigen nicht in der Lage, das ElementIF-Bedingung nicht wie in

+0

Fragen, die Debugging-Hilfe suchen ("** warum funktioniert dieser Code nicht? **") müssen das gewünschte Verhalten, ein * spezifisches Problem oder einen Fehler und den kürzesten erforderlichen Code * enthalten, um es in der Frage zu reproduzieren selbst**. Fragen ohne ** eindeutige Problemaussage ** sind für andere Leser nicht nützlich. Siehe: [MCVE]. – JeffC

Antwort

1

Warten auf das Element sichtbar zu sein:

versuchen Sie dies vor, wenn

+0

Vielen Dank Wenn Bedingung nicht funktioniert für isdisplayed verwendet versuchen fangen und funktioniert gut –

1

Sie müssen ausfindig verwenden versuchen catch-Block wie unten-

try 
{ 
    if((driver.findElement(By.xpath(".//*[@id='globalMessages']/div"))).isDisplayed()) 
    { 
     System.out.println("Login Failed"); 
     String Error=driver.findElement(By.xpath(".//*[@id='globalMessages']/div")).getText(); 
     System.out.println("The Error mesaage is :"+Error); 
     System.out.println("***********************************************************************************************************"); 
    } 
} 
catch (Exception e) 
{ 
    System.out.println("Login Sucessfull"); 
    System.out.println("***********************************"); 
    driver.findElement(By.xpath(".//*[@id='content-inner']/div[1]/div/div[2]/div[4]/div/div/ul/li[9]/a")).click(); 
} 
+0

Danke viel Arbeit wie erwartet –

Verwandte Themen