google-chrome - 使用特定扩展程序启动 testem chrome 浏览器

标签 google-chrome ember.js google-chrome-extension testem

我想拥有 Testem将我的测试启动到加载了特定扩展程序的 Chrome 浏览器中,但默认情况下它是一个空白的 Chrome 配置文件,它已启动,并且不会将扩展程序从一个运行持续到另一个运行。

例如,我的目标是拥有 Testem启动预装了 Ember Inspector 的 Chrome 浏览器这样我就可以使用该工具调试测试。

我想知道这是否可能,如果可能,如何。

最佳答案

不幸的是,我似乎找不到内置的方法。

如果您想要一个快速而肮脏的解决方案,我建议您使用以下方法:
testem中的可用浏览器在 testem/lib/browser_launcher.js 中定义如果要修改ember-cli的文件使用,这将是完整路径:

<your-app-dir>/node_modules/ember-cli/node_modules/testem/lib/browser_launcher.js

这个文件有一个名为 browsersForPlatform() 的函数.找到您的平台和 Chrome 条目。对于达尔文,相关条目如下:
      {
        name: "Chrome", 
        exe: "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome", 
        args: ["--user-data-dir=" + tempDir + "/testem.chrome", "--no-default-browser-check", "--no-first-run", "--ignore-certificate-errors"],
        setup: function(config, done){
          rimraf(tempDir + '/testem.chrome', done)
        },
        supported: browserExeExists
      },

您需要更改 args所以它会根据你的喜好被调用。我的猜测是问题在于 --user-data-dir指向一个 tmp 目录。也许简单地删除它就可以解决问题。

理想情况下,testem 会在 testem.json 文件中提供一种方法来覆盖浏览器选项。如果您感兴趣并且维护者之间也有兴趣,这可能是对 testem 项目的相当直接的贡献。

如果走改变路线browser_launcher.js请记住,每次更新节点包时它都会被破坏。我假设有一种方法可以安装 fork 版本,然后在您认为合适的情况下使您的副本保持最新。

关于google-chrome - 使用特定扩展程序启动 testem chrome 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25868164/

相关文章:

google-chrome - Ubuntu 18.04 - 如何使 Chrome 窗口可调整大小?

javascript - Chrome 扩展 : how can I intercept a cookie?

google-chrome - Web Speech API Grammar 是否向开发人员公开?

javascript - 为什么我的简单 Ember.js Handlebars 助手在异步加载数据时不起作用?

javascript - 查找不在网络历史记录中的上一页的 URL

c# - 如何解码谷歌浏览器中的编码网址?

javascript - 找不到 "application"模板或 View 。什么都不会呈现对象 {fullName : "template:application"}

javascript - 用于 AJAX 文件上传的 Multipart 或 base64?

javascript - 如何获取内容脚本来点击 YouTube 视频的“LIKE”按钮?

javascript - 未定义 Chrome 扩展脚本/函数(Bootstrap Native?)