
Starting from ES2017, async / await makes handling Promises significantly easier because they no longer have to be chained. This strategy worked well for some time, but as the JavaScript standards and toolings evolve, Protractor regressed.
Control Flow makes asynchronous calls appear synchronous, thereby avoids the use of Promises entirely.
Protractor, echoing the approach taken by the underlying selenium-webdriver, solved this problem by managing promises via Control Flow. The proliferation of callback patterns in JavaScript back then made asynchronous operations difficult to write and manage. The Angular team created Protractor in 2013 when WebDriver APIs were not yet a standard and end-to-end (e2e) tests were challenging to set up. This RFC will close on Friday April 16, 2021.
additional concerns that would ensure a smooth transition. how users can transition by following migration guidelines. what we can do to provide reliable integration with third-party solutions. We would like to hear from the community on Developers will see more benefits from adopting a more modern testing tool than from updating to a breaking version of Protractor which does not provide additional functionality or developer ergonomic improvements. Meanwhile, robust alternatives have emerged in the web testing space. Nonetheless, Protractor is not able to leverage such technology without forcing users to rewrite their tests. Since then, the JavaScript standard and ecosystem advanced considerably, providing modern syntax and much better development tools. To solve this problem, Protractor wraps selenium-webdriver and abstracted asynchronous operations from developers with the use of Control Flow. Protractor was created in 2013 when WebDriver APIs were not yet a standard and end-to-end (e2e) tests were hard to write due to lack of support for async / await. The Angular team plans to end development of Protractor at the end of 2022 (in conjunction with Angular v15).