cy.xpath()
возвращает массив элементов, поэтому вам необходимо получить первый член этого массива.
С небольшой модификацией, чтобы использовать cy.first()
для получения первого элементавозвращается cy.xpath()
, код в OP работает:
cy.xpath('//div/div[1]/input')
.first()
.should('have.attr', 'placeholder', 'pl1')
К вашему сведению: если вы хотите вместо этого получить i
элемент массива, вы можете использовать cy.its(i)
вот так:
cy.xpath('//div/div[1]/input')
.its('0') // replace 0 with the index of the element in the array to assert on
.should('have.attr', 'placeholder', 'pl1')