Перейти к содержимому

Школа для начинающих тестировщиков
онлайн, начало 14 ноября
Тестирование REST API
онлайн, начало 18 ноября
Python для начинающих
онлайн, начало 13 ноября
Selenium WebDriver: полное руководство
онлайн, начало 15 ноября
Фотография

Запуск тестов через командную строку kotlin + gradle + cucumber


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Максим

Отправлено 10 Октябрь 2019 - 09:32

Добрый день всем, у меня вопрос по запуску тестов из командной строки, стек kotlin + gradle + cucumber + testng + selenide. Руками могу запустить класс ранера, тесты отрабатывают и создается отчет. Как правильно создать в грэдле задачу для запуска тестов, и передавать туда параметры, такие как тэги cucumber и запуск в headless режиме?

Мой раннер выглядит так

 

 

import io.cucumber.testng.CucumberOptions

import io.cucumber.testng.AbstractTestNGCucumberTests

 

@CucumberOptions(

    features = arrayOf("classpath:features"),

    glue = arrayOf("steps"),

    plugin = arrayOf(

        "pretty",

        "json:target/cucumber-report.json",

        "html:target/cucumber-html",

        "io.qameta.allure.cucumber4jvm.AllureCucumber4Jvm"),

    tags = arrayOf("@Now")

)

class TestRunner : AbstractTestNGCucumberTests()

 
Грэдл у меня выглядит так

 

plugins {
id 'org.jetbrains.kotlin.jvm' version '1.3.50'
id "org.openapi.generator" version '4.1.2'
id 'io.qameta.allure' version '2.8.1'
}

group 'project'
version '1.0-SNAPSHOT'

targetCompatibility = 1.8
sourceCompatibility = 1.8

repositories {
mavenLocal()
mavenCentral()
jcenter()
}

ext {
selenideVersion = '5.3.1'
cucumberversion = '4.7.4'
}

dependencies {
testCompile 'io.cucumber:cucumber-java:4.7.4'
testCompile 'io.qameta.allure:allure-cucumber4-jvm:2.13.0'
testCompile group: 'io.qameta.allure', name: 'allure-selenide', version: '2.13.0'
testCompile 'junit:junit:4.12'
testCompile group: 'org.testng', name: 'testng', version: '7.0.0'
testCompile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.28'

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "com.codeborne:selenide:${selenideVersion}"
implementation 'org.jtwig:jtwig-core:5.87.0.RELEASE'
implementation 'com.google.code.gson:gson:2.8.5'
implementation "io.gsonfire:gson-fire:1.8.3"
implementation 'com.squareup.okhttp3:okhttp:3.14.2'
implementation "com.squareup.okhttp3:logging-interceptor:3.14.2"
implementation 'io.swagger:swagger-annotations:1.5.22'
implementation "com.google.code.findbugs:jsr305:3.0.2"
implementation "org.apache.commons:commons-lang3:3.9"
implementation "org.threeten:threetenbp:1.3.8"
implementation "javax.annotation:jsr250-api:1.0"

testImplementation "io.cucumber:cucumber-java8:${cucumberversion}"
testImplementation "io.cucumber:cucumber-testng:${cucumberversion}"
}

openApiGenerate {
generatorName = "java"
inputSpec = "$projectDir/src/test/kotlin/helpers/api/apiSpec/api-v1.0.yaml".toString()
outputDir = "$projectDir".toString()
apiPackage = "kz.btsd.dm.smarttoi.autotestui.smarttoi-integration-tests.test.helpers.api.autogeneratorClient"
packageName = "kz.btsd.dm.smarttoi.autotestui.smarttoi-integration-tests.test.helpers.api.autogeneratorClient.controller"
invokerPackage = "kz.btsd.dm.smarttoi.autotestui.smarttoi-integration-tests.test.helpers.api.autogeneratorClient.invoker"
modelPackage = "kz.btsd.dm.smarttoi.autotestui.smarttoi-integration-tests.test.helpers.api.autogeneratorClient.dto"
validateSpec = true
configOptions = [
hideGenerationTimestamp: true,
dateLibrary : "java8"
]
}

compileKotlin {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '11'
apiVersion = '1.3'
languageVersion = '1.3'
}
}

compileTestKotlin {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '11'
apiVersion = '1.3'
languageVersion = '1.3'
}
tasks.openApiGenerate
}

allure {
autoconfigure = false
aspectjweaver = true
version = '2.8.1'
clean = true
}

gradle.startParameter.continueOnFailure = true

test {
systemProperties System.properties
useTestNG()
}

Во всех примерах запускают просто gradle test. Но у меня отрабатывает билд, но тесты не выполняются. Кто нибуть сталкивался с этим? Так же пробовал запустить создав файл xml 

 

 

 

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" >
<test name="Regression1" >
<packages>
<package name="cucumber.base" />
</packages>
</test>
</suite>

И указав в гредле 
 

 

 

test {
systemProperties System.properties
useTestNG() {
options.suites 'src/test/kotlin/cucumber/base/runner.xml'
}
}

 

что тоже не заработало. Буду рад любой помощи


  • 0

#2 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Максим

Отправлено 11 Октябрь 2019 - 03:58

Нашел пример который поможет воспроизвести проблему.
1) Клонировать/скачать проект https://github.com/s...Testng-Template

2) Запустить в терминале ./gradlew test

Этот пример в точности повторяет мою проблему, при этом что интересно если запустить через мавен "mvn test", то отрабатывает как надо.


  • 0

#3 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 638 сообщений


Отправлено 11 Октябрь 2019 - 07:29

Раз вы используете кукумбер, то и запускать его надо в первую очередь.

https://cucumber.io/...ls/java/#gradle - 5 пункта у вас не вижу.

И запуск на выполнение gradle cucumber

Ну и не говоря о том что надо начать с https://cucumber.io/...inute-tutorial/


  • 0

#4 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Максим

Отправлено 11 Октябрь 2019 - 07:48

Решение найдено подсказали правильную конфигурацию для test

 

 

test {

    useTestNG()

    systemProperties System.properties

    dependsOn 'cleanTest'

    scanForTestClasses = false

}


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале