目前我正在尝试创建一个像下面这样的测试…
cy.get(".communications-icon")
.should("have.css", "background-color")
.not("eq", "rgb(232, 238, 242)");
但是当我运行测试时,我得到…
cy.not()失败,因为它需要一个DOM元素。
收到的受试者为:
> rgba(0, 0, 0, 0)
我如何检查,以确保一个元素没有一个特定的BG颜色?
添加该值作为第三个参数,并在断言中添加前缀not
cy.get(".communications-icon")
.should("not.have.css", "background-color", "rgb(232, 238, 242)")
或同等
cy.get(".communications-icon")
.should("have.css", "background-color")
.and("not.eq", "rgb(232, 238, 242)")
.not()
command是合法的语法但是它与.filter()
命令相反,它需要从前一行传递一个或多个元素。
.should("have.css", "background-color")
将主题从元素更改为颜色字符串"rgb(232, 238, 242)"
。
不能像使用cy.not()
那样直接使用.not()
。我们可以在像Cy.get('id').not('.class')
这样的DOM元素上使用它,基本上它是用来过滤元素的。
对于您的情况,您是否尝试过使用
cy.get('.communications-icon').should('have.css', 'background-color').and('eq', 'rgb(232, 238, 242)')