以下是量角器中的测试:
// Page object
import { $, browser, by, element } from 'protractor';
export class MediaPage {
goTo(route: string) {
browser.get(route);
browser.wait(browser.ExpectedConditions.visibilityOf(element(by.css('app-image-container'))), 10000);
}
getImageBlocks() {
return element.all(by.css('app-image-container'));
}
}
// Test
import { browser } from 'protractor';
import { MediaPage } from './app.po';
describe('Media page', () => {
let page: MediaPage;
beforeEach(() => {
page = new MediaPage();
});
it ('should display list of images', () => {
page.goTo('/media');
//expect(page.getImageBlocks().count()).toEqual(20);
});
});
另外,我在protractor.config中有公司代理和这些设置:
capabilities: {
browserName: 'chrome',
proxy: {
proxyType: 'manual',
httpProxy: 'http://proxy.xxxxx.com:80',
sslProxy: 'http://proxy.xxxxx.com:80'
},
chromeOptions: {
//binary: 'F:/Program/GoogleChromePortable/App/Chrome-bin/chrome.exe',
args: ['--test-type', '--no-proxy-server', '--auto-open-devtools-for-tabs'],
extensions: []
}
当我在浏览器中打开页面时,它应该使用HTTP请求从API加载数据。 Appp在localhost:4200下工作,API允许跨源请求。应用程序工作正常但测试挂起10秒,而它正在等待页面加载然后死亡。我无法在Chrome中打开Dev Console,因为测试停止,我无法使用console.log(),因为控制台是不可见的。
问题:如何查看HTTP请求发生了什么以及为什么没有加载数据?
更新:我刚刚意识到这可能是因为它在代理被禁用时无法发送请求,但问题是相同的,如果我在Protractor中如何查看(调试)HTTP请求无法访问Dev Tools。此外,当我尝试启用Chrome并启用代理时,我的应用程序的加载被企业防火墙,ZScaler拦截,并且页面被阻止为不安全。是否可以强制Chrome不将有关本地页面(localhost:4200)的信息发送到防火墙?
答案 0 :(得分:0)
有关如何查看HTTP请求,建议您安装流量监控工具,例如众所周知的Fiddler,并将Chrome设置为使用Fiddler代理(通常为http://127.0.0.1:8888,但您可以更改端口小提琴手的设定) 它为我节省了大量时间