检查代码中的特定背景颜色

时间:2017-08-10 16:00:03

标签: selenium-webdriver codeception

我有一个我想做的测试,但我真的不确定是否可以使用代码实现它。仅供参考,我是初学者使用它。这就是我想做的事情:

  • 通过文字选择一个元素(例如:"我喜欢蓝狗")
  • 获取此元素的背景颜色
  • 测试我想要的颜色(让我们说它是纯红色#FF0000)

我的HTML结构看起来有点像这样:

<body>
    <div class="stuff">
        <div class="red-background">
            <div class="other-stuff">
                <p>I'm a lobster and I love blue dogs !</p>
            </div>
        </div>
    </div>
</body>

当然,唯一指定背景的地方是我的&#34;红色背景&#34;类,所以我真正定位的元素是<p>,它并没有真正的红色背景。

有没有办法实现这一目标&#34;轻松&#34; ?

我唯一想到的是使用来自selenium webdriver的getCSSValue()并使用递归函数逐个调用父项,直到我得到颜色或找到我的html结尾。

1 个答案:

答案 0 :(得分:1)

您应该能够执行返回颜色的脚本。

代码应如下所示:

$color = $I->executeJS("return jQuery('my_css_selector').css('background-color');");

这将返回rgb中的背景颜色,如果您需要按名称检查它,那么您可以添加一个数组来将地图名称映射到rgb。