启动带有特定扩展的testemchrome浏览器



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

相关内容

  • 没有找到相关文章

最新更新