У меня возникли проблемы с написанием сценария npm для запуска тестов моего транспортира. После документации https://github.com/angular/protractor/blob/master/docs/server-setup.md кажется, что сначала я должен запуститьЗапуск транспортира при запуске webdriver-manager
webdriver-manager start
и оставить ее работать, пока я начинаю фактические испытания
./node_modules/.bin/protractor test/integration/conf.js
Я хочу, чтобы эти два шага, чтобы выполнить внутри одного НПМ сценария, так что я бы в конечном итоге с чем-то вроде этого:
"scripts": {
"protractor-update": "./node_modules/.bin/webdriver-manager update",
"protractor-start": "./node_modules/.bin/webdriver-manager start",
"protractor-init": "npm run protractor-update && npm run protractor-start",
"test-protractor": "npm run protractor-start && ./node_modules/.bin/protractor test/integration/conf.js",
},
Теперь, очевидно, проблема заключается в том ./node_modules/.bin/webdriver-manager start
не возвращает экс это код, поэтому он никогда не переходит к следующей команде.
Что было бы правильным способом достижения этого?
Вы предполагаете, что сервер селена будет, когда и возвращает управление в оболочку и работает следующую команду. Что, если нет, тесты потерпят неудачу, правильно? –
Говоря о «основах сценариев оболочки», я бы порекомендовал вам убить процесс с помощью PID, а затем выбрать первое задание из списка заданий. Вы можете сохранить PID процесса, недавно отправленного в фоновый режим с помощью 'foo & FOO_PID = $!' –