junit jupiter run configuration - java

I'm learn java, and now i have a mistake: cannot find class 'org.junit.platform.commons.annotation.testable' on project build path
I don't understand what i'm doing wrong. in other projects junit work successful
My project explorer ProjectExplorer
I'm tryed to add junit in build path, change test runner to Junit4 and add other version of Junit in dependency, but it did not working to me.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<exec.version>3.0.0</exec.version>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<maven-surefire-plugin.version>3.0.0-M3</maven-surefire-plugin.version>
<junit.version>5.7.0</junit.version>
<junit-platform-surefire-provider.version>1.3.2</junit-platform-surefire-provider.version>
<!-- some other things -->
</properties>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec.version}</version>
</dependency> <!-- Test dependency -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${junit-platform-surefire-provider.version}</version>
</dependency>
<!-- some other dependency -->
<!-- Logger dependency -->
<!-- Services dependency -->
</dependencies>
<build>
<sourceDirectory>/src/main/java </sourceDirectory>
<testSourceDirectory>/src/test/java </testSourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId> org.apache.maven.plugins </groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<trimStackTrace>false</trimStackTrace>
<includes>
<include>**\testWindowLogin.java</include>
</includes>
</configuration>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${junit-platform-surefire-provider.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

so. i can say that i fix it.
first: my IDE -- Eclipse version 4.19; Maven version 3.6.3, java version 11.0.10
second. simple import project from git didn't work in. For fix I import to local repository and then did import to IDE as maven project.
thanks for help

Related

How to define and use the ${project.basedir} using maven?

I am trying to better understand how to resolve relative paths in maven. I have seen here "Resolving Relative Paths." that is a good practice to use the project.getBasedir() to get paths.
Initially I thought I did not have to set, so I created a maven project created a TestClass.java and tested the following:
In TestClass.java
System.out.println(project.getBaseDir());
System.out.println(project.getBaseDir()+"/folder1/folder2");
This generated me the error: Cannot resolve symbol 'project'.
So I thought I must modify my pom, but how to modify my pom?
Also, what is the best practice to concatenate paths in maven how could one improve this project.getBaseDir()+"/folder1/folder2"?
Below is my POM:
<?xml version="1.0" encoding="UTF-8"?>
<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>com.moga</groupId>
<artifactId>capacityplan</artifactId>
<version>1.0-SNAPSHOT</version>
<name>capacityplan</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- <maven.compiler.source>1.7</maven.compiler.source> -->
<!-- <maven.compiler.target>1.7</maven.compiler.target> -->
<maven.compiler.release>15</maven.compiler.release>
</properties>
<dependencies>
<!-- TODO:Remove Junit4-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.2</version>
<scope>test</scope>
</dependency>
<!-- Start as per Junit5 Doc https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven-engines-configure-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.7.2</version>
<scope>test</scope>
</dependency>
<!-- End -->
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.7.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.moga</groupId>
<artifactId>genetic</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<!-- <sourceDirectory>${basedir}/src/main/java</sourceDirectory>-->
<!-- <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>-->
<!-- <outputDirectory>${basedir}/target/classes</outputDirectory>-->
<!-- <testOutputDirectory>${basedir}/target/test-classes</testOutputDirectory>-->
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- Define Main class, see https://www.baeldung.com/maven-java-main-method -->
<plugin>
<groupId>com.moga</groupId>
<artifactId>capacityplan</artifactId>
<version>1.0-SNAPSHOT</version>
<configuration>
<mainClass>com.moga.planning.nsga2.RunCapacityPlanning</mainClass>
</configuration>
</plugin>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<!-- As per Junit5 Doc https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven-engines-configure-->
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.2</version>
</plugin>
<!-- End Junit5-->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

failsafe plugin does not pick the test classes even though I have the correct naming convention *IT.java

I have searched on the internet as well, but I could not find the exact problem that I am having.
TO explain what I am doing, I am writing selenium UI tests. I am trying to execute the test using the failsafe plugin. I am executing the maven command mvn clean verify but it does not execute any of my test classes.
However, my test classes are getting executed when I change my test class to *Test.java
I suspect that my project does not use failsafe instead uses surefire. I am posting my pom file, project structure and the build output.
POM File
<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>webproject</groupId>
<artifactId>webproject</artifactId>
<version>1.0-SNAPSHOT</version>
<name>webproject</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.13.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<!--see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging-->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng/SampleSuiteIT.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
You have to move the maven-failsafe-plugin configuration out of <pluginManagement>..</pluginManagement>

Eclipse fails to build maven multi-module project

I'm trying to build a multi-module maven project in Eclipse, however, I get 8670 Java Problems in Eclipse Oxygen. My project has one parent project with its pom.xml that has the following secion declaring sub-modules:
<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>org.neo4j</groupId>
<artifactId>graph-algorithms-parent</artifactId>
<version>3.3.2.0</version>
<packaging>pom</packaging>
<name>Neo4j Graph Algorithms</name>
<description>Efficient Graph Algorithms for Neo4j</description>
<profiles>
<profile>
<id>Benchmark</id>
<modules>
<module>benchmark</module>
</modules>
</profile>
</profiles>
<modules>
<module>core</module>
<module>algo</module>
<module>tests</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<neo4j.version>3.3.1</neo4j.version>
<jmh.version>1.19</jmh.version>
<javac.target>1.8</javac.target>
</properties>
<organization>
<name>Neo4j, Inc.</name>
<url>https://neo4j.com</url>
</organization>
<developers>
<developer>
<id>neo-technology</id>
<organization>Neo4j, Inc.</organization>
<url>https://neo4j.com</url>
</developer>
<developer>
<id>avgl</id>
<organization>Avantgarde Labs GmbH</organization>
<url>https://avantgarde-labs.de</url>
</developer>
</developers>
<url>https://github.com/neo4j-contrib/neo4j-graph-algorithms</url>
<scm>
<url>https://github.com/neo4j-contrib/neo4j-graph-algorithms</url>
</scm>
<licenses>
<license>
<name>GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007</name>
<url>https://www.gnu.org/licenses/gpl.txt</url>
<comments>
Note that this license is for the project itself, and not for its dependencies.
See the included NOTICE.txt file for further details.
</comments>
<distribution>repo</distribution>
</license>
</licenses>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>${neo4j.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-kernel</artifactId>
<version>${neo4j.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-io</artifactId>
<version>${neo4j.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.biville.florent</groupId>
<artifactId>neo4j-sproc-compiler</artifactId>
<version>1.2</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<!-- Benchmark Dependencies -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<scope>provided</scope>
</dependency>
<!-- Test Dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<!-- Neo4j Procedures require Java 8 -->
<compilerVersion>${javac.target}</compilerVersion>
<source>${javac.target}</source>
<target>${javac.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>1.5.3</version>
<inherited>false</inherited>
<executions>
<execution>
<id>generate-docs</id>
<phase>package</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
</execution>
</executions>
<configuration>
<backend>html5</backend>
<!--preserveDirectories>true</preserveDirectories -->
<imagesDir>images</imagesDir>
<sourceDirectory>${basedir}/doc</sourceDirectory>
<sourceDocumentName>index.adoc</sourceDocumentName>
<outputDirectory>${basedir}/target/docs</outputDirectory>
<attributes>
<neo4j-version>${project.version}</neo4j-version>
</attributes>
<requires>
<require>asciidoctor-diagram</require>
</requires>
<source-highlighter>coderay</source-highlighter>
<coderay-css>style</coderay-css>
</configuration>
<dependencies>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-diagram</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.mycila.maven-license-plugin</groupId>
<artifactId>maven-license-plugin</artifactId>
<version>1.10.b1</version>
<configuration>
<header>gplv3-header.txt</header>
<strictCheck>true</strictCheck>
<failIfMissing>true</failIfMissing>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
Then I have the 4 sub-modules benchmark, core, algo, tests with their own pom.xml all referencing the parent project correctly (with the correct version number). The actual project is from neo4j which you can find here.
I tried doing a maven clean install and the project builds successfully without any issues. However, when I import the projects to Eclipse, I get many errors (mostly from the parent project) that states either ... cannot be resolved to a type or ... cannot be resolved.
I tried doing a Maven -> Update Project without any success. I'm in the Project Explorer view in Eclipse with all 5 projects at the same level.
I also tried adding a Active Maven Profiles in Eclipse, however, did not resolve the issue. My Embedded Maven version is 3.3.9/1.8.2.20171007-0216
I found the issue. Problem was, my Eclipse workspace was the directory called workspace. However, my maven projects were in a subfolder I created called my_project. When I cloned the repo, I cd into my_project and did git clone.
So, instead of choosing the highest level workspace folder as my Eclipse workspace, I chose the /workspace/my_project as workspace and the issue resolved.

How to get Maven report in html format?

i have a maven project with eclipse with some selenium tests.
I can run them in command line and i got the report in my target folder in txt and xml format.
But i want the report in html format.
Whatt should i add in my POM file.
Thank you very much.
Here is my POM.xml
....
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.44.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.3</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
See this question, as the 2nd answer points out, you should be able to use the Maven Surefire Report plugin.
"The Surefire Report Plugin parses the generated TEST-*.xml files under ${basedir}/target/surefire-reports and renders them using DOXIA, which creates the web interface version of the test results."
Here is the XML to configure it:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.18</version>
</plugin>
</plugins>
</reporting>
Either of the following commands will invoke it:
mvn site
mvn surefire-report:report

Maven failing to run Junit Tests on mvn -test

I have some Selenium Webdriver tests that I'd like to run from command line using mvn -test. Problem is that I can clean, build and compile with no issues but no tests run. I get no message relating to test such as "There are no tests to run."
My junit tests are following the *test class naming convention.
I have compared my POM with another project that runs tests no problem and it is identical, bar the project name and location. The project which works is under my User directory but the one that doesn't is directly underneath c:\
I'm not proficient enough to be able to debug this with mn -x yet so any help much appreciated. Here is my POM:
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
<groupId>websiteRegression</groupId>
<artifactId>websiteRegression</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>websiteRegression</name>
<url></url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- Full access to hamcrest matchers
see https://github.com/hamcrest/JavaHamcrest
you can add hamcrest-core for the foundation matchers
and you can add hamcrest-library for more extensive libraries
or you can add hamcrest-all for everything if you don't want to think about it
-->
<!-- Junit 4.11 needs hamcrest 1.3 -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!-- if we use junit-dep then we can bring in the full hamcrest -->
<!-- JUnit 4.10 depends on hamcrest 1.1 -->
<!--
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit-dep</artifactId>
<version>4.10</version>
</dependency>
-->
<!-- Use JUnit as our test framework -->
<!-- this gives us basic hamcrest -->
<!-- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency> -->
<!-- if I want to use a version of hamcrest above 1.1 with 4.10 then I need an exclusion -->
<!--
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit-dep</artifactId>
<version>4.10</version>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
-->
<dependency>
<!-- bring in the full selenium deploy
we could be more selective and bring
only what we need -->
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.39.0</version>
</dependency>
<dependency>
<groupId>com.opera</groupId>
<artifactId>operadriver</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
<!-- I have added the build section to support importing into
IntelliJ automatically without throwing errors about wrong Java
Version. This basically says the source requires at least Java 1.7
and use a compiler that outputs Java 1.7 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>anyBrowserTests</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14.1</version>
<configuration>
<includes>
<include>**/AllBrowserSuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>firefoxTests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/AllBrowserSuiteTest.class</include>
<include>**/FailOnChromeAndOperaAndIESuiteTest.class</include>
<include>**/FailOnChromeAndOperaSuiteTest.class</include>
<include>**/FailOnOperaSuiteTest.class</include>
<include>**/FireFoxOnlySuiteTest.class</include>
<include>**/FailOnIEOnlySuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>ieTests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/AllBrowserSuiteTest.class</include>
<include>**/FailOnChromeAndOperaSuiteTest.class</include>
<include>**/FailOnOperaSuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>chromeTests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/AllBrowserSuiteTest.class</include>
<include>**/FailOnOperaSuiteTest.class</include>
<include>**/FailOnIEOnlySuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>operaTests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/AllBrowserSuiteTest.class</include>
<include>**/FailOnIEOnlySuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>failingOperaTests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/FailOnChromeAndOperaAndIESuiteTest.class</include>
<include>**/FailOnChromeAndOperaSuiteTest.class</include>
<include>**/FailOnOperaSuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>failingIETests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/FailOnChromeAndOperaAndIESuiteTest.class</include>
<include>**/FailOnIEOnlySuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>failingChromeTests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<includes>
<include>**/FailOnChromeAndOperaAndIESuiteTest.class</include>
<include>**/FailOnChromeAndOperaSuiteTest.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.16</version>
</plugin>
</plugins>
</reporting>
EDIT: Ok, I found it was a problem with Profiles - fixed!
EDIT: Ok, I found it was a problem with Profiles - fixed!

Categories