我正在尝试使用e2e和量角器在Angular 6应用程序中测试端到端流程。我有一个将一些JavaScript注入页面的服务,因此我的测试验证了该脚本已附加到DOM。
问题是该服务检查在index.html文件中硬编码的配置对象。为了运行测试,我必须将一个特定的属性设置为false,但是到目前为止,我还没有设法找到一种挂接到应用程序初始化过程的方法。
我可以使用以下代码访问属性:
browser.wait(
browser.executeScript('return window.Config.local;')
.then(promise => expect(promise).toBe(false)
), 5000);
但是问题是去哪里打电话!
我花了一些时间使用APP_INITIALIZER,但使它起作用的唯一方法是在app.module.ts文件中进行设置。我宁愿不出于测试目的更改其内容。
如果任何人在应用程序完全初始化之前对如何获取window对象有任何想法,我将非常感激。我已经花了整整三天的时间,仍然没有解决方案...
谢谢!