为了账号安全,请及时绑定邮箱和手机立即绑定

尝试使用 Cypress 对 CSS 属性进行断言时出现“无效主题”

尝试使用 Cypress 对 CSS 属性进行断言时出现“无效主题”

qq_遁去的一_1 2021-06-17 16:12:56
我用柏树创建了一些 end-2-end。本地测试工作正常,但是当这些测试在 CircleCI 上运行时,它会显示来自 cypress 的错误CypressError: Timed out retrying: You attempted to make a chai-jQuery assertion on an object that is neither a DOM object or a jQuery object.The chai-jQuery assertion you used was:  > cssThe invalid subject you asserted on was:  > 250pxTo use chai-jQuery assertions your subject must be valid.This can sometimes happen if a previous assertion changed the subject.这是导致此错误的代码。    cy.get('.vce-single-image')      .should('have.css', 'width')      .and('have.css', 'height')这个错误相同。    cy.window()      .then((win) => {        cy.get('.vce-row')          .should('have.css', 'width')          .and('have.css', 'height')      })我尝试在first()之后添加,get()但没有帮助。我在不同的设备上本地尝试过,没有问题。对于 CircleCi docker 镜像,我使用自己的镜像,它基于circleci/php:7.3.2-apache. 这是链接https://github.com/wpbakery/ci-wordpress/blob/master/circleci/Dockerfile。
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

通常,cy.should()产生链接的值。然而,一些断言,包括have.css,改变了由 产生的主语cy.should()。(这里是相关chai-jquery文档

所以,这应该有效:

cy.get('.vce-single-image').should('have.css', 'width', '250px')
cy.get('.vce-single-image').should('have.css', 'height', '250px')


查看完整回答
反对 回复 2021-06-18
  • 1 回答
  • 0 关注
  • 352 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信