В моем проекте у нас есть автоматические тесты в Selenium. В нашем приложении используется AngularJS, но мы переписываем в Angular 9, используя Гибридный подход . Проблема в том, что эти тесты не работают, потому что метод getAllAngularTestabilities()[0].whenStable()
никогда не запускает обратный вызов , чтобы сообщить Selenium о том, что Angular завершила работу под капотом.
Также, когда я запускаю method getAllAngularTestabilities()[0].isStable()
, всегда возвращается false.
Это странно, потому что свойство isStable имеет значение true, также микрозадачи и macroTask пусты.
![enter image description here](https://i.stack.imgur.com/WXJTV.png)
Но на самом деле где-то глубже есть некоторые l oop что не позволяло стабильному приложению, я смог это выяснить благодаря ответу @Stanislav Berkov Как отследить, какой асин c заданий ожидает транспортир?
И, видимо, есть MacroTask от oid c -клиента, вероятно, для обновления токена, который срабатывает каждые несколько минут ![enter image description here](https://i.stack.imgur.com/pwr4J.png)
И я понятия не имею, как я могу решить эту проблему , Может быть, я мог бы каким-то образом исключить весь пакет из зоны. js, но я не знаю, как мне это сделать.