t.me/atinfo_chat Telegram группа по автоматизации тестирования

Allure @Step не появляются в allure report (Selenide + TestNG + Gradle + Allure)

gradle
infrastructure
reporting
allure
java
testng
Теги: #<Tag:0x00007f9c5c8364e0> #<Tag:0x00007f9c5c8363a0> #<Tag:0x00007f9c5c836008> #<Tag:0x00007f9c5c835e50> #<Tag:0x00007f9c5c835cc0> #<Tag:0x00007f9c5c835b80>

(Dmytro Sydorenko) #1

Доброго времени суток! Помогите решить следующую проблему:
Тест запускаю через команду ./gradlew luma_magento_ui:test
Отчет успешно формируется, но не отображаются Step в тест кейсе.

    @Step("registration user")
    public Response registerNewUser(Customer customer) {
        return setup()
                .body(customer)
                .when()
                .post("/rest/V1/customers");
    }

build.gradle

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "io.franzbecker:gradle-lombok:2.1"
        classpath "io.qameta.allure:allure-gradle:2.5"

    }

}

subprojects {
    apply plugin: 'java'
    apply plugin: 'io.franzbecker.gradle-lombok'
    apply plugin: 'io.qameta.allure'

    test{
        useTestNG()
    }

    allure {
        version = '2.7.0'
        configuration = 'compile'
    }
    repositories {
        jcenter()
    }
    dependencies{
        compile group: 'io.qameta.allure', name: 'allure-testng', version: '2.12.1'
        compile group: 'org.testng', name: 'testng', version: '6.14.3'
    }


(Сергей Слётов) #2

Можно ссылку на отчёт
или
Скриншот с открытым тестом из отчёта?

И
https://docs.qameta.io/allure/#_testng
у вас для gradle все прописано как в документации?


(Ivan V) #3

aspectjweaver не хватает


(Dmytro Sydorenko) #4

Прописал как в документациии:

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "io.franzbecker:gradle-lombok:2.1"
        classpath "io.qameta.allure:allure-gradle:2.5"

    }

}

subprojects {
    apply plugin: 'java'
    apply plugin: 'io.franzbecker.gradle-lombok'
    apply plugin: 'io.qameta.allure'

    test{
        useTestNG()
    }

    allure {
        version = '2.7.0'
        autoconfigure = true
        aspectjweaver = true
        allureJavaVersion = '2.12.1'
    }
    repositories {
        jcenter()
    }
    dependencies{
        compile group: 'io.qameta.allure', name: 'allure-testng', version: '2.12.1'
        compile group: 'org.testng', name: 'testng', version: '6.14.3'
    }


}

но теперь тесты вообще не запускаются через gradle

org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not complete execution for Gradle Test Executor 8.
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:63)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:131)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.testng.TestNGException: 
Cannot instantiate class com.smarterspecies.magento2.ui.tests.LoginTest
	at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:30)
	at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:423)
	at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:336)
	at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:125)
	at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:190)
	at org.testng.TestClass.getInstances(TestClass.java:95)
	at org.testng.TestClass.initTestClassesAndInstances(TestClass.java:81)
	at org.testng.TestClass.init(TestClass.java:73)
	at org.testng.TestClass.<init>(TestClass.java:38)
	at org.testng.TestRunner.initMethods(TestRunner.java:389)
	at org.testng.TestRunner.init(TestRunner.java:271)
	at org.testng.TestRunner.init(TestRunner.java:241)
	at org.testng.TestRunner.<init>(TestRunner.java:167)
	at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:663)
	at org.testng.SuiteRunner.init(SuiteRunner.java:260)
	at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
	at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
	at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
	at org.testng.TestNG.runSuites(TestNG.java:1049)
	at org.testng.TestNG.run(TestNG.java:1017)
	at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.runTests(TestNGTestClassProcessor.java:139)
	at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.stop(TestNGTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	... 25 more
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:24)
	... 48 more
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 53
Exception Details:
  Location:
    com/smarterspecies/magento2/api/services/UserApiService.registerNewUser(Lcom/smarterspecies/magento2/api/payload/Customer;)Lio/restassured/response/Response; @12: invokestatic
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0000000: 2b4e b200 332a 2a2d b800 394d b800 3f2c
    0000010: b600 432a b600 022b b900 0302 00b9 0004
    0000020: 0100 1205 03bd 0006 b900 0703 00c0 0008
    0000030: 3a05 a700 103a 04b8 003f 1904 b600 4719
    0000040: 04bf b800 3fb6 004a 1905 b0            
  Exception Handler Table:
    bci [12, 53] => handler: 53

	at com.smarterspecies.magento2.ui.tests.LoginTest.<init>(LoginTest.java:16)
	... 53 more


(Dmytro Sydorenko) #5

Не помогло


(Сергей Слётов) #6

Смотрю проект на гитхаб и не вижу такого класса


(Dmytro Sydorenko) #7

Запушил


(Сергей Слётов) #8

Надо посмотреть проект на личном ПК, на рабочем нет возможности.

Возьмусь посмотреть, когда появится время.

Если раньше сами не решите проблему или кто-нибудь не поможет.


(Сергей Слётов) #9

Вы решили проблему?

Сам хочу начать использовать Gradle в атоматизации тестирования, и был бы признателен, если вы напишите как решили проблему.


(Олег) #10

А вы решили эту проблему?) Тоже в поиска ответа


(Dmytro Sydorenko) #11

Можете посмотреть как я решил тут - https://github.com/dissid/luma_magento


(Dmytro Sydorenko) #12

В проекте я использую два модуля - UI и API, в каждом из них находиться свой build.gradle и один build.gradle корневой. Общие настройки находятся в корневом build, а проблема была в том, что я не добавил блок test{} в build файл для этих модулей.