2016-09-08 2 views
2

Ich habe versucht, dies in Code zu setzen.Warum erscheint der Alarm nicht?

driver.findElement(By.xpath("//*[@id='adduser']/div/form/div[2]/div/div/label")).click(); 
Thread.sleep(1000); 

Alert alert = driver.switchTo().alert(); 
String alertMessage = driver.switchTo().alert().getText(); 
System.out.println(alertMessage); 
alert.accept(); 

Ich habe die Fehlermeldung wie "keine Warnung ist vorhanden" gefunden.

komplette Java-Code unten ist ..

package AddUser; 

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.Alert; 
import org.openqa.selenium.By; 
import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.NoAlertPresentException; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.FluentWait; 
import org.openqa.selenium.support.ui.Select; 
import org.openqa.selenium.support.ui.WebDriverWait; 

public class CheckFirstname 
{ 
    public static WebDriver d; 

    public static void main(String []args)throws Exception{ 
     System.setProperty("webdriver.firefox.marionette", "pathToGeckodriver"); 
     FirefoxDriver driver = new FirefoxDriver(); 

     driver.get("http://54.68.159.204/qmsadm"); 
     driver.manage().window().maximize(); 
     WebElement element = driver.findElement(By.name("username")); 
     element.sendKeys("user name"); 
     element = driver.findElement(By.name("password")); 
     element.sendKeys("password"); 
     element.submit(); 
     element = driver.findElement(By.linkText("Admin")); 
     element.click(); 
     element = driver.findElement(By.linkText("Users")); 
     element.click(); 
     element = driver.findElement(By.xpath("//*[@id='search-container']/a/i")); 
     element.click(); 

     element = driver.findElement(By.id("username")); 
     element.sendKeys("#!#!#[email protected]#[email protected][email protected]#$%#%^#$^^&%&$%*"); 

     driver.findElement(By.xpath("//*[@id='adduser']/div/form/div[2]/div/div/label")).click(); 
     Thread.sleep(1000); 

     WebDriverWait wait = new WebDriverWait(driver, 0); 

     wait.until(ExpectedConditions.alertIsPresent()); 

     Alert alert = driver.switchTo().alert(); 

     alert.accept(); 
    } 

}

Check this screen shot

Dies ist Screenshot des Bildschirms. Hier können Sie eine Warnmeldung aktivieren. Ich möchte dieses Warnfenster aufrufen. Ich habe es mehrmals versucht, aber es funktioniert noch nicht.

+0

Dann müssen Sie überprüfen, zuerst ist es JavaScript alert oder html –

+0

i @ saurabh es ist ein Javascript-Alarm –

Antwort

0

Do etwas wie folgt aus:

Bevor Sie auf die Warnung zu wechseln versuchen, es muss vorhanden sein.

driver.findElement(By.xpath("//*[@id='adduser']/div/form/div[2]/div/div/label")).click(); Thread.sleep(1000); 
wait.until(ExpectedConditions.alertIsPresent()); 

Alert alert = driver.switchTo().alert(); 
alertText = alert.getText(); 
alert.accept(); 

und warum Sie Benachrichtigung bekommen hier Alert alert=driver.switchTo().alert();, wenn Sie nicht in der folgenden Zeile verwenden String alertMessage=driver.switchTo().alert().getText();, sind Sie nur es unnötig zu schreiben. Ich hoffe es hilft. vollständiger Java-Code ist unten.

package AddUser; 



import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.Alert; 
import org.openqa.selenium.By; 
import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.NoAlertPresentException; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.FluentWait; 
import org.openqa.selenium.support.ui.Select; 
import org.openqa.selenium.support.ui.WebDriverWait; 

    public class CheckFirstname 
    { 
    public static WebDriver d; 
     public static void main(String []args)throws Exception{ 
      System.setProperty("webdriver.firefox.marionette","pathToGeckodriver"); 
      FirefoxDriver driver=new FirefoxDriver(); 


      driver.get("http://54.68.159.204/qmsadm"); 
      driver.manage().window().maximize(); 
      WebElement element=driver.findElement(By.name("username")); 
      element.sendKeys("geosony"); 
      element=driver.findElement(By.name("password")); 
      element.sendKeys("1"); 
      element.submit(); 
      element=driver.findElement(By.linkText("Admin")); 
      element.click(); 
      element=driver.findElement(By.linkText("Users")); 
      element.click(); 
      element=driver.findElement(By.xpath("//*[@id='search-container']/a/i")); 
      element.click(); 




      element= driver.findElement(By.id("username")); 
      element.sendKeys("#!#!#[email protected]#[email protected][email protected]#$%#%^#$^^&%&$%*"); 

      driver.findElement(By.xpath("//*[@id='adduser']/div/form/div[2]/div/div/label")).click(); 
      Thread.sleep(1000); 

     WebDriverWait wait = new WebDriverWait(driver, 30); 

      wait.until(ExpectedConditions.alertIsPresent()); 

     Alert alert = driver.switchTo().alert(); 

     alert.accept(); 






     } 
    } 
+0

Ich habe diesen Fehler Exception in thread "main" org.openqa.selenium.TimeoutException: Erwarteter Zustand fehlgeschlagen: für Alarm warten anwesend zu sein (versucht für 0 Sekunde (s) mit 500 MILLISECONDS Intervall) –

+0

können Sie vollständigen Code, wo Sie Webdriver-Objekt erstellen ... sicher gibt es ein Problem mit dem ... –

+1

hier, WebDriverWait warte = neue WebDriverWait (Treiber , 0); Sie haben Wartezeit gegeben 0 geben Sie einfach einige Zeit Mann vielleicht 20, 30. Sie Fehler deutlich Staaten versucht für 0 Sekunde (n) –

Verwandte Themen