2017-10-08 2 views
-1

Ich habe schwierige Situation in einer der Anwendung, die automatisiert werden muss Szenario: Benutzer kann Daten in der Anwendung maximal 4 mal an einem Tag eingeben. 5. Wenn der Nutzer die Taste "Enter/Submit" drückt, wird eine Warring-Meldung angezeigt.logische Hilfe benötigt für Selen webdriver

" div.container-fluid::before" 
<div class="alert alert-warning fade in">Maximum entries reached."</div>" 

Dies ist das HTML-Element. Dies kommt erst nach 4 Eintrittszeiten. Bis zum 4. Mal wird dieses Element nicht angezeigt.
Situation zu automatisieren: Überprüfen Sie zuerst, ob die Fehlermeldung angezeigt wird, indem Sie auf Senden klicken. Wenn die Fehlermeldung nicht angezeigt wird, fahren Sie mit der for-Schleife fort, ansonsten beenden Sie die Anwendung. Aber Skript ist, weil, wenn Fehlermeldung es kein solches Element sagt nicht angezeigt ausfällt: Kann Element suchen: „XPath“ ich folgende versucht, aber die Arbeit scheint nicht:

wd = launchBrowser ("chrome"); 
     wd.get(“website link “); 


wd.findElement(By.xpath(“.//*[@id='user_email']")).sendKeys(“UI”); 
wd.findElement(By.xpath(".//*[@id='user_password']")).sendKeys("pwd”); 
wd.findElement(By.xpath(".//*[@id='new_user']/div[3]/input")).click(); 

wd.findElement(By.xpath(".//*[contains(@class, 'btn btn-primary')]")).click(); //will navigate to data adding page. 

wd.findElement(By.xpath("//*[@id=\"new_entry\"]/input[3]")).click(); 
// this is the submit button 

Thread.sleep(1000); 
String x = wd.findElement(By.xpath(" .//*[contains(@class, 'alert alert-warning fade in')]")).toString(); 
//This is the xpath which comes only if the data entered is already 4 times 

if(x == null) 
{ 
For(condition for 4 times to enter) 
} 
Else{ 
sysout(“Max number of times per is done”); 
} 
wd.quit(); 
} 
+1

können Sie diesen Codeblock tun in' versuchen -Catch-Block? –

+0

Ihre Anführungszeichen scheinen falsch, kompiliert das überhaupt? Manchmal benutzt man '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '(Bedingung für 4 mal eingeben)', sieht nicht wie ein gültiges Java aus. – Zabuza

+0

Versuchen Sie fangen für nur String x oder von String x bis Ende des Else ..? – ABAJAVa

Antwort

0

Sie Try and Catch Block verwenden versuchen, wenn Eingabe/Submit-Button ist bereits 4 mal gedrückt und wenn es geben Fehler "catch "dass Fehler

dieser Zeile:.

String x = wd.findElement(By.xpath(" .//*[contains(@class, 'alert alert-warning fade in')]")).toString(); 
+0

Ja, ich habe es verwendet und es funktioniert perfekt finden – ABAJAVa