Как извлечь значение из элемента в инструменте Cypress? - PullRequest
0 голосов
/ 03 октября 2018

У меня проблема с получением значения элемента, например:

<div class="Test">Number 10</div>

Допустим, у меня есть 10-20 классов со значениями, как здесь, тогда я могу использовать:

cy.get('.Test').invoke('text').as.('Field1')

, чтобы получить правильное значение, но это возможно только в другом тесте, используя this.Field1.Как получить значение в том же тесте без использования: then и .text () ?

Возможно ли это?У меня есть много полей, и я хотел бы сделать это в одном тесте, чтобы проверить правильные значения в следующем представлении.

У кого-нибудь была подобная проблема?Спасибо

1 Ответ

0 голосов
/ 30 октября 2018

Звучит так, как будто вы, возможно, захотите использовать .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

...