首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebDriver,Selenium2 -简单测试失败

WebDriver,Selenium2 -简单测试失败
EN

Stack Overflow用户
提问于 2011-11-03 13:48:57
回答 2查看 419关注 0票数 1

我试着做这个测试:

代码语言:javascript
复制
@Test
public void theUserShouldBeAbleToTypeInQueryTerms() {
    WebDriver driver = new FirefoxDriver();
    driver.get("http://www.google.com");
    WebElement queryField = driver.findElement(By.name("q"));
    queryField.sendKeys("cats");
    queryField.submit();
    assertThat(driver.getTitle(), containsString("cats"));
}

但有个错误:

失败,预期:一个包含“猫”的字符串得到:"Google“

如何修改测试以获得成功?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-03 19:37:53

也许包含搜索结果的页面还没有加载--试着在运行断言之前等待几秒钟。

票数 0
EN

Stack Overflow用户

发布于 2011-11-05 04:47:26

您必须使用WebDriverWait类。它将等到标题等于“猫”或超时。下面是它如何工作的一个示例(但您必须为您的情况调整代码):

代码语言:javascript
复制
    public static void waitForTitle(final PageTitle title, WebDriver driver) {
    new WebDriverWait(driver, TestDriver.WAIT_TIMEOUT).until(new Function<WebDriver, WebElement>() {

        public WebElement apply(WebDriver driver) {
            for (WebElement we : PageHelper.findElements(WebElementLocator.pageHeader, driver)) {
                if (we.getText().equals(title.getValue())) {
                    return we;
                }
            }
            throw new NoSuchElementException("Title not found: \"" + title.getValue() + "\"");
        }
    });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7995975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档