SeleniumQuery,即$ .driver()。get()。navigate()。to(url)不在等待页面完全加载

时间:2018-10-01 05:19:20

标签: selenium

我们正在使用Seleniumquery-0.19.0进行硒测试。

我们注意到$ .url()没有等待页面完全加载。我还尝试了$ .driver()。get()。navigate()。to(url);。

我们的方案

  1. 打开页面。
  2. 搜索登录控件,即用户名和密码文本框
  3. 填写值,然后单击“提交”按钮。

在测试结果中,我们发现硒无法找到“用户名”文本框。我们尝试过

  1. 等待,即$(“ * [id ='login.username']”)。waitUntil(5000).isPresent();
  2. 超时,即$ .driver()。get()。manage()。timeouts()。pageLoadTimeout(60,TimeUnit.SECONDS);
  3. static void waitForPageLoad(final WebDriver wdriver){     最后的WebDriverWait等待=新的WebDriverWait(wdriver,600);

    final Function<WebDriver, Boolean> pageLoaded = new Function<WebDriver, Boolean>() {
    
        @Override
        public Boolean apply(final WebDriver input) {
            final Boolean result =
                ((JavascriptExecutor)input).executeScript("return document.readyState").equals("complete");
            LOG.info("Status of the Page : " + result);
    
            return result;
        }
    };
    
    wait.until(pageLoaded);
    

    }

1 个答案:

答案 0 :(得分:0)

导航到URL后是否尝试使用Thread.sleep(ms)