当前位置: 首页 > 面试题库 >

等待特定条件时通过WebDriver刷新网页

龚昊然
2023-03-14
问题内容

我正在寻找一种更优雅的方法来在测试过程中刷新网页(我使用Selenium2)。我只是发送F5键,但我想知道驱动程序是否具有刷新整个网页的方法,这是我的代码

    while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 )
        driver.findElement(By.xpath("//body")).sendKeys(Keys.F5);
        //element appear after text READY is presented      
    driver.findElement(By.cssSelector("div.column a")).click();

也许是在手动刷新的页面上查找元素的更好的解决方案


问题答案:

在Java或JavaScript中:

driver.navigate().refresh();

这应该刷新页面。



 类似资料:
  • 我正在寻找更优雅的方式在测试期间刷新网页(我使用Selenium2)。我只是发送F5键,但我想知道驱动程序是否有刷新整个网页的方法。这是我的代码 对于在手动刷新的页面上查找元素,可能有更好的解决方案

  • 我试图做的事情在节点js中可能是不可能的,但在我放弃之前,我想得到其他意见。 我有一个线程正在执行产品的设置。为了便于论证,让我们将其称为“主”线程。我希望在产品设置过程中可能发生的所有错误都被“主”线程捕获。如果安装成功,那么在我知道安装成功之前,我不希望“主”线程完成。 产品设置过程中的一个步骤涉及在客户的AWS帐户中创建CloudFormation堆栈。实现这一点的AWS函数是createS

  • 问题内容: 我正在自动化一个包含许多链接的站点,这些链接通过JS事件加载新页面。基本上,有一些元素是可单击的,单击其中一个会导致运行一些JavaScript,这会导致提交表单并将其路由到新页面。 现在,如果这些只是标准的HTML链接,那将没有问题,因为Selenium足够聪明,可以告诉我们即将出现一个新页面并等待处理。但是,尽管如此,Selenium并不能说这种情况下的点击导致了新页面的加载,因此

  • 问题内容: 当使用隐式等待, 因为在这里建议 ,我仍然 _有时_要断言 即刻 隐形或元素不存在。 换句话说,我 知道 某些元素应该被隐藏,并且希望我的测试能够使断言 快速进行 ,而无需花费几秒钟的时间,因为(否则很有用)隐式等待。 我尝试过的一件事是这样的辅助方法: 但是在上面的代码中,仅 在隐式等待时间过去之后 才返回对调用的调用,即,它不执行我想要的操作。 到目前为止,这是我发现的唯一可行的方

  • 问题内容: 与传统的等待通知机制相比,使用Condition接口/实现的优点是什么?在这里,我引用道格·李(Doug Lea)的评论: 条件将对象监视方法(wait,notify和notifyAll)分解为不同的对象,从而通过与任意Lock实现结合使用,从而使每个对象具有多个等待集。如果Lock替换了同步方法和语句的使用,而Condition替换了Object监视器方法的使用。 我看到这是实现等待

  • 我第一次做硒测试。在主页上,我调用了一些AJAX,我希望Selenium等待元素加载完成。我不确定它是否有效,但我只是键入selenium,waitForCondition可以选择。 无论我选择什么,它总是返回“false”。我现在连等待条件都不工作吗? 我如何测试它是否有效?在这些代码中我做错了什么? 如果由自己的类实现,则返回“true” isElementPresent(By.xpath(“