getCssValue和getAttribute何时返回rgba而不是Hex

时间:2017-03-23 15:26:04

标签: protractor

根据getCssValue()的文档:

  

如果可能,颜色值将转换为十六进制表示(例如#00ff00而不是rgb(0,255,0))。

在我们的项目中从来没有这样,它总是被返回的rgba。这不是一个大问题,因为我只是在我的测试中使用rgba值,但我希望了解为什么它不可能"在我的情况下返回十六进制颜色?

我能想到的唯一合乎逻辑的答案是浏览器如何解释它......但是,当我检查这些元素时,我会在开发工具中看到它们的十六进制代码。它根本不需要转换颜色值...我只是更容易获取该值,而不是每次使用工具将十六进制转换为rgba。

举个例子:

var elem = $('h2');
expect(elem.getCssValue('color')).toEqual('#F8652A');
// failed test returns: 
Expected 'rgba(248, 101, 42, 1)' to equal '#F8652A'.

在什么情况下会返回十六进制代码(默认值),而不是每次为我们返回的rgba?

  • 量角器v4.0.14
  • node v4.2.1
  • jasmine v2.5.2
  • angular v1.6.2

0 个答案:

没有答案