推出具有特定扩展名的testem chrome浏览器

时间:2014-09-16 11:57:07

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

我正在尝试Testem将我的测试启动到Chrome浏览器并加载了特定的扩展程序,但默认情况下,这是一个空白的Chrome配置文件,它已启动,并且不会延长从一次运行到另一个。

我的目标是让Testem启动预装了Ember Inspector的Chrome浏览器,以便我可以使用该工具调试测试。

我想知道这是否可行,如果可行,怎么做。

1 个答案:

答案 0 :(得分:3)

不幸的是,似乎没有我能找到的内置方式。

如果你想要一个快速而肮脏的解决方案,我建议如下:

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的路线,请记住每次更新节点包时它都会被破坏。我假设有一种方法可以安装分叉版本,然后根据需要保持副本最新。