量角器打字稿:在chrome开发人员工具>“网络”标签中测试与分析相关的属性

时间:2018-08-05 17:53:41

标签: javascript typescript logging protractor google-chrome-devtools

我需要测试是否在网络流量中看到正确的查询参数(chrome>开发人员工具>网络选项卡)。我发现了这篇文章:Get HTTP requests (performance logs) from chromedriver with protractor似乎就是我想要的。

但是,当我将日志写入外部文件并检查是否可以看到要过滤以进行验证的URls时,我无法找到URL。可能发生了两件事 1) Network.responseReceived 仅获得GET调用,而我想要的方法则没有任何方法。 2)loggingPrefs实际上不是实现此目的的正确方法吗?

如果我朝着正确的方向前进或将我指向正确的方向,有人可以帮助我理解。我的情况是这样的: 1)启用记录首选项 2)过滤出分析网址 3)验证查询参数。

这是我放在黄瓜钩子上的代码

 After(async function(scenario) {
        console.log("After Hook");
        if (scenario.result.status === Status.FAILED) {
            // screenShot is a base-64 encoded PNG
             const screenShot = await browser.takeScreenshot();
             this.attach(screenShot, "image/png");
         }
         await console.log("After if");
         let browseLogs = await browser.manage().logs().get('performance');
         browseLogs.forEach(async (logE)=> {
             //await console.log("inside if 2");
             //await browser.sleep(3000);
             var message = await JSON.parse(logE.message).message;
             //await browser.sleep(6000);
             if(message.method == 'Network.responseReceived'){
                 //await console.log(message);
                 //await fs.writeFileSync(logs, message);
                 await fs.appendFile(logs, JSON.stringify(message), (err) => {
                    if(err) throw err;
                    console.log('saved'); 
                 });              

                }
             });
         });

在我的测试用例中,我导航到该页面,当测试用例越过黄瓜挂钩时,该方法会自动触发该方法以将日志转储到文本文件中。

注意:使用Selenium中的“ LoggingPreferences” API可以在Selenium-Java框架中轻松实现,我需要在我的量角器类型脚本黄瓜框架中实现它。任何帮助表示赞赏!

0 个答案:

没有答案