如何解决量角器和Angular 8:在Angular应用运行之前设置localStorage吗?
我有一些端到端测试要求,需要通过localStorage模拟一些数据,但是在Angular运行之前很难设置localStorage。该应用程序最终确实会看到我设置的localStorage项,但是只有在Angular很好地运行了组件代码并发出HTTP请求之后。这是我尝试过的:
beforeAll(() => {
// Attempt #1
browser.get('/');
browser.executeScript(`window.localStorage.setItem('foo','bar');`);
// Attempt #2
browser.get('/').then(() => {
return browser.executeScript(`window.localStorage.setItem('foo','bar');`);
});
});
量角器是否还有其他机制可以实现此目的?还是在按规格(或browser.get)加载之前,将数据注入Angular应用程序的其他一些创造性方法?谢谢!
解决方法
我建议您在protractor config file的onPrepare
钩子中进行设置。
如果准备工作涉及任何异步调用,例如与浏览器进行交互。
在配置中:
onPrepare() {
return browser.get('/').then(() => {
return browser.executeScript(`window.localStorage.setItem('foo','bar');`);
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。