Using cy.writeFile and cy.readFile to capture element text
In one of my current tests, I have the need to capture the text of a button that changes based on prior tests that were executed. Basically, as tests are run the label of a button changes based on how many times that button has been clicked.
In order to capture the current label of that button, I used cy.writeFile to put that label in a text file for later use.
// SELECT FIRST AVAILABLE
cy.get('[id="stall-button-0"]').click()
.then(($el1) => {
const text = $el1.text();
cy.writeFile('cypress/integration/05-ops/filterValsStall.txt', $el1.text())
})
cy.readFile('cypress/integration/05-ops/filterValsStall.txt')
.should('exist').and('contains', 'Test')At this point, the contents of that file is simply
Test_103
Then, I later call that same file using cy.readFile and type that text into another field:
cy.get('[class*="__flex-wrapper--title"]').click({force:true})
cy.readFile('cypress/integration/05-ops/filterValsStall.txt')
.then(($el1) => {
cy.get('[id="STALL NUMBER"]').focus().type($el1)
})