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

Selenium IDE 3: стартовый уровень
онлайн, начало 17 января
Комплексная система подготовки к сертификации ISTQB FL (КСП ISTQB)
онлайн, начало 20 января
Логи как инструмент тестировщика
онлайн, начало 20 января
Автоматизатор мобильных приложений
онлайн, начало 20 января
Фотография

Запуск тестов через командную строку 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
  • 660 сообщений


Отправлено 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 анонимных

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