Звучит так, как будто вы, возможно, захотите использовать .its
cy.get('selector').its(propertyName).should('contain', 'string')
его необходимо объединить в цепочку с предыдущей командой, такой как get.Вы также можете использовать это в функции согласно примеру Cypress
Cypress показывает пример для элементов DOM
Получить свойство длины элемента DOM
cy
.get('ul li') // this yields us a jquery object
.its('length') // calls 'length' property returning that value
.should('be.gt', 2) // ensure the length is greater than 2
})
Вы можете получить доступ к функциям, чтобы затем детализировать их собственные свойства, а не вызывать их.
// Your app code
// a basic Factory constructor
const Factory = (arg) => {
// ...
}
Factory.create = (arg) => {
return new Factory(arg)
}
// assign it to the window
window.Factory = Factory
cy
.window() // yields window object
.its('Factory') // yields Factory function
.invoke('create', 'arg') // now invoke properties on itv
Вы можете углубиться во вложенные свойства, используя точечную запись.
const user = {
contacts: {
work: {
name: 'Kamil'
}
}
}
cy.wrap(user).its('contacts.work.name').should('eq', 'Kamil') // true
Полный список примеров и правил можно найти в документах Cypress.io https://docs.cypress.io/api/commands/its.html#Syntax