量角器 Angular 9: browser.executeAsyncScript() - window.ng 未定义
Protractor Angular 9: browser.executeAsyncScript() - window.ng is undefined
我正在尝试在执行端到端测试时引用我的一项服务。我需要它能够 enable/disable 我的功能切换模拟机制,并且可以对某些功能的两种状态 on/off 执行测试。
我试过:
const data = await browser.executeScript(function() {
//@ts-ignore
return window.ng.getInjector(window.getAllAngularRootElements()[0]).get('MyService')
})
但问题是 window.ng
未定义,我收到错误消息:
Failed: javascript error: Cannot read property 'getInjector' of undefined
(Session info: chrome=80.0.3987.122)
(Driver info: chromedriver=80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185}),platform=Linux 4.19.121-linuxkit x86_64)
我在使用 browser.executeAsyncScript()
时收到同样的错误
测试 运行 在 docker
问题出在我自己的配置中。
测试是针对与我预期不同的环境执行的。这是 生产模式 的环境,这就是 ng 对象不可用的原因。
我正在尝试在执行端到端测试时引用我的一项服务。我需要它能够 enable/disable 我的功能切换模拟机制,并且可以对某些功能的两种状态 on/off 执行测试。
我试过:
const data = await browser.executeScript(function() {
//@ts-ignore
return window.ng.getInjector(window.getAllAngularRootElements()[0]).get('MyService')
})
但问题是 window.ng
未定义,我收到错误消息:
Failed: javascript error: Cannot read property 'getInjector' of undefined
(Session info: chrome=80.0.3987.122)
(Driver info: chromedriver=80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185}),platform=Linux 4.19.121-linuxkit x86_64)
我在使用 browser.executeAsyncScript()
测试 运行 在 docker
问题出在我自己的配置中。
测试是针对与我预期不同的环境执行的。这是 生产模式 的环境,这就是 ng 对象不可用的原因。