- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要有关在某些测试用例中等待元素的帮助。在其中一项测试中,我检查拨号器上电话号码的准确性。当我按下应用程序中的按钮后,拨号器将打开。问题是,要从拨号器返回到应用程序,我必须按几次返回键,但次数可能因设备而异。
所以我所做的实际上是检查我现在在哪里。看看下面的代码。问题是,如果找不到该元素,则
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
函数开始运行 - 然后我必须等待 10 秒才能结束。
您建议我做什么来防止系统这次等待。
测试:
@Test
@Description("Verify that the dialer is opens on click pop up button and verify that the called number is correct")
public void checkDialerNumbers() {
**//For loop to to run on all the services.**
for (int i = 0; i < topServices.getTopServiceComponents().size(); i++) {
**//Click on the (i) service.**
topServices.getTopServiceComponents().get(i).click();
**//Verify that the Service pop up opens.**
wait.until(ExpectedConditions.visibilityOf(popUp.getClosePopUp())).isDisplayed();
**//Open dialer according to (i) service.**
switch (i) {
case 0:
**//Open dialer**
topServices.getIWantToCall().click();
**//Wait to dialer and verify that it opens.**
wait.until(ExpectedConditions.visibilityOf(dialerUtils.getCallButton())).isDisplayed();
**//Assertion - Called number match to the Expected number.**
Assertions.assertEquals(topServices.getShagrirPhoneNumber(), dialerUtils.getDialedNumbersField().getText());
WebDriverWait w = new WebDriverWait(driver(), 3);
**//Here I'm creating for loop, that will check if the pop up is displayed - if displayed > dialer closed.
//If displayed = making j to 10, to exit from the loop.
//if not displayed , so I pressing back in CATCH and going to loop again .**
for (int j = 0; j < 10; j++) {
try {
if (w.until(ExpectedConditions.visibilityOf(popUp.getClosePopUp())).isDisplayed()) {
System.out.println("Dialer closed");
j = 10;
}
} catch (TimeoutException TE) {
System.out.println("Pressing back again " + j);
driver().navigate().back();
}
}
break;
case 1:
//TODO Verify numbers in this service
break;
case 2:
//TODO Verify numbers in this service
break;
}
}
popUp.getClosePopUp().click();
}
等待驱动程序中的函数。
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
最佳答案
不要使用它,无论如何将 implicitlyWait
与 WebDriverWait
一起使用都是不好的做法。它可能会产生意外的结果,WebDriverWait
的时间跨度为 3 秒,但隐式等待将使其等待 10 秒。
您可以使用ExpectedConditions.presenceOfElementLocated
来替换隐式等待,创建一个通用方法以避免一遍又一遍地编写
public WebElement waitForPresenceOfElementLocated(By locator) {
return wait.until(ExpectedConditions.presenceOfElementLocated(locator));
}
关于java - 如何跳过await driver().manage().timeOut(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59066892/
我正在尝试获取此亚马逊页面中列出的每台笔记本电脑的图像 URL ( https://www.amazon.com/s?rh=n%3A565108%2Cp_72%3A4-&pf_rd_i=565108&
我正在设置 Atlassian Confluence,在选择数据库时,我在选择“使用外部 Mysql 数据库”时卡住了我看过一些教程,但对我来说,它并没有按照应有的方式工作。我使用 ubuntu 12
我是 Neo4J 的新手,正在尝试通过 java 连接到 Neo4J 服务器。 我的一个独立项目的pom入口如下: org.neo4j neo4j-o
所有这些有什么区别和用途? spark.local.ip spark.driver.host spark.driver.bind地址 spark.driver.hostname 如何将机器修复为 Sp
我在旧的 Inspiron 6400 计算机(GeForce 7300 笔记本电脑版)上安装了 Lubuntu 19.04,通过网络草稿编辑器教我儿子 Scratch。每次我通过 Firefox 打开
我使用 qt 开发了一个 c++ 库。在本文中,我使用 QSqlDatabase 从 SQLite 数据库中查询信息。注意:我的库在 qt 桌面应用程序中运行良好(我在 Linux 上开发)。 现在我
存在类似的问题,但没有帮助。 在 Apache 2.4 上安装 php5-fpm 通过 SSL 连接到远程 MySql 数据库。 可以通过命令行连接MySQL mysql -u myname -p'p
使用以下配置 (doctrine.yaml) 在 Symfony 4 中使用 Doctrine DBAL: dbal: # configure these for your database
使用以下配置 (doctrine.yaml) 在 Symfony 4 中使用 Doctrine DBAL: dbal: # configure these for your database
我有一个用 Java 编写的 Selenium Web 驱动程序测试,目标是 Liferay 站点。 // Login driver.get(baseUrl + "/"); driver.findEl
在driver.findElements()中,我们获得了另一个用于查找size()的函数,该函数在driver.findElement()中不可用。 这是唯一的区别吗? 最佳答案 driver.fi
这个问题已经有答案了: java.lang.IllegalStateException: The driver executable does not exist: while trying to e
简短描述:我有一个通过 SignTool 验证的签名驱动程序,但 Windows 拒绝加载它并出现错误:CodeIntegrity 3004 - 在系统上找不到文件哈希。我该如何解决这个问题? 详细说
我正在设置一些 Geb 测试,但出现“geb.driver.DriverCreationException:无法从回调创建驱动程序”错误。 Geb 将尝试启动测试浏览器窗口,但一旦启动,我的所有测试都
我想通过应用对象存储库概念在 Chrome 驱动程序中打开 url。下面给出的是我的 selenium 程序,其中包含两个文件,一个是 testng 文件,另一个是 config.property 文
我在 Ubuntu Linux、Spring Tools 2.7.1、Spring Roo 1.1.5 上运行 Eclipse Indigo。我正在阅读 Getting Started with Ro
打开 Url 的首选方法是什么(它们之间是否存在任何差异): driver.Url = "http://example.com"; 或 driver.Navigate().GoToUrl("http:
我使用 python 脚本传递给 cassandra 批处理查询,如下所示: query = 'BEGIN BATCH ' + 'insert into ... ; insert into ... ;
我在 Protractor 中执行脚本时出现以下错误。 System info: host: '8888', ip: '88888', os.name: 'Mac OS X', os.arch: 'x
我收到错误 KeyError:'driver'。 我想使用scrapy-selenium 创建一个网络爬虫。我的代码如下所示: class TestSpider(Spider): name="test
我是一名优秀的程序员,十分优秀!