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

Программирование на Python для тестировщиков
онлайн, начало 18 октября
Логи как инструмент тестировщика
онлайн, начало 21 октября
Тестирование REST API
онлайн, начало 21 октября
Организация автоматизированного тестирования
онлайн, начало 18 октября

Catchermax

Регистрация: 27 авг 2017
Offline Активность: Вчера, 12:53
-----

Мои темы

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

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'
}
}

 

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


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