Вызов функции компонента из теста Cypress - PullRequest
0 голосов
/ 27 февраля 2019

У меня угловое 7 приложение.Я использую Cypress для тестирования нескольких компонентов холста / карты.Мне нужно вызвать функцию внутри компонента, чтобы проверить, отображается ли геоджон на карте.

В Chrome я вызываю ng.probe($0).componentInstance.draw.getAll() через консоль, и мои данные записываются на консоль, но когда я делаютот же вызов в моем тесте на кипарис:

cy.window().then((win) => {
    const res = win.ng.probe($0).componentInstance.draw.getAll();
    console.log(res);
})

Я получаю ReferenceError: $0 is not defined

Как мне поступить с вызовом моей угловой функции в кипарисе?

1 Ответ

0 голосов
/ 27 февраля 2019

Переменная $0 существует только внутри chrome-devtools.Это ссылка на элемент, выбранный на панели элементов, например (обратите внимание на == $0):

enter image description here

Вам необходимо получитьссылка на фактический элемент через cy.get.

cy.get('.some-ng-element').then(($el) => {
  const el = $el[0]  // get the DOM element from the jquery element
  const win = el.ownerDocument.defaultView // get the window from the DOM element
  const component = win.ng.probe(el).componentInstance
})
...