angular / protractor

E2E test framework for Angular apps

Home Page:http://www.protractortest.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Protractor can't sync with AngularJS' apps using window.name for deferred bootstrap

Splaktar opened this issue · comments

Bug report

  • Node Version: 14.16.1
  • Protractor Version: 7.0.0
  • Angular Version: 1.8.2
  • Browser(s): Firefox 86
  • Operating System and Version macOS Catalina

Error output

[17:04:38] E/protractor - Could not find Angular on page http://127.0.0.1:8402/:
  angular never provided resumeBootstrap

Additional Information

AngularJS Deferred Bootstrap documentation: https://docs.angularjs.org/guide/bootstrap#deferred-bootstrap

There are a couple of temporary workarounds here:
angular/angular.js#17117 (comment)

In https://bugzilla.mozilla.org/show_bug.cgi?id=1700931, Firefox said that clearing the window.name on cross-origin navigation will continue and the flag to disable it will be removed at some point.

The following long-known AngularJS/Protractor issues are related to window.name being cleared on iOS and macOS:

  • Safari security fix broke window.name usage here: #4004
  • Appium doesn't support this window.name setting either: #2840

Additionally, Chromium is getting closer to shipping the clearing of window.name in a beta:
https://groups.google.com/a/chromium.org/g/blink-dev/c/86VeIi5sZzc/m/CVJadvpqAQAJ

As this feature is a synchronization of both AngularJS and Protractor, a solution would likely need to involve both. That's why this issue exists in addition to angular/angular.js#17117, which requests a fix for this during the AngularJS LTS period (prior to the end of December 2021).