2014-09-16 5 views
6

Я пытаюсь запустить Testem запуск моих тестов в браузере Chrome с определенными расширениями, но по умолчанию это пустой профиль Chrome, который запущен, и который не запускается сохраняйте расширения от одного запуска к другому.запуск тестового браузера Chrome с определенными расширениями

Моей целью является, например, Testem запустить браузер Chrome, предварительно загруженный с помощью Ember Inspector, чтобы я мог отлаживать тесты с помощью этого инструмента.

Я хотел знать, возможно ли это, и если да, то каким образом.

+0

Связанный: https://github.com/testem/testem/issues/808 – vine77

ответ

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, просто помните, что он будет сбиваться при каждом обновлении пакета узла. Я предполагаю, что вы можете установить разветвленную версию, а затем сохранить свою копию в актуальном состоянии по своему усмотрению.

+0

Вы можете использовать npm-shrinkwrap.json, чтобы заставить ember-cli использовать разветвленную версию testem. Аргументы Chrome теперь находятся в [lib/utils/known-browsers.js] (https://github.com/testem/testem/blob/v1.9.1/lib/utils/known-browsers.js#L22-L33) – vine77

Смежные вопросы