Доступ к значению ng-if из Cypress - PullRequest
0 голосов
/ 15 октября 2018

Я довольно новичок в AngularJS и Cypress, и я искал решение этой проблемы безуспешно.

У меня есть раздел с ng-if

<section ng-if="!hasKey">

иЯ хотел бы получить это значение hasKey, чтобы определить, должен ли я выполнить один дополнительный шаг в тесте Cypress, чтобы сделать что-то вроде этого:

if(hasKey) {        
    cy.someFunc();
}

Спасибо!

1 Ответ

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

Может быть достаточно вывести значение hasKey из наличия элемента, например:

cy.get('section').then(_ => {
  cy.someFunc()
})

, но если вы хотите проверить более подробно, см. Этот блог Управление приложением AngularJS из тестов E2E для получения доступа к свойствам в области angularjs для получения доступа к внутренним свойствам вашего приложения AngularJs.

const getAngular = () =>
  cy.window()
    .its('angular')

const getElementScope = (selector) =>
  cy.get(selector)
    .then($el =>
      getAngular()
        .then(ng => ng.element($el).scope())
    )

it('has hasKey property in scope', () => {
  getElementScope('section')
    .its('hasKey').then(hasKey => {
      if(hasKey) {        
        cy.someFunc();
      }
    })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...