提问人:Venkata 提问时间:11/20/2018 最后编辑:BrendanVenkata 更新时间:12/7/2020 访问量:6358
使用 &nbsp 断言元素的文本
Asserting text of element with  
问:
我需要检查 Div 标签的文本并确保它是否显示正确的文本
下面是 HTML 代码:
这是我为断言内容而编写的步骤定义
Given(/^offer summary section should display "([^"]*)" amount against "([^"]*)"$/, (charge, labelText) => {
const parentElement = cy.get('.c-offer-summary > .c-offer-summary__ledger').children('.c-ledger__section').find('.c-ledger__row-name').contains(labelText).parent();
parentElement.find('.c-ledger__row-amount').invoke('text').should('eq',charge);
});
但是柏树抛出了一个错误:
我不确定我哪里出了问题!!:(
任何帮助都是值得赞赏的
答:
0赞
Maccurt
11/20/2018
#1
我假设您正在尝试测试 .c-ledger__row-amount 是否为“DKK 15.00”。试试这个。
cy.get(".c-ledger__row-amount").invoke('text').then((text) => {
expect(text.trim()).equal('DKK 15.00');
});
有时您必须删除尾随空格
评论
1赞
Sgnl
4/3/2019
有用的说明,但这并不能解决 OP 的问题,因为附加的 DOM 屏幕截图中没有尾随空格
15赞
Zain
5/15/2019
#2
根据 Maccurt 的断言(它为 Cypress 日志中打印的断言信息提供了更多上下文)和 Hiram 的替换函数,我撰写了这个断言。
cy.get(".c-ledger__row-amount").invoke('text').then((text) => {
expect(text.replace(/\u00a0/g, ' ')).equal('DKK 15.00');
});
5赞
Jennifer Shehane
12/7/2020
#3
您可以使用 Cypress 的命令来去除空格:.contains()
cy.get('.c-ledger__row-amount').contains('DKK 15.00')
或者,您可以删除空格字符,然后断言:
cy.get('.c-ledger__row-amount')
.invoke('text')
.invoke('replace', /\u00a0/g, ' ')
.should('eq', 'DKK 15.00')
上一个:Cy变量在赛普拉斯从何而来
评论