Запуск испытаний транспортира от Gradle - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь запустить задачу в Gradle, которая запускает тестовые файлы транспортира, но я не могу найти способ запустить ее только из Gradle, не запуская Selenium Server с пути к машине.Прямо сейчас я использую:

task startSelenium {
    println "Starting Selenium..."
    ant.exec(executable: 'webdriver-manager', spawn: true) {
        arg(value: 'start')
    }
}

//run protractor
task runProtractor(type: Exec, dependsOn: ':startSeleniumServer') {
    commandLine 'protractor', 'src/test/javascript/e2e/conf.js'
}

Но дело в том, что я запускаю локальный сервер и использую конфигурацию своего компьютера.Есть ли способ избежать использования этих командных вызовов и просто запустить сервер и запустить файл транспортира из проекта?

Спасибо!

1 Ответ

0 голосов
/ 30 мая 2018

Включает следующее содержимое в package.json, если нет этого файла, выполните npm init в папке проекта, чтобы создать его.

{
  "scripts": {
    "update-driver": "webdriver-manager update",
    "start-driver": "webdriver-manager start",
    "e2e": "protractor src/test/javascript/e2e/conf.js"
  },
  "dependencies": {
    "protractor": "^5.3.0",
  }
}

Измените сценарий Gradle следующим образом: (предположим, установлены JDK и Nodejsна машине)

task npmInstall(type: Exec) {
    commandLine 'npm', 'install'
}

task updateDriver(type: Exec, dependsOn: 'npmInstall') {
    commandLine 'npm', 'run update-driver'
}

task startDriver(type: Exec, dependsOn: 'updateDriver') {
    commandLine 'npm', 'run start-driver'
}

//run protractor
task runProtractor(type: Exec, dependsOn: ':startDriver') {
    commandLine 'npm', 'run e2e'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...