Я новичок в Cypress, и я использую их пример todo app, я хочу проверить тот факт, что мы можем редактировать поле (двойной щелчок по нему, ввод, проверка)
// use the example from Cypress for the todo app
describe('example to-do app', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/todo')
})
it('can edit a todo items', () => {
// add it
cy.contains('Pay electric bill')
.parent()
.dblclick()
.type(' v2')
.type('Cypress.io{enter}')
// control it
cy.get('.todo-list li')
.should('have.length', 2)
.last()
.should('have.text', 'Pay electric bill v2')
})
})
У меня есть ошибка в том, что поле недоступно для ввода, но я не знаю, почему это не так, потому что, когда я смотрю после dbclick(), поле редактируется.
Как я могу решить эту проблему?





Ошибка возникает из-за того, что элемент .parent() вашего .contains('Pay electric bill') является элементом div, а не элементом input, который вам нужен.
<div class = "view">
<input class = "toggle" type = "checkbox">
<label>Pay electric bill</label>
<button class = "destroy todo-button"></button>
</div>
Вместо использования .parent(), попробуйте использовать .sibling('input').
cy.contains('Pay electric bill')
.siblings('input')
.dblclick()
.type(' v2')
.type('Cypress.io{enter}')