基本上,量角器挂在我们的项目中,因为“网络”选项卡中存在这种奇怪的xhr_streaming
活动,是由某种无法完成的websocket引起的。量角器中有办法还是通过使用其他一些节点lib来忽略此请求?
答案 0 :(得分:1)
<罢工> 量角器无法做到这一点,我认为这是一个很大的损失。进行这项工作的唯一方法是使用:
beforeAll(() => {
browser.waitForAngularEnabled(false);
});
现在的问题是它不再等待角度事件,并且有时元素还不可见。
除了量角器之外,您还可以查看Cypress.io。就我个人而言,我认为用e2e编写更加容易和直接。
如果您使xhr请求在NgZone
之外运行,也许它可以工作,并且每当需要执行某项操作时,都可以使其在区域中重新运行:
constructor(readonly nz: NgZone, readonly http: HttpClient) {}
startStreamingXhr(): void {
this.nz.runOutsideAngular(() => this.http.get(...).subscribe((data) => {
this.nz.run(() => {
// do something with data
});
});
}
答案 1 :(得分:0)
您可以尝试使用这些选项:
选项1
https://stackoverflow.com/a/21863295/6331748
选项2
您可以尝试中止有问题的XHR。请参阅参考: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort
选项3
Protractor / Selenium XHR stays in status "pending"
让我知道这些选项是否有效。