我正在使用 cypress 来测试文本字段是否正确显示输入的文本。
cy.get('.creation-name').should('not.have.text');
const testName = 'Test name';
cy.get('.creation-name').type(`${testName}`);
Run Code Online (Sandbox Code Playgroud)
TextField 是一个 MUI 组件,这是一个 React 项目。
<div className="create-name">
<TextField
id="Name"
label="Create name"
onChange={(event) => setName(event.target.value)}
/>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以从视频中看到文本输入正常,但是当我尝试检查它是否存在时,它失败了。我尝试了多个不同的行来获取测试文本值,包括:
//got AssertionError for all of these
cy.get('.creation-name').invoke('val').should('equal', 'Test name');//expected '' to equal Test name
cy.contains(`${testName}`).should('have.text', `${testName}`);//expected '' to equal Test name
cy.get('[id="Name"]').should('have.text', `${testName}`);//expected '' to equal Test name
cy.get('.creation-name').invoke('text').should('equal', 'Test');//expected Create name to equal Test name
cy.get('.creation-name').should('have.text', `${testName}`);//expected Create name to equal Test name
Run Code Online (Sandbox Code Playgroud)
看来我没有得到任何东西,或者我正在瞄准标签。这是我第一次使用 cypress,所以我希望我没有错过任何明显的事情。