Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用量角器测试链路颜色_Javascript_Html_Css_Testing_Protractor - Fatal编程技术网

Javascript 使用量角器测试链路颜色

Javascript 使用量角器测试链路颜色,javascript,html,css,testing,protractor,Javascript,Html,Css,Testing,Protractor,如何使用量角器测试悬停时链接的颜色 我想模拟鼠标悬停在一个链接上,该链接从白色变为蓝色,然后我希望测试预期颜色=蓝色,悬停 我当前用于测试的代码 it('should redirect to the home page', function(){ element(by.css('ul.first_menu > li > a')); expect('ul.first_menu. > li > a'.getCssValue("color")).to

如何使用量角器测试悬停时链接的颜色

我想模拟鼠标悬停在一个链接上,该链接从白色变为蓝色,然后我希望测试预期颜色=蓝色,悬停

我当前用于测试的代码

it('should redirect to the home page', function(){      
    element(by.css('ul.first_menu > li > a'));
    expect('ul.first_menu. > li > a'.getCssValue("color")).toEqual("rgba(11, 51, 60, 1)");

    browser.actions().mouseMove('ul.first_menu. > li > a').perform();

    browser.wait(waitForCssValue('ul.first_menu. > li > a', "color", "rgba(42, 100, 150, 1)"), 1000);
    browser.wait(waitForCssValue('ul.first_menu. > li > a', "text-decoration", "underline"), 1000);

    waitForCssValue = function (elementFinder, cssProperty, cssValue) {
            return function () {
                return elementFinder.getCssValue(cssProperty).then(function(actualValue) {
                return actualValue === cssValue;
                });
            };
    };
});

我完全按照你的要求做了

其思想是使用并获得
颜色
文本装饰
属性。然后,将链接悬停在上,等待CSS值更改:


整个网络…一定花了好几年时间@保利:如果你不想帮忙,那就别说了。告诉读者我已经做了大量的搜索,但我根本找不到解决问题的方法,这是一种夸张。嗨,谢谢。这个看起来很好。两个问题1)当你说
scope.page.link
是我的元素时:这是什么意思?我的元素是
'ul.firstmen>li>a'
。。。。。。。。。。。。。。。。。。。。。。。。。。这一切还能进入it块吗?@PeterJones
元素(by.css('ul.firstmen>li>a')
scope.page.link
的一个例子。我就是这么想的,干杯。我会提前给你这个,然后很快让你知道结果!对象ul.firstmen>li>a没有方法“getCssValue”?@PeterJones您正在生成元素吗?完全尝试
元素(by.css('ul.firstmen>li>a')
var elm = element(by.css('ul.first_menu > li > a'));
function waitForCssValue (elementFinder, cssProperty, cssValue) {
    return function () {
        return elementFinder.getCssValue(cssProperty).then(function(actualValue) {
            return actualValue === cssValue;
        });
    };
};

expect(elm.getCssValue("color")).toEqual("rgba(11, 51, 60, 1)");
expect(elm.getCssValue("text-decoration")).toEqual("none");

browser.actions().mouseMove(elm).perform();

browser.wait(waitForCssValue(elm, "color", "rgba(42, 100, 150, 1)"), 1000);
browser.wait(waitForCssValue(elm, "text-decoration", "underline"), 1000);