Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Генерация репорта Allure для non maven проекта

infrastructure
reporting
java
allure
Теги: #<Tag:0x00007fedbbffb5a8> #<Tag:0x00007fedbbffb440> #<Tag:0x00007fedbbffb288> #<Tag:0x00007fedbbffb058>

(Eugene) #1

У меня есть проект, запуск которого производится запуском jar файла( java -jar myTestProject.jar)

Пытаюсь внедрить Allure, но почему то все примеры, которые я встречал написаны для maven проектов.

Как мне использовать Allure в моем случае?
В просторах наткнулся на вот это https://stackoverflow.com/questions/39829097/can-allure-reports-be-implemented-with-testng-without-using-maven

Но как то все не информативно.

Помогите разобраться


(Yaroslav Pernerovskyy) #2
  1. А что именно вы делаете? Как пытаетесь?
  2. myTestProject.jar откуда берется? Почему нельзя запускать через mvn test или gradlew test?

(Eugene) #3

Проект билдится мавеном, в резултате получается джарник, далее я его отдельно запускаю.
Пробовал играться с настройками мавена, получаю пустой репорт. С дженкинсом та же история.
Пробовал по разному, вот последняя версия пома.

`<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>selenium.base</groupId>
	<artifactId>selenium</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>selenium</name>
	<packaging>jar</packaging>
	<properties>
		<aspectj.version>1.8.10</aspectj.version>
		<allure.version>1.4.16</allure.version>
		<surefire.plugin.version>2.19.1</surefire.plugin.version>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<allure.results.directory>
			${project.build.directory}/allure-results
		</allure.results.directory>
		<tms>
			https://github.com/allure-framework/allure-docs/issues/{}
		</tms>
		<issues.tracker>
			http://developer.admarvel.com/browse/{}
		</issues.tracker>
	</properties>

	<dependencies>
		<!--<dependency>-->
			<!--<groupId>io.qameta.allure</groupId>-->
			<!--<artifactId>allure-testng</artifactId>-->
			<!--<version>2.0-BETA8</version>-->
			<!--<scope>test</scope>-->
		<!--</dependency>-->
			<dependency>
				<groupId>ru.yandex.qatools.allure</groupId>
				<artifactId>allure-testng-adaptor</artifactId>
				<version>${allure.version}</version>
			</dependency>

		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-server</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-api</artifactId>
			<version>3.0.1</version>
		</dependency>
		<!--<dependency>-->
			<!--<groupId>org.seleniumhq.selenium</groupId>-->
			<!--<artifactId>selenium-firefox-driver</artifactId>-->
			<!--<version>3.4.0</version>-->
		<!--</dependency>-->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-ie-driver</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-htmlunit-driver</artifactId>
			<version>2.52.0</version>
		</dependency>

		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-chrome-driver</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>6.8.8</version>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.7</version>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>javax.mail-api</artifactId>
			<version>1.5.2</version>
		</dependency>
		<dependency>
			<groupId>com.jcraft</groupId>
			<artifactId>jsch</artifactId>
			<version>0.1.51</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.18</version>
		</dependency>
		<dependency>
			<groupId>org.fluttercode.datafactory</groupId>
			<artifactId>datafactory</artifactId>
			<version>0.8</version>
			<type>jar</type>
		</dependency>
		<dependency>
			<groupId>br.eti.kinoshita</groupId>
			<artifactId>testlink-java-api</artifactId>
			<version>1.9.8-1</version>
		</dependency>
		<dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
			<version>1.7.3</version>
		</dependency>
		<dependency>
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
			<version>1.4.01</version>
		</dependency>
		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>1.1</version>
		</dependency>
		<dependency>
			<groupId>com.thoughtworks.xstream</groupId>
			<artifactId>xstream</artifactId>
			<version>1.4.2</version>
		</dependency>
		<dependency>
			<groupId>org.sikuli</groupId>
			<artifactId>sikuli-api</artifactId>
			<version>1.2.0</version>
		</dependency>
		<dependency>
			<groupId>sax</groupId>
			<artifactId>sax</artifactId>
			<version>2.0.1</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>ru.yandex.qatools.allure</groupId>
				<artifactId>allure-maven-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<outputDirectory>${basedir}/target/allure-reports/</outputDirectory>
					<allureResultsDirectory>${basedir}/target/allure-results</allureResultsDirectory>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${surefire.plugin.version}</version>
				<configuration>
					<properties>
						<property>
							<name>usedefaultlisteners</name>
							<value>false</value>
						</property>
					</properties>
					<systemProperties>
						<property>
							<name>allure.results.directory</name>
							<value>${allure.results.directory}</value>
						</property>
						<property>
							<name>allure.link.issue.pattern</name>
							<value>${issues.tracker}</value>
						</property>
						<property>
							<name>allure.link.tms.pattern</name>
							<value>${tms}</value>
						</property>
					</systemProperties>
					<!--<suiteXmlFiles>-->
						<!--<suiteXmlFile>-->
							<!--src/main/resources/configFiles/OAC/testng.xml-->
						<!--</suiteXmlFile>-->
					<!--</suiteXmlFiles>-->
					<argLine>
						-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
					</argLine>
					<properties>
						<property>
							<name>listener</name>
							<value>ru.yandex.qatools.allure.testng.AllureTestListener</value>
						</property>
					</properties>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.aspectj</groupId>
						<artifactId>aspectjweaver</artifactId>
						<version>${aspectj.version}</version>
					</dependency>
				</dependencies>
			</plugin>

			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<classpathPrefix>lib/</classpathPrefix>
							<mainClass>com.opx.common.Starter</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.9</version>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>

						<configuration>
							<outputDirectory>${project.build.directory}/lib</outputDirectory>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.7</version>
				<executions>
					<execution>
						<id>copy-resources</id>
						<!-- here the phase you need -->
						<phase>validate</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${basedir}/target/</outputDirectory>
							<resources>
								<resource>
									<directory>src/main/resources/</directory>
								</resource>
							</resources>
							<!--<overWriteReleases>true</overWriteReleases>-->
							<!--<overWriteSnapshots>true</overWriteSnapshots>-->
							<!--<overWriteIfNewer>true</overWriteIfNewer>-->
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>


		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-dependency-plugin</artifactId>
										<versionRange>[2.0,)</versionRange>
										<goals>
											<goal>unpack</goal>
											<goal>copy-dependencies</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<reporting>
		<excludeDefaults>true</excludeDefaults>
		<plugins>
			<plugin>
				<groupId>ru.yandex.qatools.allure</groupId>
				<artifactId>allure-maven-plugin</artifactId>
				<configuration>
					<resultsDirectory>${project.build.directory}/allure-results</resultsDirectory>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

</project>


(Dmytro Serdiuk) #4

@eshaparenko Please take a look at my examples at https://github.com/extsoft/allure-docker-example. To allow Allure generates a report, you have to configure javaagent.


(Eugene) #5

помогите прикрутить листенер к тестнг


#6

http://testng.org/doc/documentation-main.html#testng-listeners


(Artem Eroshenko) #7

Ты уже написал в чатик наш, но я еще тут продублирую. Я сделал тебе репозиторий в котором все работает:

Отличие от твоего в нескольких местах:

  1. Используется только io.qameta.allure:allure-testng, старые адаптеры нужно выкинуть.
  2. Я добавил секцию с копированием aspectjweaver вот здесь
  3. surefire плагин можно выкинуть совсем

(Eugene) #8

Спасибо Вам огромное