我正试图让Testem将我的测试加载到带有特定扩展的Chrome浏览器中,但默认情况下,它是一个空白的Chrome,它已经启动,并且不会将扩展从一次运行持续到另一次。
例如,我的目标是让Testem启动带有Ember Inspector预加载的Chrome浏览器,以便我可以使用该工具调试测试。
我想知道这是否可能,如果可能的话,怎么做。
发布于 2015-01-27 04:45:08
不幸的是,似乎没有一个内置的方式,我可以找到。
如果您想要一个快速而肮脏的解决方案,我建议如下:
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文件中提供一种覆盖浏览器选项的方法。如果您感兴趣,并且维护人员对此感兴趣,这可能是对测试项目的一个相当直接的贡献。
如果您选择更改browser_launcher.js的路线,只需记住,每次更新节点包时,它都会遭到破坏。我假设有一种方法,您可以安装一个分叉版本,然后保持您的副本,以您认为合适的最新。
https://stackoverflow.com/questions/25868164
复制相似问题