Before starting creating Selenium Maven Project in Eclipse IDE, install
maven on your eclipse. to install Maven on Eclipse follow this previous
post "Installation of Maven in Eclipse".
To create a Selenium Maven project :
1. Click on “File” and navigate through “New – Other”
2. Select “Maven Project” and click on “Next”
3. Select ‘Create a simple project’ check box and click
“Next”
4. Add the “Group Id”, “Artifact Id” and click the
“Finish” button
5. Structure of the project looks as shown in the below image
6. In the maven project, we use POM file to add the required
dependencies instead of downloading and adding jars to “Build Path”.
Double click on pom.xml file and click on pom.xml tab
7. We need to add basic dependencies for selenium project , those are
Selenium WebDriver & TestNG in our Maven Project.
Selenium Dependency:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
TestNg Dependency:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.13.6</version>
</dependency>
8. Select newly created project and click on Class file and enter name
as “Example”
9. Copy the below code and place it in your “Example” class
package project;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class Example {
public WebDriver driver;
@Test
public void openMyBlog() {
driver.get("https://mahantesh-hadimani.blogspot.com/");
}
@BeforeClass
public void beforeClass() {
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
driver = new ChromeDriver();
}
@AfterClass
public void afterClass() {
driver.quit();
}
}
10. Right click on your Example class and click on
generate testng.xml file.
11. Click on "Finish"Button on "Generate testng.xml" panel
12. testng.xml file looks like below. Copy and place it in your
testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="Test">
<classes>
<class name="project.Example"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
13. To run the project using testng.xml, right click on
‘testng.xml’ file and go to Run As – TestNG Suite
14. TestNg Result
14. To run the project using pom.xml, we need to add some more entries
in the pom.xml file. We need to add ‘maven-compiler-plugin’ and
‘maven-surefire-plugin’
<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>maven</groupId>
<artifactId>project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.13.6</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</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>2.20</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
<!-- <suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile> -->
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
15. To run the project using pom.xml, right click on ‘pom.xml‘ file and
go to ‘Run As‘ – ‘Maven test‘
Result:
16. Complete Logs:
[INFO] Scanning for projects...
[INFO]
[INFO]
------------------------------------------------------------------------
[INFO] Building project 0.0.1-SNAPSHOT
[INFO]
------------------------------------------------------------------------
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.20/maven-surefire-plugin-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.20/maven-surefire-plugin-2.20.pom
(7 KB at 2.6 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.20/surefire-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/2.20/surefire-2.20.pom
(21 KB at 22.3 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/26/maven-parent-26.pom
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @
project ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @
project ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding
Cp1252, i.e. build is platform dependent!
[INFO] Compiling 1 source file to
C:\Users\mahantesh.hadimani\eclipse-workspace\project\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources
(default-testResources) @ project ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:testCompile
(default-testCompile) @ project ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.20:test (default-test) @ project
---
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/2.20/maven-surefire-common-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/2.20/maven-surefire-common-2.20.pom
(10 KB at 15.4 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-annotations/3.3/maven-plugin-annotations-3.3.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-tools/3.3/maven-plugin-tools-3.3.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/24/maven-parent-24.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/apache/14/apache-14.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/2.20/surefire-api-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/2.20/surefire-api-2.20.pom
(4 KB at 6.2 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/2.20/surefire-logger-api-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/2.20/surefire-logger-api-2.20.pom
(2 KB at 3.2 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/2.20/surefire-booter-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/2.20/surefire-booter-2.20.pom
(4 KB at 5.4 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/16/maven-parent-16.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/apache/7/apache-7.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/22/commons-parent-22.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9.pom
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/2.20/maven-surefire-common-2.20.jar
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/2.20/maven-surefire-common-2.20.jar
(324 KB at 174.9 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/2.20/surefire-booter-2.20.jar
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/2.20/surefire-booter-2.20.jar
(49 KB at 83.5 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar
(308 KB at 346.3 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
(44 KB at 77.5 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/2.20/surefire-api-2.20.jar
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/2.20/surefire-api-2.20.jar
(179 KB at 198.3 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/2.20/surefire-logger-api-2.20.jar
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/2.20/surefire-logger-api-2.20.jar
(13 KB at 21.5 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-annotations/3.3/maven-plugin-annotations-3.3.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng/2.20/surefire-testng-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng/2.20/surefire-testng-2.20.pom
(3 KB at 4.0 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/2.20/surefire-providers-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/2.20/surefire-providers-2.20.pom
(3 KB at 4.4 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/2.20/common-java5-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/2.20/common-java5-2.20.pom
(3 KB at 4.5 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng-utils/2.20/surefire-testng-utils-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng-utils/2.20/surefire-testng-utils-2.20.pom
(3 KB at 5.1 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.20/surefire-grouper-2.20.pom
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.20/surefire-grouper-2.20.pom
(3 KB at 4.5 KB/sec)
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/2.20/common-java5-2.20.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng/2.20/surefire-testng-2.20.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng-utils/2.20/surefire-testng-utils-2.20.jar
[INFO] Downloading:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.20/surefire-grouper-2.20.jar
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng/2.20/surefire-testng-2.20.jar
(43 KB at 71.8 KB/sec)
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-testng-utils/2.20/surefire-testng-utils-2.20.jar
(27 KB at 14.3 KB/sec)
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.20/surefire-grouper-2.20.jar
(40 KB at 20.6 KB/sec)
[INFO] Downloaded:
https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/2.20/common-java5-2.20.jar
(49 KB at 24.1 KB/sec)
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running TestSuite
Starting ChromeDriver 76.0.3809.68
(420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864})
on port 21953
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks
to prevent access by malicious code.
Aug 20, 2019 5:46:08 PM org.openqa.selenium.remote.ProtocolHandshake
createSession
INFO: Detected dialect: W3C
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
10.591 s - in TestSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[WARNING] Could not delete temp directory
C:\Users\mahantesh.hadimani\eclipse-workspace\project\target\surefire
because Directory
C:\Users\mahantesh.hadimani\eclipse-workspace\project\target\surefire
unable to be deleted.
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 51.226 s
[INFO] Finished at: 2019-08-20T17:46:13+05:30
[INFO] Final Memory: 21M/402M
[INFO]
------------------------------------------------------------------------
No comments:
Post a Comment
If any suggestions or issue, please provide