Selenium 24:Use of Maven Build Automation Tool and Maven Project Setup for Selen

2023-12-11 01:59

本文主要是介绍Selenium 24:Use of Maven Build Automation Tool and Maven Project Setup for Selen,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.softwaretestinghelp.com/maven-project-setup-for-selenium-selenium-tutorial-24/

 

In our last Selenium tutorial we learned a build tool named as “Apache Ant”. We also broadly discussed its applicability and importance besides the practical approach.

In this Selenium Testing tutorial we will learn Maven – a build automation tool which is distributed under Apache Software Foundation. It is mainly used for java projects. It makes build consistent with other project.

Maven is also used to manage the dependencies. For example if you are using selenium version 2.35 and any later point of time you have to use some other version, then same can be managed easily by Maven. You will find more examples of this later in this chapter. It works very effectively when there is huge number of Jar files with different versions.

What is a build tool?

Build tool is used to setup everything which is required to run your java code independently. This can be applied to your entire java project. It generates source code, compiling code, packaging code to a jar etc. Maven provides a common platform to perform these activities which makes programmer’s life easier while handling huge project.

Maven provides pom.xml which is the core to any project. This is the configuration file where all required information’s are kept. Many of the IDEs (Integrated Development Environments) are available which makes it easy to use. IDEs are available for tools like Eclipse , NetBeans, IntelliJ etc.

Maven stores all project jars. Library jar are in place called repository which could be central, local or remote repository. Maven downloads the dependency jar from central repository. Most of the commonly used libraries are available in http://repo1.maven.org/maven2/.

Downloaded libraries are stored in local repository called m2. Maven uses the libraries available in m2 folder and if any new dependency added then maven downloads from central repository to local repository. If libraries are not available in central repository then maven looks for remote repository. User has to configure the remote repository in pom.xml to download from remote repository.

Below is the example of configuring a remote repository topom.xml file. Provide id and url of the repository where libraries are stored.

1 <repositories>
2      <repository>
3          <id>libraryId</id>
4          <url>http://comanyrepositryId</url>
5      </repository>
6 </repositories>

General Phrases used in Maven:

  • groupId: Generally groupId refers to domain id. For best practices company name is used as groupId. It identifies the project uniquely.
  • artifactId: It is basically the name of the Jar without version.
  • version: This tag is used to create a version of the project.
  • Local repository: Maven downloads all the required dependencies and stores in local repository called m2. More details regarding the same would be shared in the next topic.

Build Life Cycle:

Basic maven phases are used as below.

  • clean: deletes all artifacts and targets which are created already.
  • compile: used to compile the source code of the project.
  • test: test the compiled code and these tests do not require to be packaged or deployed.
  • package: package is used to convert your project into a jar or war etc.
  • install: install the package into local repository for use of other project.

Maven Setup:

Step 1: To setup Maven, download the maven’s latest version form Apache depending upon different OS.

Step 2: Unzip the folder and save it on the local disk.

Step 3: Create environment variable for MAVEN_HOME. Follow the below step:

Navigate to System Properties ->Advanced System Setting->Environment Variable ->System Variable ->New ->Add path of Maven folder

Maven Tutorial 1

Maven Tutorial 2

Step 4: Edit path variable and provide the bin folder path.

Maven Tutorial 3

Step 5: Now verify the maven installation using command prompt and don’t forget to setup JAVA_HOME

Use mvn –version to verify maven version and output comes like below.

Maven Tutorial 4

Install maven IDE in Eclipse:

Maven provides IDE to integrate with eclipse. I am using eclipse Juno here.

Navigate to Help->Eclipse Marketplace-> Search maven ->Maven Integration for Eclipse ->INSTALL

Maven Tutorial 5

After installation you have to restart eclipse.

Then right click on pom.xml and verify all the options are available like below.  

Maven Tutorial 6

Create Maven project:

Step 1: Navigate to File- new-others-Maven-Maven Project-Click Next

Maven Tutorial 7

Step 2: Check the Create a simple project and click Next

Maven Tutorial 8

Step 3: Provide Group Id and Artifact Id .You can change the version of Jar as per your wish. Here I am using default name. Click Finish.

Maven Tutorial 9

Step 4: After finish you will find the project structure is created like below. pom.xml is created which is used to download all dependencies.

Maven Tutorial 10
pom.xml file looks like below:

------------

1 <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">
2 <modelVersion>4.0.0</modelVersion>
3 <groupId>com.softwaretestinghelp.test</groupId>
4 <artifactId>com.softwaretestinghelp.selenium</artifactId>
5 <version>0.0.1-SNAPSHOT</version>
6 </project>

Step 5: Add dependencies for Selenium.

All selenium Maven artifacts are available in below central repository

http://repo1.maven.org/maven2/org/seleniumhq/selenium/

Add following dependencies in pom.xml for selenium

1 <dependency>
2        <groupId>org.seleniumhq.selenium</groupId>
3        <artifactId>selenium-java</artifactId>
4        <version>2.41.0</version>
5  </dependency>

Similarly, following is the dependency for Junit :

1 <dependency>
2       <groupId>junit</groupId>
3       <artifactId>junit</artifactId>
4       <version>4.4</version>
5  </dependency>

If you want to add other third party jar then add those dependencies in pom.xml

Step 6: Final pom.xml will be like below:

1 <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">
2 <modelVersion>4.0.0</modelVersion>
3 <groupId>com.softwaretestinghelp.test</groupId> <artifactId>com.softwaretestinghelp.selenium</artifactId>
4 <version>0.0.1-SNAPSHOT</version>
5 <dependencies>
6 <dependency>
7        <groupId>org.seleniumhq.selenium</groupId>
8        <artifactId>selenium-java</artifactId>
9        <version>2.41.0</version>
10    </dependency>
11    </dependencies>
12 </project>

Step 7: Maven will download all the dependency jars in to local repository called .m2.

M2 folder is basically inside Users->username->m2

All the jars will be placed in a folder called repository which is inside .m2 folder. Maven will create separate folders for different version and different group id.

Maven Tutorial 11

Step 8: If m2 folder does not populate in Maven dependencies, then you can populate those jars manually.

– Eclipse Windows ->Preference
– Navigate Java->Build Path->Classpath Variables

Maven Tutorial 12

– Click New Button ->Define M2_REPO and provide the path of m2 folder.

Step 9: Upon successful setup you will find Maven Dependencies folder like below which will have the required dependency jar for the project

Maven Tutorial 13

Build the Project:

Project can be built by both using IDE and command prompt.

Using IDE you have to right click on POM-Run As-Maven Build

Maven Tutorial 14

Enter goals like clean install etc. and click Run.
Same can be done using command prompt. Navigate to project folder where pom.xml lies.
And use below commands to clean, compile and install

For clean: mvn clean
For compile: mvn compile
For Install: mvn install

Below is the info which is displayed when you clean any project and shows “BUILD SUCCESS”.

1[INFO] Scanning for projects...
2[INFO]
3[INFO] ------------------------------------------------------------------------
4[INFO] Building com.softwaretestinghelp.0.0.1-SNAPSHOT
5[INFO] ------------------------------------------------------------------------
6[INFO]
7  [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ com.softwaretestinghelp ---[INFO] Deleting C:\Users\rshwus\WORKSPACE\com.softwaretestinghelp\target
8[INFO] ------------------------------------------------------------------------
9[INFO] BUILD SUCCESS
10[INFO] ------------------------------------------------------------------------
11[INFO] Total time: 0.702s
12[INFO] Finished at: Sat May 24 18:58:22 IST 2014
13[INFO] Final Memory: 2M/15M
14[INFO] ------------------------------------------------------------------------

Conclusion:

Maven simplifies the code handling and process of building the project. Most of the projects follow maven structure.

Download all dependencies provided the dependencies are available in maven central repository. If any of the dependency is not available in maven central repository then you have to add repository path in pom.xml explicitly.

There are many other build tools available in like ant. But it is better to use maven while dealing with different versions and different dependencies. Maven even can manage the dependencies of dependencies. Other tools may not provide such flexibility like maven. Please post your queries anything related to maven here.

Next Tutorial #25: In the upcoming tutorial, we would discuss aboutcontinuous integration tool known as Hudson. We would study about its importance, role and benefits into Test Automation Framework. We would look at the Hudson straight from the beginning, from its installation to its working

这篇关于Selenium 24:Use of Maven Build Automation Tool and Maven Project Setup for Selen的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/479065

相关文章

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho