【问题标题】:How to handle Ajax in selenium webdriver by using java script如何使用 javascript 在 selenium webdriver 中处理 Ajax
【发布时间】:2012-12-07 12:16:04
【问题描述】:

我正在编写代码来测试 web 应用程序,但在我的应用程序中我们有 AJAX 请求,数据将来自后端组件。因此获取数据需要一些时间。

那么你能建议我使用什么最好的方法吗?

提前谢谢 拉朱

【问题讨论】:

    标签: java selenium webdriver selenium-webdriver


    【解决方案1】:

    在驱动程序上设置隐式超时

    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    

    当没有立即找到一个元素时,它会在抛出异常之前等待它 10 秒。这应该让您的 ajax 调用有足够的时间进行回调。

    【讨论】:

      【解决方案2】:
      WebElement myDynamicElement = (new WebDriverWait(driver, 10))
      .until(new ExpectedCondition<WebElement>(){
      @Override
      public WebElement apply(WebDriver d) {
          return d.findElement(By.id("myDynamicElement"));
      }});
      

      这将等待页面中通过 ajax 加载的特定元素(myDynamicElement)。

      【讨论】:

        猜你喜欢
        • 2012-04-14
        • 2023-01-30
        • 1970-01-01
        • 2016-04-01
        • 2016-08-28
        • 2013-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多