如何从完全相同的元素列表中提取特定属性

时间:2015-10-09 19:59:47

标签: c# selenium attributes css-selectors

我们公司有一份显示条形图的报告。所有条形图的颜色均为灰色,但分别为蓝色和绿色的2条条形图如下所示:

Bar Graph

以下是元素的外观:

Bar Graph Elements

现在,蓝色和绿色图形可以出现在x轴的任何位置。 我正在用C#编写我的selenium测试用例,我想检查页面上是否存在突出显示的元素。

以下是我如何定义元素选择器变量

private readonly By barGraphAverage = By.CssSelector("rect[fill='#0373bc']");

我写了一个方法来检查该元素是否存在

public string getBarGraph()
{
    return base.Browser.FindElementOrNull(barGraphAverage).Text;
}

这就是我在测试类中调用它的方式

Assert.IsTrue(getBarGraph());

1 个答案:

答案 0 :(得分:0)

除了您使用Assert.IsTrue()之外,您似乎已正确设置了大部分内容,但getBarGraph()在需要返回string时返回boolean。如果你把它改成类似下面的东西,它应该可以工作。

public boolean getBarGraph()
{
    return (driver.FindElements(barGraphAverage).Count > 0);
}