【发布时间】:2015-03-03 22:03:41
【问题描述】:
在我们的一项测试中,我们正在测试鼠标悬停后链接(a 元素)样式的变化。
默认情况下,链接的字体为黑色,没有装饰,但鼠标悬停时字体变为蓝色,链接文本变为下划线。这是相关的测试:
it("should change font style on mouse over", function () {
expect(scope.page.forgotPassword.getCssValue("color")).toEqual("rgba(11, 51, 60, 1)");
expect(scope.page.forgotPassword.getCssValue("text-decoration")).toEqual("none");
browser.actions().mouseMove(scope.page.forgotPassword).perform();
expect(scope.page.forgotPassword.getCssValue("color")).toEqual("rgba(42, 100, 150, 1)");
expect(scope.page.forgotPassword.getCssValue("text-decoration")).toEqual("underline");
});
问题在于,在 10 次运行中大约有 1 次运行失败并显示以下错误消息:
预期 'rgba(11, 51, 60, 1)' 等于 'rgba(42, 100, 150, 1)'。
预期的“无”等于“下划线”。
我怀疑它会在 CSS 样式真正改变之前读取它们。
我可以做些什么来使测试更加可靠和稳定?希望有任何提示。
【问题讨论】:
标签: css testing selenium protractor end-to-end