首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用彩色插件测试颜色

用彩色插件测试颜色
EN

Stack Overflow用户
提问于 2022-07-19 00:20:22
回答 1查看 166关注 0票数 4

我试图在Cypress中添加chai-colors插件,从如何安装插件“柴排序”#2441

克里斯·布里丁

代码语言:javascript
运行
复制
import chaiSorted from "chai-sorted"
chai.use(chaiSorted)

所以对于chai-colors

代码语言:javascript
运行
复制
import chaiColors from 'chai-colors'
chai.use(chaiColors)

cy.visit(...)
cy.get(selector)
  .should('be.colored', '#000000') 

但这会产生“4000 is后重试超时: actual.equals不是函数”的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-19 00:27:55

要在chai-colors内部使用.should(),需要传递颜色代码本身(而不是元素)

代码语言:javascript
运行
复制
import chaiColors from 'chai-colors'
chai.use(chaiColors)

cy.visit(...)
cy.get(selector)
  .then($el => $el.css('color'))       // get color value
  .should('be.colored', '#000000') 

,但请注意,这会使失败

代码语言:javascript
运行
复制
import chaiColors from 'chai-colors'
chai.use(chaiColors)

cy.visit(...)
cy.get(selector)
  .then($el => $el.css('backgroundcolor'))       // get color value
  .should('be.colored', '#000000') 

预期#000000与#000000的颜色相同

因为$el.css('backgroundcolor')返回的是rgba()而不是rgb()

最好导入单色 ( chai-colors内部使用的)。

然后以任何你想要的方式使用转换器(加上文档更好)。

代码语言:javascript
运行
复制
import color from 'onecolor'

cy.visit(...)
cy.get(selector)
  .then($el => $el.css('backgroundcolor'))       // get color value
  .should(colorValue => {
    expect(color(colorValue).hex()).to.eq('#000000') 
  })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73029856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档