使用 Protractor 从 chromedriver 获取 HTTP 请求(性能日志)

2023-11-24

我正在使用量角器进行 Angular 的 e2e 测试,并且我正在拼命地尝试获取带有标头和正文的 HTTP 请求日志。 我已经像这样配置了量角器:

  {

    useAllAngular2AppRoots: true,
    ignoreUncaughtExceptions: true,

    maxSessions: 1,
    multiCapabilities: [
        {
            'name': 'desktop',
            'browserName': 'chrome',
            loggingPrefs: {"driver": "ALL", "browser": "ALL", 'performance': 'ALL'},
            chromeOptions: {
                binary: process.env.CHROME_BIN,
                args: ["--headless", "--disable-gpu", "--no-sandbox"],
                perfLoggingPrefs: {
                    'traceCategories': 'blink.console,disabled-by-default-devtools.timeline'
                }
            }
        }
    ],

    framework: "custom",
    frameworkPath: require.resolve("protractor-cucumber-framework"),

    //...
};

在每个场景之后,我都会执行这个钩子:

browser.manage().logs().get("browser").then(logs => 
  //...
)

但我得到的只是控制台日志,但没有 http 请求。有什么方法可以从量角器内的 chromedriver 获取这些内容吗?

以下是 chromedriver 文档的链接,其中提到了性能日志:https://sites.google.com/a/chromium.org/chromedriver/logging/performance-log


您需要添加以下内容chromeOptions包括perfLoggingPrefs and loggingPrefs如图所示https://github.com/angular/protractor-cookbook/blob/master/protractor-javascript/example-network/conf.js

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
      'perfLoggingPrefs': {
        'enableNetwork': true,
        'enablePage': false,
        'enableTimeline': false
      }
    },
    loggingPrefs: {
      performance: 'ALL',
      browser: 'ALL'
    }
  },

获取日志时,我编写的示例将日志记录在afterEach每次测试后输出的方法。

  afterEach(() => {
    browser.manage().logs().get('performance').then((browserLogs) => {
      browserLogs.forEach((browserLog) => {
        var message = JSON.parse(browserLog.message).message;
        if (message.method == 'Network.responseReceived') {
          console.log(message);
        }
      });
    });
  });

从日志中,您应该能够看到加载 javascript 文件、资源等时发出的任何 get 请求。

更新答案

根据评论更新答案。如果你使用'Network.requestWillBeSent',您可以查看帖子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Protractor 从 chromedriver 获取 HTTP 请求(性能日志) 的相关文章

  • HTML5 Canvas 的环绕:如何获取(静态)形状继续围绕画布边缘

    我正在尝试画一个平铺背景在 HTML5 画布上使用 Javascript 但它不起作用 因为与画布边缘相交的形状不会环绕到另一侧 需要明确的是 这些是静态形状 没有及时运动 如何让被画布一侧中断的对象环绕到另一侧 基本上我正在寻找许多视频游
  • 两个单独表格上的 Td 高度

    我有两个单独的表 我在每个 tr 上使用焦点 悬停函数 该函数同时在两个表上都很好用 我的问题是 td 高度 因为如果第一个表中 td 的描述更大 将显示在中的两行上相同的td和td的高度将被修改 但仅限于第一个表td 如何记住第一个表中
  • 如何通过 JS 中的 WebPack 包提供全局 TypeScript 类

    我目前正在研究 TypeScript 我想用 TS 替换 JS 但是我有很多 JS 文件 所以我只想在 TS 中创建新类 并想在我的旧 JS 文件 atm 中使用这些类 后来我想把所有的JS都换成TS 我对 webpack 和捆绑的 js
  • 创建链接到 csv 文件的表

    我正在尝试创建一个链接到的表 csv使用 d3 文件 但我得到的只是一个空白网页 即使以克里米亚为例 我也得到一张空白页 我将很高兴得到指导或展示一个可行的例子或关于我做错了什么的建议 如果您询问如何从 CSV 数据创建 HTML 表 这就
  • VueJS - 验证表单文件上传中的文件大小要求

    我正在使用 Bootstrap Vue 表单制作一个简单的表单 用户可以在其中上传文件 有没有办法验证使用 Vue 表单选择的文件的大小 我想阻止用户上传此类文件 我见过this https stackoverflow com questi
  • Angular 2延迟加载模块-服务不是单例

    我已经在我的应用程序中实现了延迟加载模块 app module ts 配置正确 NgModule declarations AppComponent HeaderComponent HomeComponent imports Browser
  • 替换字符以制作国际字母(变音符号)

    我正在尝试模仿国际键盘的工作方式 如果您使用其中之一死钥匙 http en wikipedia org wiki Dead key后面跟着一个字母 它将它们组合成相应的字符 例如 输入 a会导致 and o结果是 etc 我似乎无法让我的正
  • 使用 Javascript 在前端创建基本 URL(开发、API 和生产)

    无论开发和部署如何 如何制作适用于 http https localhost 端口和实际域的基本 url 我想创建一个可以在所有场景或条件下工作的基本 url 无论 http https 协议 端口 本地主机和实际域如何 无论是在开发中还是
  • 使用 classed("active",true) 鼠标悬停时 D3 颜色变化

    我是 js 和 D3 的新手 我已经生成了某种热图 并且想使用 D3 的 on mouseover 更改图块的颜色 我可以显式更改颜色 但想使用 CSS 活动规则 可能是一些简单的东西可以修复 任何帮助将不胜感激 完整代码如下 Thanks
  • 从请求响应创建 PDF 不适用于 axios,但适用于本机 xhr

    为了强制从服务器下载 PDF 我尝试使用 axios 和本机 xhr 对象 原因是我必须发送post请求 因为我向服务器传递了太多数据 所以带有简单链接的选项 例如site ru download pdf对我不起作用 尽管我最终设法用 Xh
  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • tinyMCE - 将RemoveFormat限制为格式列表

    当前的tinyMCE版本 3 5 2 Hi 我正在开发一个自定义插件 可以添加和删除自定义格式 http www tinymce com tryit custom formats php 向当前选择添加格式很简单 但我做不到 找到删除多种格
  • Facebook Instant Game - 上传捆绑的 zip 文件会导致 Web 托管出现 SDK 参考错误

    当我尝试上传简单的游戏 应用程序时 我收到一条错误消息 游戏必须通过我们的 CDN 引用我们支持的 SDK 之一 不过我已经给出了 SDK 参考 难道不是这个吗 我也浏览了 facebook 文档的 SDK 参考 但它对我不起作用 有人以前
  • HTML5 画布在缩放和旋转后平移

    我正在尝试用画布做一些事情 首先 我让用户上传图像 如果图像比我想要的大 我需要将其缩小 那部分工作得很好 最近我们遇到了 iPhone 用户上传图像的问题 这些都存在方向问题 我已经弄清楚如何提取方向 我的问题是当我操纵画布中的图像时会发
  • 在 MongoDB 中对 Null 值进行最后排序

    我使用以下查询根据名为 sortIndex 的字段按升序填充 MongoDB 中的项目 有时 数据库中的项目没有 sortIndex 字段 通过以下查询 具有 null sortIndex 的项目显示在顶部 我想知道如何让它们显示在底部 我
  • 如何以编程方式确定 HTML 对象可以侦听哪些事件?

    我一直在查看developer mozilla org 和Apple 开发文档上的文档 但我找不到解释是否可以通过编程方式确定特定HTML 标记是否支持给定事件监听器的文档 就像我知道的那样
  • chrome.extension.getBackgroundPage() 函数示例

    我正在开发一个需要在后台运行的小型 Chrome 扩展 但是 我知道当我使用弹出窗口时这是不可能的 经过一番阅读后 似乎最好的选择是创建popup js为了运行background js using chrome extension get
  • 对数组进行分组并获取计数[重复]

    这个问题在这里已经有答案了 假设我有这样的数组 foo bar foo bar bar bar zoom 我想将其分组 这样我就可以得到这样的计数 foo 2 bar 4 zoom 1 有没有一个实用程序可以做到这一点 只需使用该功能Arr
  • Vim、Javascript、DoctorJS (jsctags) 和 Taglist(源代码浏览)

    我已经安装了DoctorJS http doctorjs org 之前jsctags 试图为 Vim 获得一些好的源代码浏览 标签列表 使用Taglist http www vim org scripts script php script
  • 将 SVG 下载为 PNG 图像

    我想将 HTML 页面中的 SVG 元素下载为 PNG 格式 我尝试了此操作 但下载了一个空白的 PNG 图像 如何将我的 HTML SVG 下载为 PNG 我用过这个https bl ocks org biovisualize 81878

随机推荐

  • 创建 clickonce webdeploy 包

    是否可以构建一个包含可使用标准 webdeploy 工具部署到 Web 服务器的 clickonce 应用程序的 Web 部署包 这是理想的过程 MSBuild YourFullyQualifiedProjectName csproj vb
  • 美丽的汤和 Unicode 问题

    我正在使用 BeautifulSoup 来解析一些网页 有时我会遇到如下 unicode hell 错误 在 TheAtlantic com 上查看这篇文章的来源 http www theatlantic com education arc
  • WPF Converter 转换导致 Visual Studio 设计器异常

    如下所示的转换器将导致 2008 Visual Studio 设计器不显示 xaml 并错误显示 指定的转换无效 例外 public class ItemsVisibilityToGridColumnWidthConverter IMult
  • 无法手动关闭 matplotlib 绘图窗口

    我在 Mac OS X Yosemite 上运行 Python v2 7 和 matplotlib v1 5 0 直到最近 我能够在交互式解释器中运行脚本 显示绘图 然后手动终止窗口 例如 import numpy as np x np a
  • 如何安装libpython2.7.so

    我已经安装了Python 2 6 6 17 50 21 email protected which python usr local bin python 还有 Python 2 7 6 位于 17 51 12 email protecte
  • 享元模式中描述的内在状态和外在状态有什么区别?

    从本章开始FlyWeight内部图案四人帮FlyWeight模式适用当大多数对象状态可以成为外在的时候 什么是extrinsic state意思是 我感觉这个模式是用来共享对象的 如果要共享对象 那么该对象怎么可能有任何状态呢 让我们以文字
  • 如何更改角度材料排序图标

    我需要将默认箭头图标从角度材质 matSort 更改为自定义箭头 当前代码
  • C#:对象变量应该分配为 null 吗?

    在C 中 是否需要将一个对象变量赋值给null如果您已经使用完它 即使它超出了范围 不 这实际上可能是危险的并且容易出现错误 考虑一下有人可能稍后尝试使用它 但没有意识到它已被设置为空的可能性 仅当有合理理由将某些内容设置为 null 时
  • MS Access VBA 替换密码加密/解密

    谁能建议我如何实现替代密码风格 VBA中的加密和解密函数 我很欣赏散列被认为是更好的方法 但我需要可逆加密 非常感谢 您可以使用Blowfish 有一个可在 Access 中运行的 Visual Basic 6 版本 可在此处获取 http
  • 是否有函数可以获取区域设置字符串格式的 UTC 日期?

    我想在 JavaScript 中获取当前 UTC 日期 但以本地日期格式显示它 例如Date toLocaleDateString does 我首先尝试获取当前 UTC 日期Date toUTCString 但这实际上并没有以本地格式打印出
  • 奇怪的函数语法

    我看到一个奇怪的函数 看起来像这样 const x a gt b gt a b console log x 1 2 输出是 3 我知道它是一个返回函数的函数 并且 a 和 b 都在同一范围内 但我的问题是 这怎么能用在现实生活中呢 不使用带
  • 初学者如何使用常量内存(Cuda C)

    我有 3 个常数值 A B C 我想将其保存在常量内存中 我通过输入以下代码行找到了一种方法 CUDA global constants constant int A constant int B constant int C int ma
  • 当基类被淘汰时,单元测试会如何变化?

    这在一定程度上是后续行动这个问题 我不确定问这个问题的最佳方式 所以我会尝试一个小故事来设置场景 曾几何时 有一个类 A 它有一个单元测试类 ATests 负责通过公共接口测试其行为 他们幸福地在一起生活了一段时间 然后发生了变化 出现了
  • AutoFixture IEnumerable 与 CreateMany() 的行为

    看帖子的时候here 看起来我应该能够使用创建多个对象CreateMany 使用迭代它们foreach 然后将它们作为数组返回 我看到的是 每次迭代似乎每次都会创建新对象 这是预期的行为吗 要创建的实体 public class TestE
  • 如何使用 Dart 从不同的 URL 提供静态文件?

    有了 Dart 我就得到了awesome html 但我希望它是 awesome 这纯粹是一个 htaccess 我正在使用 Apache 或者有没有办法通过 Dart 或 现代 Web 开发 方式来解决这个问题 This htaccess
  • 将链接插入 MatSnackBar

    是否可以在 Angular Material 2 中插入链接MatSnackBarModule 我尝试在文本中执行此操作 但它将 html 显示为文本 const text a login a this snackBar open text
  • Google adsense 响应服务器响应状态为 400 ()

    我第一次在我的网站上实施 google adsensemyPleaks 在这里我面临下面提到的错误 Failed to load resource the server responded with a status of 400 谁能帮我
  • OpenCV:如何在图像上应用彩虹渐变图?

    假设我们有一个通过 openCV 以某种方式修改的图像 现在我们很乐意申请它渐变贴图 就像我们可以通过 Photoshop 应用的那样 所以我想知道如何通过 openCV 应用渐变图 彩虹色 这是一种使用 Python 创建假 伪彩色图像的
  • 从文本区域执行 javascript

    我不完全确定这是否可能 但我正在尝试在浏览器中创建一个在页面上运行 javascript 的迷你人造编辑器 这就是我理论上一直在尝试做的事情 HTML
  • 使用 Protractor 从 chromedriver 获取 HTTP 请求(性能日志)

    我正在使用量角器进行 Angular 的 e2e 测试 并且我正在拼命地尝试获取带有标头和正文的 HTTP 请求日志 我已经像这样配置了量角器 useAllAngular2AppRoots true ignoreUncaughtExcept