Вы получили эту ошибку, потому что транспортир по умолчанию загружает угловую страницу.Если вы работаете с не угловым, вы должны добавить await browser.waitForAngularEnabled(false);
к onPrepare
блоку:
onPrepare: async () => {
...
await browser.waitForAngularEnabled(false);
...
Как работает этот механизм «ожидания»?Я скопирую описание из кода:
/**
* If set to false, Protractor will not wait for Angular $http and $timeout
* tasks to complete before interacting with the browser. This can cause
* flaky tests, but should be used if, for instance, your app continuously
* polls an API with $timeout.
*
Итак, как вы можете видеть, это все о $http
и $timeout
задачах.Чаще всего разработчики используют его не правильно.
В заключение, если вы видите такую ошибку:
both angularJS testability and angular testability are undefined
вы должны добавить await browser.waitForAngularEnabled(false);
.