假设DOM中有一个div,宽度为'200px'class'target'.

为了用cypress测试其宽度,我应该编写以下代码:

cy.get('.target').should('have.css', 'width', '200px');

还有一系列测试,测试元素的宽度和高度...

...

今天发生了一些奇怪的事情!

所有这些测试都失败了,因为cypress找到的width的值是200.0000000000032038879956012px而不是200px!!!

我想到的第一个解决方案是用实际数字(ex,200)来测试它们,而不是用 cypress 发现的字符串(ex,'200px');我认为这是一个昂贵的 idea !

How do you think I can overcome this issue!?

推荐答案

无需任何转换即可匹配,

cy.get('div')
  .invoke('css', 'width')
  .should('match', /200.*px/)   // matches 200.0000000000032038879956012px or 200px

Css相关问答推荐

CSS Grid,意想不到的差距

Css:有没有更快捷的方式来编写多媒体查询?

Angular Material:如何同时使用2个徽章

SVG文本在移动浏览器上增长并溢出

下拉菜单未展开- bootstrap

指定from_max和to_min值时隐藏Shiny sliderTextInput下的行

如何引用 SCSS 中的现有类?

CSS 布局:使一列依赖于另一列

背景图像允许溢出输入按钮

如何使用 Tailwind CSS 稳定 React 中的浮动标签?

我怎样才能将我的按钮向上移动,因为文本是

如何在 CSS 中更改 ::marker SVG colored颜色 ?

将复选框对齐到中心

如何在 Chrome 中模拟偏好 colored颜色 方案媒体查询?

更改最后一个
  • 的 CSS
  • 在 css 中使用 FontAwesome 或 Glyphicons :before

    Chrome 呈现 colored颜色 的方式与 Safari 和 Firefox 不同

    有没有办法让字段集的宽度与它们中的控件一样宽?

    go 除文本输入的内阴影

    如何复制 iOS 上固定的后台附件