如何使用Webdriver检查导航栏?

时间:2014-06-04 06:19:18

标签: selenium selenium-webdriver webdriver

我试图在下面的图片中检查两件事:

enter image description here

1.导航栏正在页面上显示,尺寸正确。

2.文本" Home","关于我们"正确地显示在导航栏上并且是网络链接(意味着它们正常工作并且没有损坏)。

要检查所有链接是否正常工作,我已将其编码,但我不确定这是否正确 -

 List<WebElement> linkElements = driver.findElements(By.tagName("a"));

String[] linkTexts = new String[linkElements.size()];

int i = 0;

// extract the link texts of each link element

for (WebElement e : linkElements) {

    logger.info(linkTexts[i] = e.getText());

    i++;

}
for (String l : linkTexts) {

    driver.findElement(By.linkText(l)).click();

    if (driver.getTitle().equals(title)) {

        System.out.println("\"" + l + "\""

        + " is not Working.");

    } else {

        System.out.println("\"" + l + "\""

        + " is working.");

    }

    driver.navigate().back();

}
}

2 个答案:

答案 0 :(得分:1)

1)你可以使用'getCssValue'方法获取菜单栏的尺寸。

Eg:
    driver.findElements(By.xpath("//td[@class='panelGridInputCol']")).getCssValue("CSSAtribute");

2) (a)要检查导航栏上是否正确显示“HOME”和“关于我们”,您可以再次使用“getCssValue”方法。 (b)

List<WebElement> allLinks = driver.findElements(By.tagName("a"));

    for (WebElement w : allLinks)
    {

        w.click();
        if (driver.findElement(By.xpath("Element on the page")).isDisplayed())
        {
            System.out.println("Link:"+w.getText()+"is working");
        }
        else
        {
            System.out.println("Link:"+w.getText()+"is not working");
        }
        driver.navigate().back();//To come back to the Home screen

    }

答案 1 :(得分:0)

const selector = { className: 'navbar-nav'}

const navbar = () => driver.findElement(selector);

expect(await navbar().getText()).toContain('Home');
expect(await navbar().getText()).toContain('About Us');