繁体   English   中英

可以用Behat + Mink测试CSS样式表吗?

[英]Is it possible tests CSS stylesheets with Behat + Mink?

有什么方法可以测试某些元素的CSS参数(来自CSS样式表)? 例如段落颜色。 或div等的背景色...

我知道selenium2测试框架可以做到这一点,但是在带有selenium2驱动程序的Behat + Mink中,我找不到解决方法。

提前致谢。

是的,您将需要使用Selenium2驱动程序以及Behat和Mink +自定义JS调用来验证特定样式。 下面的示例(Behat 3)使用jQuery断言div.myClass color属性符合预期。 它将脚本发送到Selenium,Selenium对其进行评估并返回结果,您可以像往常一样在PHP中进行处理。

<?php

class MyContext extends RawMinkContext
{

    /**
     * @Then /^The div.myClass color should be black$/
     */
    public function assertCssValue()
    {

        // JS script that makes the CSS assertion in the browser.

        $script = <<<JS
            (function(){
                return $('div.myClass').css('color') === 'rgb(0, 0, 0)';
            })();
JS;

        if (!$this->getSession()->evaluateScript($script)) {
            throw new Exception();
        }
    }
}

您可以轻松地将其扩展为一个更通用的实例,该实例将执行所有不同种类的断言,但是大多数逻辑将在JS中进行。

除此之外,还有其他CSS测试框架/替代品,例如PhantomCSS ,从理论上讲应该通过Selenium Driver和Mink与PhantomJS一起使用。 Google的“ css测试框架” ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM