Утверждение текста элемента с помощью & nbsp - PullRequest
0 голосов
/ 19 ноября 2018

Мне нужно проверить текст тега Div и убедиться, что он показывает правильный текст не

, вот HTML-код:

HTML Tag

Вот определение шага, которое я написал для подтверждения содержания

    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);
});

Но Cypress выдает ошибку:

Error

Я не уверен, где я иду не так !!!: (

любая помощь приветствуется

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

Это похоже на проблему, похожую на Замена "" из текстового узла javascript dom .

Пожалуйста, попробуйте эту цепочку команд

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('satisfy', (text) => text.replace(/\u00a0/g, ' ') === charge);
0 голосов
/ 15 мая 2019

Основываясь на утверждении Maccurt (которое дает больше контекста информации об утверждении, напечатанной в журналах Cypress) и функции замены Hiram , я составил это утверждение.

cy.get(".c-ledger__row-amount").invoke('text').then((text) => {
    expect(text.replace(/\u00a0/g, ' ')).equal('DKK 15.00');
});

Это хорошо работает в моем случае. Вот скриншот для результата утверждения: enter image description here

0 голосов
/ 20 ноября 2018

Я предполагаю, что вы пытаетесь проверить, что .c-ledger__row-amount равен "DKK 15.00". Попробуйте это.

cy.get(".c-ledger__row-amount").invoke('text').then((text) => {
         expect(text.trim()).equal('DKK 15.00');
});

Иногда вам нужно удалить завершающие пробелы

...