Asserting text of element with &nbsp

assert text in selenium webdriver c#
selenium ide assert text contains
selenium assert text python
assert in selenium
assert contains
testng assert
how to assert partial text in selenium webdriver
selenium find element by text

I need to check the text of a Div tag and ensure if it is showing the correct text of not

here is the HTML Code:

Here is the step definition i wrote to assert the content

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

But cypress is throwing an error:

I am not sure where i am going wrong !!! :(

any help is appreciated


Based on Maccurt's assertion (which gives more context to the assertion information printed in Cypress logs) and Hiram's replace function, I composed this assertion.

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

How to assert elements contains text in Selenium using JUnit, Use: String actualString = driver.findElement(By.xpath("xpath")).getText(); assertTrue(actualString.contains("specific text"));. You can also use  Property values: It contains single value text which specifies the text content of the specified node. Return value: It returns a string, representing the text of node and all its descendants. It returns null if the element is a document, a document type, or a notation.


I assume you are trying to to test that .c-ledger__row-amount is "DKK 15.00". Try this.

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

Sometimes you have to remove the trailing spaces

should, Assert text content of 3 elements. Example below first asserts that there are 3 elements, and then checks the text content of each one. <ul  Locating elements with XPath axis. XPath axes help to locate elements based on the element's relationship with other elements in a document. Here are some examples for some common XPath axes used to locate elements from a <table> element. This can be applied to any other element structure from your application.


This looks like a similar problem to Replacing "&nbsp" from javascript dom text node.

Please try this command chain

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

Assertions, cy.get('.assertion-table') .find('tbody tr:last').should('have.class', 'success') .find('td') .first() // checking the text of the element in various ways .should('have.text',  Verify/Assert Text Present; Verify/Assert Element Present; 1.1 Verify Text Present. In many test automation scenarios, before or after the test step we need to check if the specific text is displaying or not. We donot our test scripts to stop irrespective the result (text found or not). To achieve this objective, we have various approaches that can be used.


assertText, verifyText - Selenium IDE Commands Tutorial, This works for any element that contains text. Assert and verify commands are both useful for verifying condition match or not. The difference is that verify  The .text() method cannot be used on form inputs or scripts. To set or get the text value of input or textarea elements, use the .val() method. To get the value of a script element, use the .html() method. As of jQuery 1.4, the .text() method returns the value of text and CDATA nodes as well as element nodes.


contain.text and include.text should do substring matches but , ASSERT: expected <div#preview> to have text Hello, but the text was have.text should test whether the element's full text is equal to the given  I have a page that I know contains a certain text at a certain xpath. In firefox I use the following code to assert that the text is present: assertEquals("specific text", driver.findElement(By.xpath("xpath)).getText()); I'm asserting step 2 in a form and confirming that a certain attachment has been added to the form.


chai-dom, Assert that the text of the HTMLElement or combined text of the NodeList is equal to or Assert that the selection matches an HTMLElement or all elements in a  A position asserting that the existence of God cannot be proven. animism From the Latin ANIMA, meaning "spirit," "soul," or "life force"; a worldview common among oral religions that sees all elements of nature as being filled with spirit or spirits.