Как запускать тесты InternJS с приложением extJS

У меня есть приложение, разработанное в extJS, и я изучаю InternJS для разработки автоматизированных тестов. Но я не могу запустить простой тест, я думаю, что пропустил какой-то шаг, потому что у меня есть эта ошибка:

Error: Missing required argument "config"
  at PreExecutor.getConfig  <workspace/intern-tutorial-completed-tutorial-3.0.0/node_modules/intern/lib/executors/PreExecutor.js:145:11>
  at getConfig  <workspace/intern-tutorial-completed-tutorial-3.0.0/node_modules/intern/lib/executors/PreExecutor.js:379:17>
  at <workspace/intern-tutorial-completed-tutorial-3.0.0/node_modules/intern/browser_modules/dojo/Promise.js:156:41>
  at run  <workspace/intern-tutorial-completed-tutorial-3.0.0/node_modules/intern/browser_modules/dojo/Promise.js:51:33>
  at CallbackQueue.drain  <workspace/intern-tutorial-completed-tutorial-3.0.0/node_modules/intern/browser_modules/dojo/CallbackQueue.js:39:35>
  at MutationObserver.<anonymous>  <workspace/intern-tutorial-completed-tutorial-3.0.0/node_modules/intern/browser_modules/dojo/nextTick.js:52:27>

Моя структура папок такая

   - app
   - bin
      chromedriver.exe
      phantomjs.exe
      selenium-server-standalone-2.53.1.jar
   - tests
      - functional
         index.js
      - unit
         hello.js
      Intern.js
   index.html
   package.json

Я использую эту команду для запуска селена

java -jar bin/selenium-server-standalone-2.53.1.jar

И я настраиваю файл intern.js следующим образом.

define({
    capabilities: {
        'selenium-version': '2.53.1'
    },
    environments: [
        {
            browserName: 'chrome' 
            chromeOptions: {
                args: [ 'load-and-launch-app=../app/hello.js' ]
            }
        },
        {
            browserName: 'phantomjs'
        }
    ],
    maxConcurrency: 2,
    tunnel: 'NullTunnel',
    loaderOptions: {
        packages: [ { name: 'app', location: '../app' } ]
    },
    loaders: {
        'host-node': 'requirejs',
        'host-browser': 'node_modules/requirejs/require.js'
    }
    suites: [ 'tests/unit/hello' ],
    functionalSuites: [ 'tests/functional/index' ],
    excludeInstrumentation: /^(?:tests|node_modules)\//
});

person Ricardo Rio    schedule 04.08.2016    source источник


Ответы (1)


Когда вы запускаете Intern, вам нужно указать, где находится ваша конфигурация. Предполагая, что вы запускаете тесты WebDriver (поскольку вы запускаете Selenium), вы должны запустить Intern из базового каталога вашего пакета, например:

$ ./node_modules/.bin/intern-runner config=tests/Intern.js
person jason0x43    schedule 28.10.2016