【问题标题】:How to show the alert in 10 seconds in selenium如何在硒中的 10 秒内显示警报
【发布时间】:2018-01-23 15:06:37
【问题描述】:

我的要求: 我想在我的页面上显示警报几秒钟来阅读。如果有任何功能可以帮助 Selenium Web 驱动程序。

我是这个自动化领域的新手,我研究过显式等待,所以我使用如下显式等待,但它没有在我需要的时间内显示警报。

下面是我的代码,

WebDriverWait wait = new WebDriverWait (driver, 30);
JavaScriptExecutor js = (JavascriptExecutor)driver;
wait.until(ExpectedConditions.elementToBeClickable(By.id("username"))).clear();
wait.until(ExpectedConditions.elementToBeClickable(By.id("username"))).sendKeys(username);          
wait.until(ExpectedConditions.elementToBeClickable(By.id("password"))).clear();
wait.until(ExpectedConditions.elementToBeClickable(By.id("password"))).sendKeys(password);      
wait.until(ExpectedConditions.elementToBeClickable(By.id("Login"))).click();   
String det1 = driver.findElement(By.id(elem id)).getText();
String det2 = driver.findElement(By.id(elem id)).getText();
String det3 = driver.findElement(By.id(elem id)).getText();
String det4 = driver.findElement(By.id(elem id)).getText();    
js.executeScript("window.alert('Values are..'"+det1+" "+det2+" "+det3+" "+det4"+'')");
driver.switchTo().alert().accept();

上面的代码可以很好地显示我的 det 值,但 它会在很短的时间内显示警报并关闭警报。所以我如何让警报在关闭之前的几秒钟内显示我的详细信息.

【问题讨论】:

  • 在接受警报之前使用 Thread.sleep(10000)。
  • @Pradeephebbar 感谢您的快速回复。我可以同时使用线程和显式吗?我希望在使用线程的瞬间使用明确的时间。

标签: javascript java selenium selenium-webdriver automated-tests


【解决方案1】:

不要使用警报来显示信息。使用像 TestNG 或 JUnit 这样的框架来记录通过/失败,然后查看日志。您希望自动化尽可能快地进行。当您需要手动干预或有人观看脚本运行以查看它是否通过时,它会破坏自动化的许多目的。

【讨论】:

  • 感谢提供有关自动化警报的新信息的答案:)。
  • 是的。非常漫长的时期。我实际上遵循您在回答中描述的规则。我有一段时间不使用警报来显示某些信息。这个问题在我的起步期有疑问。所以再次感谢您的信息。你的话就是我问题的答案。
猜你喜欢
  • 1970-01-01
  • 2016-06-03
  • 2018-12-19
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 2018-06-19
相关资源
最近更新 更多