Дык если ниодной версии не установлено, то нужно установить. Гугл в помощь
Привет,
Там в последних версиях сделано существенное изменение - введено понятие бандлов. Проблема, с которой мы столкнулись, когда CLI всегда скачивал зависимости - это то, что у многих пользователей (в особенности из Индии ) либо нет постоянного подключения к Интернету, либо оно идет через прокси. Это создает множество проблем. Теперь это работает так:
- То, что раньше скачивалось автоматически теперь называется bundle (это вроде бы просто jar или zip, я не помню точно). На каждую версию отчета - свой bundle, содержащий логику генерации отчета.
- Нужно явно вызвать команду для установки бандла для каждой нужно версии. В простейшем случае это делается командой:
$ allure upgrade
. Эта команда сама скачивает бандл с Интернета. Если у вас нет Интернета, то бандл нужно положить руками в определенную папку в домашнем каталоге (поизучайте ~/.allure/). - Если в системе есть несколько бандлов, то можно переключаться между ними, чтобы команда
$ allure generate
по-умолчанию (без флага -v) использовала текущий выбранный бандл. Это делается командой$ allure switch
.
В итоге решение такое - сделать $ allure upgrade
, а потом $ allure generate
.
Ну эта ошибка ушла, это уже хорошо - теперь появилась другая
Exception in thread "main" ru.yandex.qatools.allure.data.ReportGenerationExcepti
on: Could not find any allure results
at ru.yandex.qatools.allure.data.AllureReportGenerator.generate(AllureRe
portGenerator.java:58)
at ru.yandex.qatools.allure.data.AllureReportGenerator.generate(AllureRe
portGenerator.java:53)
at ru.yandex.qatools.allure.AllureMain.main(AllureMain.java:48)
←[0;31mERROR: ←[mCommand aborted due to exception org.apache.commons.exec.Execut
eException: Process exited with an error: 1 (Exit value: 1).
Пробовал в разных сочетаниях…сама xml есть…Но тут уже боюсь даже Ваня, не поможет. А у вас сработало @heartwilltell
Таже фигня
Судя по xml, версия тянется правильная
ns2:test-suite start="1440756132896" stop="1440756149538" version="1.4.17" xmlns:ns2="urn:model.allure.qatools.yandex.ru">
я забил и даунгрейднулся на 2.3
Работает с ним?
Решил проблему и с 2.4
Достаточно было сделать allure upgrade - он подкачает бандл.
У меня проблема возникала в том что я выполняю команду прямо из папки где лежит xml, а ее выполнять нужно из каталога где лежит папка с xml указав к ней путь
cd /путь к вашему проекту/build
allure report generate allure-results -o reports/allure-report
Да с 2.4 мне тоже upgrade помог, а там получается, что то с путями у меня тоже - сейчас поэкспериментирую
То есть allure-cli должен лежать в папке /build? Я правильно понял?
Тоже заработало. Можно закрыть тему.
нет, allure cli у вас может лежать где угодно, unix way конечно это куда-то в /opt положить и сделать софт линк бинарника в /usr/bin
Это всего лишь вызов утилиты которая генерит отчет из xml
После прохождения тестов, ваш алюр адаптор должен генерить вам xml файлик, который эта утилита и превращает в отчет.
То куда этот xml у вас генерится зависит от того как вы настроили свой build.gradle
должен выглядить примерно так:
plugins {
id "java"
}
group 'com.project'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
configurations {
agent
}
ext {
aspectjVersion="1.8.6"
allureVersion="1.4.17"
}
dependencies {
... Ваши зависимости
compile "ru.yandex.qatools.allure:allure-report-data:${allureVersion}"
compile "ru.yandex.qatools.allure:allure-testng-adaptor:${allureVersion}"
agent "org.aspectj:aspectjweaver:${aspectjVersion}"
}
test.doFirst {
jvmArgs "-javaagent:${configurations.agent.singleFile}"
}
test {
useTestNG() {
suiteXmlFiles << new File(rootDir, "testng.xml")
}
systemProperties = System.properties
}
и в src/test/resources нужно положить файл allure.properties с содержанием:
allure.results.directory=build/allure-results
Путь указывайте какой вам нужен
Потом после тестов, как получите xml
cd /путь к вашему проекту/build
allure report generate allure-results -o reports/allure-report
Да нет - из консоли и у меня заработало. Я хочу что бы Gradle сам генерил и открывал отчет (для мануальщиков)
но пока
task generateAllureReport(type: Exec) {
commandLine "allure-cli\\bin\\allure report generate build\\allure-results -o build\\reports\\allure"
}
test.finalizedBy(generateAllureReport)
task openAllureReport(type: Exec) {
commandLine "allure report open -o build\\reports\\allure"
}
:generateAllureReport FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':generateAllureReport'.
> A problem occurred starting process 'command 'allure-cli\bin\allure report gen
erate build\allure-results -o build\reports\allure''
ну тогда не знаю, как не знаю и того - зачем так осложнять себе жизнь, проще научить обезьянку зайти в папку и кликнуть 2 раза мышкой на index.html
Возможно, но такая задача мне поставлена. Там даже потом может и кликать никто не будет. Есть ведь CI.
Доброго времени суток, а вы решили проблему?
A problem occurred starting process ‘command ‘allure-cli\bin\allure report gen
erate build\allure-results -o build\reports\allure’’
У меня такая же проблема сейчас…
Доброго времени суток) Интересует тот же вопрос, нашли решение проблемы?
upd. Нашел решение проблемы) Может кому еще нужно будет.
task generateAllureReport(type: Exec) {
commandLine "allure", "generate build/allure-results"
}
Также сделал
вообще есть отличный плагин которй умеет работать с Allure GitHub - d10xa/gradle-allure-plugin: Gradle plugin generating Allure report from test results