[英]I am getting error message as “No alert is active” when i run the script using Java in Webdriver
當我在Webdriver中使用Java運行腳本時,我收到錯誤消息“沒有警報處於活動狀態”。 這是不一致的行為,有時會出錯,也不會出錯。 當我沒有收到此錯誤消息時,它將在其他位置失敗。
注意:腳本在我的機器中完美運行。
我用我的機器設置更改了其他機器中的所有IE 9設置,從那時起我收到此錯誤。 之前,我用來獲取錯誤消息為“模態對話存在”。
請找到我在下面使用的代碼:
//Entering data in the Account Information section
driver.findElement(By.name(OR.getProperty("AccName_Id"))).clear();
driver.findElement(By.name(OR.getProperty("AccName_Id"))).
sendKeys(AccName+"_"+Randnum);
driver.findElement(By.name(OR.getProperty("AccDBA_ID"))).sendKeys("Kumar_DBA");
driver.findElement(By.id(OR.getProperty("AccTax_ID"))).sendKeys(""+numberToSend);
driver.findElement(By.name(OR.getProperty("AccAddress_ID"))).sendKeys("124 - City
Cross Roads");
driver.findElement(By.id(OR.getProperty("AccZip_ID"))).sendKeys("00501");
new Actions(driver).sendKeys(driver.findElement(By.id(OR.getProperty("AccZip_ID"))),
"").perform();
//Entering data in the Main Contact Information section
driver.findElement(By.name(OR.getProperty("AccFName_ID"))).sendKeys("Kumara");
driver.findElement(By.name(OR.getProperty("AccMName_ID"))).sendKeys("S");
driver.findElement(By.name(OR.getProperty("AccLName_ID"))).sendKeys("Swamy");
driver.findElement(By.id(OR.getProperty("AccOffNo_ID"))).sendKeys("1234567890");
new Actions(driver).sendKeys(driver.findElement(By.id(OR.getProperty("AccOffNo_ID"))),
"").perform();
driver.findElement(By.id(OR.getProperty("AccCellNo_ID"))).sendKeys("0123456789");
new
Actions(driver).sendKeys(driver.findElement(By.id(OR.getProperty("AccCellNo_ID"))),
"").perform();
driver.findElement(By.id(OR.getProperty("AccFaxNo_ID"))).sendKeys("1234567890");
new Actions(driver).sendKeys(driver.findElement(By.id(OR.getProperty("AccFaxNo_ID"))),
"").perform();
driver.findElement(By.name(OR.getProperty("AccEmail_ID"))).sendKeys("abc@abc.com") ;
driver.findElement(By.id(OR.getProperty("save_ID"))).click();
driver.switchTo().alert().accept();
isAlertPresent();
Thread.sleep(15000);
driver.findElement(By.id(OR.getProperty("AccZip_ID"))).sendKeys("79081");
new Actions(driver).sendKeys(driver.findElement(By.id(OR.getProperty("AccZip_ID"))),
"").perform();
Thread.sleep(8000L);
driver.findElement(By.id(OR.getProperty("save_ID"))).click();
driver.switchTo().alert().accept();
isAlertPresent();
Thread.sleep(30000);
請盡快幫我解決這個問題。 幫助將深深感激。
我認為您的Web驅動程序代碼在警報呈現之前觸發。 我的建議是點擊動作后wait for alert
。
試試這段代碼:
//Do some click action to render alert.
//statement to wait for an alert.
WebDriverWait wait = new WebDriverWait(driver,
30);
wait.until(ExpectedConditions.alertIsPresent());
//accepting the alert
driver.switchTo().alert().accept();
上面的代碼將等待30秒並每500ms檢查一次警報。 如果警報存在,那么它將終止等待並執行下一個操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.