如何在赛普拉斯中删除 \n\t?
How to remove \n\t in Cypress?
我正在将 BDD 与 Cypress 结合使用。我要检查的元素是
所以这个元素在 PageObject 上:
allowPriceEmbeddedBarcodeAtPOS(){
return cy.get('im-data-table.hydrated').shadow().find('tr:nth-child(2) > td:nth-child(2)')
}
在我的步骤定义文件中:
And("Global Configuration is set true", () => {
platformadmin.allowPriceEmbeddedBarcodeAtPOS().should('contains.text','{"AllowPriceEmbeddedBarcodeAtPOS": true}')
})
但是当我 运行 cypress 时,它找到了带有 \n\t
的元素
有什么办法可以删除它吗?
你可以这样做:
And('Global Configuration is set true', () => {
platformadmin
.allowPriceEmbeddedBarcodeAtPOS()
.invoke('text')
.then((text) => {
expect(text.trim().replace(/[\n\t]/g, '')).to.eq(
'{"AllowPriceEmbeddedBarcodeAtPOS": true}'
)
})
})
您可以使用带有 \s
的正则表达式来删除所有空格
platformadmin.allowPriceEmbeddedBarcodeAtPOS()
.then($el => $el.text().replace(/\s/g, ''))
.should('eq','{"AllowPriceEmbeddedBarcodeAtPOS":true}')
参考赛普拉斯食谱 have-attr-assertion
我正在将 BDD 与 Cypress 结合使用。我要检查的元素是
所以这个元素在 PageObject 上:
allowPriceEmbeddedBarcodeAtPOS(){
return cy.get('im-data-table.hydrated').shadow().find('tr:nth-child(2) > td:nth-child(2)')
}
在我的步骤定义文件中:
And("Global Configuration is set true", () => {
platformadmin.allowPriceEmbeddedBarcodeAtPOS().should('contains.text','{"AllowPriceEmbeddedBarcodeAtPOS": true}')
})
但是当我 运行 cypress 时,它找到了带有 \n\t
的元素有什么办法可以删除它吗?
你可以这样做:
And('Global Configuration is set true', () => {
platformadmin
.allowPriceEmbeddedBarcodeAtPOS()
.invoke('text')
.then((text) => {
expect(text.trim().replace(/[\n\t]/g, '')).to.eq(
'{"AllowPriceEmbeddedBarcodeAtPOS": true}'
)
})
})
您可以使用带有 \s
的正则表达式来删除所有空格
platformadmin.allowPriceEmbeddedBarcodeAtPOS()
.then($el => $el.text().replace(/\s/g, ''))
.should('eq','{"AllowPriceEmbeddedBarcodeAtPOS":true}')
参考赛普拉斯食谱 have-attr-assertion