Как исправить "Не удается прочитать свойство 'apply' of undefined", пытаясь получить местоположение с помощью Protractor? - PullRequest
2 голосов
/ 23 апреля 2019

Я пытаюсь получить местоположение элемента с помощью вызова метода Protractor (v6.0.0) getLocation () , однако я получаю следующее исключение:

TypeError: Cannot read property 'apply' of undefined
at <Jasmine>
at actionFn (/usr/lib/node_modules/protractor/built/element.js:95:44)
at <Jasmine>
at actionResults.getWebElements.then(/usr/lib/node_modules/protractor/built/element.js:468:44)
at <Jasmine>
at ElementArrayFinder.applyAction_(/usr/lib/node_modules/protractor/built/element.js:466:29)

Любая подсказка, как решить проблему?

На самом деле мой код очень прост.

it('should compare login page with a baseline', async () => {
    let input =  element(by.id('mat-input-1'));
    await input.getLocation();
});

Я ожидаю координаты ввода, который имеет идентификатор mat-input-1, но, к сожалению, я получаю это исключение.

1 Ответ

1 голос
/ 24 апреля 2019

Транспортир CHANGELOG.md имеет ссылку на селен-webdriver CHANGELOG , в нем перечислены:

Изменения для соответствия спецификации W3C WebDriver

  • Заменены WebElement.getSize () и WebElement.getLocation () с помощью одного метода, WebElement.getRect ().

Таким образом, вы должны использовать .getRect().

Теперь для самого Protractor 6 это явно проблема с документацией.Мы рекомендуем использовать 5.4.2 на данный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...