Запуск стажера с PhantomJS: окно не определено

Я выполнил все шаги, описанные здесь: https://github.com/theintern/intern/wiki/Using-Intern-with-PhantomJS

Моя внутренняя конфигурация ~ выглядит следующим образом:

define({
  proxyPort: 9000,
  proxyUrl: 'http://localhost:9000/',
  environments: [
    { browserName: 'phantom' }
  ],
  maxConcurrency: 3,
  useSauceConnect: false,
  webdriver: {
    host: 'localhost',
    port: 4444
  },
  reporters: ['runner'],
  useLoader: {
    'host-node': 'dojo/dojo',
    'host-browser': 'node_modules/dojo/dojo.js'
  },
  loader: {
    packages: [
      { name: 'myApp', location: '...' }
    ],
    baseUrl: '...',
    paths: {...}
  },
  suites: [
    'test/hello'
  ],
  functionalSuites: [],
  excludeInstrumentation: /(^test(\/|\\)|reporters|node_modules)/
});

Я запускаю phantomJS с

.\node_modules\.bin\phantomjs --webdriver 4444 --webdriver-loglevel='debug' 

и он слушает 4444.

Я даже отключил брандмауэр Windows, но все равно получаю

ReferenceError: window is not defined
    at ***.js:348:142
    at Function.vm.runInThisContext (***\node_modules\intern\node_modules\istanbul\lib\hook.js:163:16)
    at ***\node_modules\intern\node_modules\dojo\dojo.js:757:8
    at fs.js:266:14
    at Object.oncomplete (fs.js:107:15)

как будто Intern работает на узле, а не в Phatom. Консоль Phantom также полностью бесшумна.

Что мне не хватает? Или есть способ отладить действия стажера? Спасибо


person Georgii Ivankin    schedule 13.03.2014    source источник


Ответы (1)


Хорошо, я наконец понял это.

Я работал стажером, используя

.\node_modules\.bin\intern-client config=test/intern

в то время как это должно было быть

.\node_modules\.bin\intern-runner config=test/intern

Дело в том, что intern-runner и intern-client — это два разных приложения, одно для работы с браузерами через WebDriver, другое для работы с Node. Это не привлекло моего внимания, хотя я читал и перечитывал документы гораздо больше, чем один раз. Вероятно, здесь следует подчеркнуть различие.

Надеюсь, это кому-нибудь поможет)

person Georgii Ivankin    schedule 13.03.2014
comment
Вам также нужно переместить свой тест из наборов в функциональные наборы в конфигурации, если вы пытаетесь протестировать полную страницу. - person Benubird; 12.06.2015