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

Selenide Allure JAXBException Error while marshaling testSuite

Теги: #<Tag:0x00007f748a877548> #<Tag:0x00007f748a877458> #<Tag:0x00007f748a877318> #<Tag:0x00007f748a877228> #<Tag:0x00007f748a877138>

Здравствуйте.
Пишу тесты на selenide, для web сайта.

Нашёл примеры Example Selenide на github, и взял большую часть там.
К проекту подключены библиотеки allure, отчёты формируются, всё нормально,
но в логах раздражают ошибки (см. ниже)
Вроде не результат они не как не влияют, но может кто то подскажет как от них избавится?

ЛОГ ошибок:

[main] ERROR ru.yandex.qatools.allure.utils.AllureResultsUtils  - Error while marshaling testSuite
ru.yandex.qatools.allure.exceptions.AllureException: Can't create marshaller for class class ru.yandex.qatools.allure.model.TestSuiteResult

Caused by: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]

Я понимаю, что ClassNotFoundException означает, что нехватает какого то класса, номне вроде и не нужна эта библиотека для моих тестов. Или это какая то проблема зависимостей пакетов?
Тогда может подскажите , какие пакеты мне добавить?
pom.xml

  <properties>
  		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  		
 		<maven.compiler.target>13</maven.compiler.target>
                <maven.compiler.source>13</maven.compiler.source>
        
 	  	<allure-testng.version>2.13.1</allure-testng.version>
	  	<maven-surefire-plugin.version>3.0.0-M4</maven-surefire-plugin.version>	
	  	<aspectj.version>1.9.5</aspectj.version> 
	  	<allure.version>1.5.4</allure.version>
  </properties>
  
   
  <dependencies>
     
        <dependency>
	      <groupId>com.codeborne</groupId>
	      <artifactId>selenide</artifactId>
	      <version>5.9.0</version>
	      <scope>compile</scope>
    	</dependency>
    
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.0.0</version>
            <scope>compile</scope>
        </dependency>
        
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
			<version>3.141.59</version>
	
		</dependency>
  
      <dependency>
            <groupId>com.relevantcodes</groupId>
            <artifactId>extentreports</artifactId>
            <version>2.41.2</version>
        </dependency>


       <!-- Allure -->
         
        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-testng-adaptor</artifactId>
            <version>${allure.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
 
 		<dependency>
		     <groupId>io.qameta.allure</groupId>
		     <artifactId>allure-testng</artifactId>
		     <version>2.13.1</version>
	    </dependency>
          
       <dependency>
            <groupId>ru.yandex.qatools.ashot</groupId>
            <artifactId>ashot</artifactId>
            <version>1.5.4</version>
        </dependency>
 
		 <!-- log4j Loggger -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        
	   <dependency>
	       <groupId>org.slf4j</groupId>
	       <artifactId>slf4j-api</artifactId>
	       <version>1.7.30</version>
	   </dependency>
	   
	   
	    <dependency>
	        <groupId>org.slf4j</groupId>
	        <artifactId>slf4j-log4j12</artifactId>
	        <version>1.7.30</version>
        </dependency>
     
			
 </dependencies>
 

<build>
   <finalName>trytosolve</finalName>
   <defaultGoal>clean install</defaultGoal>
   
   
    <sourceDirectory> src/main/java</sourceDirectory>
    <testSourceDirectory> src/test/java</testSourceDirectory>
        <resources>
             <resource>
                  <directory>resources</directory>
             </resource>
        </resources>    
        
        
  <plugins>
 
            <plugin>
                <!-- Build an executable JAR -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>13</source>
                    <target>13</target>
                </configuration>
            </plugin>
            
      
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
				<configuration>
				<!-- 	<forkCount>3</forkCount>  -->
                    <suiteXmlFiles>
                        <suiteXmlFile>FastTest.xml</suiteXmlFile> 
                    </suiteXmlFiles>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                    </argLine>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
      
  </plugins>
  
</build>
</project>

Удалить dependency

И попробуйте сначала версию

                    <source>1.8</source>
                    <target>1.8</target>

Или вы что-то уже из 13 используете? т.к. javax.xml.bind.JAXBException может быть выпилен в 13 версии.

<artifactId>allure-testng-adaptor</artifactId> - это вообще зачем?
это для этого

import ru.yandex.qatools.allure.annotations.Title;
        @Title("Тест такой то сущности")
	@Description("делается то то с такими то особенностями")
	@Test(priority = 2, dependsOnMethods = { "userCanLoginByUsername" })
	public void TEST001(){ 
..........
}

<artifactId>selenium-java</artifactId
Это тоже кое что использует из пакета. Может конфликтовать?

Не получается нифика под 1.8 скомпилировать, хотя вот, настраивал

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

<artifactId>allure-testng</artifactId> - этого достаточно должно быть, второй не нужен, да ещё и такой старой версии. Переделывайте все импорты на io.qameta.allure.
<artifactId>selenium-java</artifactId - надо использовать то что есть в селениде, в нём даже есть селениум.
И надо установить JDK 8 а не JRE

1 Симпатия

JDK 1.8 помог, зависимости не удалял!
спасибо! Вопрос решён!

PS
вот я конечно тупанул с JRE…