在进行测试自动化项目时,您需要与之关联的所有Selenium依赖项。 通常,这些依赖项是在项目生命周期中手动下载和升级的,但是随着项目规模的扩大,管理依赖项可能会非常困难。 这就是为什么需要构建自动化工具(例如Maven)来自动处理它们的原因。

Maven可以更明确地定义为使用项目对象模型(POM)概念的软件项目管理工具。 它使用户可以创建初始文件夹结构,执行编译和测试,然后打包和部署最终产品。 它有效地减少了构建过程中遵循的几个步骤,而使构建成为一个一步的过程。

在这个Selenium Maven教程中,我将解释Maven是什么以及为什么Maven作为构建自动化工具很重要。 此外,在本Selenium Maven教程中,我将向您展示如何为Selenium测试自动化项目安装Maven,以及如何运行您的第一个项目。

为什么要使用Maven?

Maven在管理项目生命周期中扮演着至关重要的角色,通常包括验证,代码生成,编译,测试,打包等等。 它是一个软件构建工具,可以分阶段工作,而不是任务(例如Ant)。 它基本上用于管理项目的生命周期。 Maven使构建管理过程更加容易,因为您只需要在pom.xml文件中指定依赖项,其余的工作将由Maven负责!

使用Maven的一些关键原因是:

  • 它简化了构建过程并提供了统一的系统
  • 它有效地处理了编译,分发,依赖管理和其他任务。
  • 它提高了可重用性。
  • 它减少了将jar文件添加到项目库,构建报告,执行Junit测试用例,创建jar / war / ear文件进行部署的步骤。
  • 它具有一个集中管理jar文件的存储库。

现在我们知道为什么要使用Maven了,让我们在这个Selenium Maven教程“什么是Maven”中探讨一个更大的问题。

为什么需要用于Selenium自动化测试的构建自动化工具?

让我们深入学习

到现在为止,您已经有了Maven是用于管理项目依赖项和整个项目生命周期的构建自动化工具的想法。 Maven由Apache Software Foundation构建,主要用于Java项目。 它最初是为了使Jakarta Turbine Project的构建过程更加简单而开发的,现在已广泛用于使构建过程变得简单而统一。

Maven可以更明确地定义为使用项目对象模型(POM)概念的软件项目管理工具。 它使用户可以创建初始文件夹结构,执行编译和测试,然后打包和部署最终产品。 它有效地减少了构建过程中遵循的几个步骤,而使构建成为一个步骤的过程。

您应该了解此Selenium Maven教程的一些关键术语:

Maven本地存储库:这是开发人员机器中的本地存储库,其中包含所有项目工件。 在执行Maven构建时,所有与项目相关的jar都将下载到本地存储库中。

Maven中央存储库:这是Maven官方的每个新项目中的默认存储库。 每当本地存储库中不存在任何依赖项时,Maven都会自动咨询中央存储库以进行下载。

项目对象模型: POM XML包含Maven构建使用的项目信息和配置详细信息。 它位于每个项目的根目录中。 一个示例POM如下所示:


依赖关系: Java项目所依赖,运行或构建的任何库都称为依赖关系。 示例:Log4j jar,Apache Poi jar,Selenium Jar等。pom.xml中提到了相关性,如下所示:


Surefire插件:要在构建生命周期的测试阶段执行应用程序的单元测试,可以使用Surefire插件。 surefire报告有两种文件格式,即纯文本文件(.txt)和XML文件(.xml)。 这个插件是必须使用的,因为它即使在使用TestNG或Junit框架时也可以帮助Maven识别测试。

Selenium Java测试:页面对象模型

如何在Windows中安装Maven?

可以通过命令行或Eclipse IDE安装Maven。 我们将首先逐步介绍如何通过Eclipse IDE安装它。

如何在Eclipse IDE中安装Maven?

在Eclipse中安装Maven非常简单,涉及以下步骤:

步骤1:从Eclipse顶部菜单中单击“帮助”,然后选择“安装新软件”。

第2步:在新打开的窗口中,单击添加按钮。


步骤3:在名称文本框中,键入“ Maven”,在位置文本框中,键入“ http://download.eclipse.org/technology/m2e/releases/”。 该URL是可以从中下载Maven的位置。


步骤4:一个复选框将出现在弹出窗口中,选中该复选框并单击Next(下一步)按钮。

步骤5:等待几分钟,以使窗口完成其过程。

步骤6:保留默认设置,然后单击“下一步”按钮。

步骤7:接受条款和条件,然后单击Finish。

步骤8:等待安装完成。

步骤9:安装完成后,它将要求您重新启动Eclipse。 单击是,以查看所反映的更改。

繁荣! 就是这个。 现在,您已成功将Maven安装到Eclipse IDE。

万一您想通过命令行进行其他安装,请按照以下步骤操作。

如何通过命令行安装Maven?

这是此Selenium Maven教程中通过命令行安装Maven的步骤:

步骤1:下载并安装Java

您需要在系统中安装Java(如果尚未安装)。 可以从此链接下载最新版本的Java。

要检查系统的Java版本,请运行并键入'cmd'以启动命令提示符。 键入“ Java -version”,然后按Enter键以查看安装了哪个Java版本。

步骤2:设定Java环境变数

安装Java之后,设置Java环境变量。 打开系统设置以设置Java环境变量。

  1. 转到此PC,右键单击其中的空白处,然后选择“属性”。
  2. 单击高级系统设置,以打开新的弹出窗口。
  3. 现在,从弹出窗口中单击环境变量
  4. 单击系统变量下的新建按钮。

  1. 在“变量名”框中键入“ JAVA_HOME”,在“变量值”框中键入“ C:\ Program Files \ Java \ jdk1.8.0_20” JDK路径并保存。

  1. 现在,您可以在“系统变量”下看到新创建的Java变量

步骤3:下载Maven并设置Maven环境变量

  1. 可以从以下位置下载Maven:
    https://Maven.apache.org/download.cgi

  1. 根据您的方便,将其提取到计算机中的某个位置。 对我来说,它位于'C:/apache-Maven-3.6.1'
  2. 您可以设置Maven环境变量,类似于我们在上述步骤中设置Java环境变量的方式。
  3. 在“变量名”框中键入“ Maven_HOME”,在“变量值”框中键入“ C:\ apache-Maven-3.6.1”。

  1. 现在,您将可以在“系统变量”下看到新创建的Maven变量。

步骤4:更新路径变量

为了从命令行运行Maven,我们必须使用Maven的安装目录“ bin”更新路径变量。

  1. 通过“我的电脑”打开系统属性。
  2. 导航到“高级系统设置”。
  3. 点击“环境变量”。
  4. 单击用户变量下的“编辑”按钮。
  5. 在“变量名”框中键入“ PATH”,在“变量值”框中键入“ C:\ apache-Maven-3.6.1 \ bin”。

步骤5:测试Maven安装

现在,Maven已成功安装在您的系统中。 现在让我们从Windows命令行进行验证。 打开命令提示符,然后键入mvn -version,然后按Enter。 检查结果中是否显示了系统中安装的Maven版本。

现在,您已经完成了Maven安装的准备,可以继续使用Maven创建项目。

创建您的第一个Maven项目

就像我们在Selenium Maven教程前面讨论的Maven安装一样,您也可以通过Eclipse IDE或命令行创建Maven项目。

使用Eclipse IDE创建Maven项目

以下是使用Eclipse IDE创建Maven项目的步骤:

步骤1:从Eclipse IDE创建一个新项目。

步骤2:在新项目窗口中,展开Maven并选择Maven Project,然后单击Next。

步骤3:您可以创建一个简单的项目,也可以放开该选项。 现在,我们将使用一个简单的项目,该项目将创建一个简单的启用Maven的Java项目。


步骤4:现在,单击Next(下一步),您将需要输入创建Maven项目的信息。 您可以参考以下说明来填写值:

组ID-与您的组织名称相对应。
工件ID-指项目名称。

版本可以灵活选择。 如果您的项目没有任何父项依赖项,则无需填写项目依赖项。 只需填写适当的信息,然后单击“完成”即可。


步骤5:您的Maven项目现已创建!


注意: Java代码放在/ src / main / java中,资源放在/ src / main / resources中,测试代码放在/ src / test / java中,测试资源放在/ src / test / resources中。

步骤6:您现在可以打开pom.xml来查看Maven设置的结构。 您将在此处看到我们在“第4步”中输入的所有信息。 您可以使用底部的标签来更改视图。 pom.xml选项卡包含Maven项目的pom XML代码。



Maven项目现在可以使用了。

接下来,让我们看看如何使用命令行创建Maven项目。

步骤1:打开命令提示符,然后导航到要在其中设置项目的文件夹。 浏览后,键入以下命令:

mvn原型:generate -DgroupId = demoProject -DartifactId = DemoMavenProject -DarchetypeArtifactId = Maven-archetype-quickstart -DinteractiveMode = false

在这里,DgroupId是组织名称,DartifactId是项目名称,DarchetypeArtifactId是Maven项目的类型。

单击Enter后,将创建您的Maven项目。


步骤2:您可以转到项目位置查看新创建的Maven项目。 您可以打开项目文件夹中的pom.xml文件,默认情况下,生成的POM如下所示:


步骤3:您可以查看Maven项目的默认文件夹结构。


现在我们知道如何创建Maven项目,让我们尝试将Selenium与Maven集成。 但是在我们这样做之前,我们需要了解各种有助于这种集成的依赖关系。

Selenium Maven对您的自动化项目的依赖

项目中使用的所有外部库都称为依赖项。 Maven具有出色的功能,可以从其中央存储库自动下载所需的库,这使您无需在本地存储它们变得很容易。 下面是在pom.xml中编写Selenium Maven依赖项的示例:

 <dependency> <groupId>org.Seleniumhq.Selenium</groupId> <artifactId>Selenium-java</artifactId> <version> 4.0 . 0 -alpha- 1 </version> </dependency> 

添加上述Selenium Maven依赖项后,Maven会将Selenium Java库下载到我们的本地Maven存储库中。

可以根据需求将另一个Selenium Maven依赖项添加到pom.xml中。 您在我们的Selenium项目中可能需要使用的几个示例是:

TestNG Selenium Maven依赖性:

这将导入Java的测试框架依赖性。

 <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version> 6.14 . 3 </version> <scope>test</scope>  </dependency> 

您的第一个TestNG自动化脚本的完整指南

Apache POI Selenium Maven依赖项:

这将下载访问Microsoft格式文件所需的库。

<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version>
</dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version>
</dependency>

您可以在pom.xml中添加这些Selenium Maven依赖项,如下所示:

<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>organisationName</groupId><artifactId>myDemoProject</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>org.Seleniumhq.Selenium</groupId><artifactId>Selenium-java</artifactId><version>4.0.0-alpha-1</version></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.9.10</version><scope>test</scope></dependency></dependencies></project>

如果您想验证这些Selenium Maven依赖项如何导入所需的库,则必须返回到演示项目并查看默认情况下存在哪些库。 为此,您需要右键单击您的项目名称并为您的项目配置构建路径,然后在新打开的窗口的“库”选项卡下进行检查:


在这里,您可以看到此Selenium Maven教程的项目中存在的默认库。

为了更清晰地了解,我将创建一个示例类以使用Selenium组件和一些testNG注释。 请注意,我将在项目结构的src / test / java文件夹下创建示例测试类。 您可以在下面清楚地看到在添加库之后可以进行错误纠正。


因此,现在,而不是通过在Selenium Maven教程中配置项目构建路径来手动添加库,我将在pom.xml中编写项目的依赖项,Maven将直接从其存储库中下载依赖项。 这样可以省去手动操作的麻烦,并减少了错过添加某些广口瓶的机会。 因此,这是添加依赖项的方法:

在添加Selenium Maven依赖项之前的pom.xml:


添加Selenium Maven依赖项后的Pom.xml:


保存并刷新项目后,检查构建路径,并查看正在添加Selenium Maven依赖项的Selenium和testNG库。


另外,您现在可以进入测试类,查看不同的选项来更正此Selenium Maven教程中引发的错误:


您只需导入WebDriver,就可以了。 同样,对于@Test注释,只需导入testng.annotations。


您可以添加更多依赖项,例如apache POI,范围报告,公共电子邮件,或以类似于pom.xml的方式特定于项目的任何依赖项。

现在我已经完成了配置项目的工作,我将运行项目以查看测试是否正常。

硒中的Maven生命周期

Selenium中有一个Maven生命周期,每个Maven构建都遵循该生命周期。 不同的方法只是目标。 在继续之前,我将解释这些目标是什么。

在系统中打开命令行,然后键入mvn,然后按Enter。


您会看到Build失败消息,显示错误,指出此Selenium Maven教程中尚未定义目标。 在解析此消息时,您会看到可以为我们的Maven项目定义的不同目标。 在详细介绍Selenium项目所需的目标之前,我将快速浏览这些默认目标。

  1. 验证:将检查我们的项目是否正确以及所有必需的信息是否可用
  2. 编译:将编译项目源代码
  3. 测试:将对我们项目的已编译源代码进行单元测试
  4. package:将编译后的代码打包成可分发的格式,例如JAR
  5. 集成测试:将包部署到我们将运行集成测试的环境中
  6. 验证:将验证包装是否有效
  7. install:将在本地安装软件包
  8. 部署:可通过将最终项目复制到远程存储库中而在集成或发布环境中使用,其他项目或开发人员可在此访问它
  9. clean:清理以前的构建工件
  10. 站点:为项目创建站点文档

在上述默认目标中,三个对于Selenium测试自动化至关重要。 有清洁,安装和测试。

您可以单独使用这些目标,也可以结合使用它作为本Selenium Maven教程的全新安装。

清理-它将清理目标文件夹,即先前版本的库,版本文件(war,tar或jar文件),报告,输出文件等保存在其中的文件夹。 在执行mvn -clean时,此目标文件夹将被删除。

Install-这将安装所有的依赖关系,在失踪罐的情况下,以及(在Java中的情况下,战争/ jar文件)创建部署文件,然后它会运行测试。

测试-它只会运行测试,而无需创建任何部署文件。

使用Eclipse IDE时,可以通过右键单击pom.xml,然后以“运行方式”并选择任何选项来直接使用这三个目标中的任何一个。

Maven清洁

在此Selenium Maven教程中,我将从选择Maven clean开始,您可以看到以下输出:


因此,清理(删除目标文件夹)的任务已成功完成,因此构建成功。

Maven安装

在执行第二个安装任务之前,您需要添加一个名为Maven Compiler插件的插件,否则将无法完成Selenium测试自动化构建。 该插件用于标识编译器的特定位置。 您可以在pom.xml中添加以下插件,并在执行Maven安装之前刷新项目。

<build><plugins><plugin><groupId>org.apache.Maven.plugins</groupId><artifactId>Maven-compiler-plugin</artifactId><configuration><compilerVersion>1.5</compilerVersion><source>1.5</source><target>1.5</target></configuration></plugin></plugins></build>

添加此片段后,您的pom.xml将如下所示:


现在,就像在此Selenium Maven教程中对Maven Clean所做的一样,转到Maven安装,并观察构建安装的控制台输出:




您可以在控制台输出中看到Maven安装程序也执行了测试。 要查看本地系统中已安装的目录,请刷新项目并查看生成的目录。 在下面的快照中,您可以看到由于Maven安装而生成的所有文件(由于这是一个简单的JAVA程序,因此也生成了jar文件)。 您可以直接共享此jar文件,以供其他人执行。


Maven测试

同样,我们可以在Selenium Maven教程中进行Maven测试 ,并在控制台中查看构建结果:


上面的步骤显示了如何通过Eclipse IDE来执行执行,但是实时项目执行主要是通过命令行完成的,因此现在我们将从命令行使用这些目标。 在继续执行这些任务之前,请确保您当前在cmd中的工作目录指向本地工作区位置。 如果不这样做,我们的Maven命令将无法找到所需的pom.xml,因此我们的Selenium测试自动化构建将失败。

首先让我们使用Selenium Maven教程中的命令提示符进行Maven Clean。 我们只需要写“ mvn clean”:


您会看到目标文件夹被删除。 本Selenium Maven教程的下一步是执行Maven安装,方法是在命令提示符下键入“ mvn install”。




您可以看到控制台输出几乎与Eclipse执行时的输出相似。 现在让我们通过键入“ mvn test”执行Maven测试,这将导致执行该测试而无需构建jar文件。


现在您已经知道执行自动化测试的基本目标,现在可以通过Maven运行自动化脚本了!

Maven Surefire插件

到目前为止,您已经在Selenium Maven教程中的控制台输出日志中阅读了很长时间,所以我将对此进行一些说明。 surefire插件可帮助Maven识别测试,并与构建项目的框架一起使用。 要将Surefire插件添加到pom.xml中,请使用以下代码片段:

<properties>
<suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile>
</properties><build>
<plugin>
<groupId>org.apache.Maven.plugins</groupId>
<artifactId>Maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</build>

您的pom.xml应该如下所示:


在这里,我将src / main / resources中的testng.xml放入其中,从而在属性中给出其路径。

现在,我将在此Selenium Maven教程中从Eclipse运行Maven测试,并查看结果:


现在,您可以检查默认情况下生成的报告,并且可以通过在命令提示符下键入“ mvn test”来执行此套件,以类似的方式进行检查。


另请阅读:使用IntelliJ和Maven使用硒化物进行硒测试

总而言之

在本Selenium Maven教程中,我探讨了Maven作为构建自动化工具如何使您的项目更好地管理Selenium Maven依赖项。 使用Maven,您无需担心安装和升级项目库,因为它们是使用该工具自动完成的。 现在,您知道如何使用Eclipse IDE和命令行在系统中安装Maven。 我还解释了如何在Eclipse中创建Maven项目。 另外,我经历了Maven生命周期,使用的目标,然后运行了Maven项目。

这几乎总结了您在本Selenium Maven教程中开始使用Maven所需了解的一切。 如有任何疑问或疑问,请与我们联系。 另外,如果您能帮助我们分享这篇文章并转推,我将不胜感激。 目前为止就这样了。 测试愉快!!!

Maven硒测试自动化教程相关推荐

  1. 使用Maven进行硒测试自动化

    今天,我想帮助您更好地管理自动GUI测试(Selenium). 在过去,我已经看到人们处理此问题的许多不同方式. 有些人只是使用Selenium-IDE编写这些普通HTML TestCases,将其存 ...

  2. 维持硒测试自动化的完美方法

    毫无疑问, 自动浏览器测试已经改变了软件开发的工作方式. 如果不是Selenium,我们将无法像我们一样使用各种各样的无错误Web应用程序. 但是有时,甚至IT部门也误解了自动化一词. 大多数人认为计 ...

  3. MavenSelenium测试自动化教程

    在进行测试自动化项目时,您需要与之关联的所有Selenium依赖项. 通常,这些依赖项是在项目生命周期中手动下载和升级的,但是随着项目规模的扩大,管理依赖项可能会非常困难. 这就是为什么需要构建自动化 ...

  4. 硒测试可实现有效的测试自动化

    尽管移动应用程序的市场份额有大幅增长,但网络应用程序仍然以大量的用户群为主导. 在部署之前,企业正在快速关注Web应用程序的质量. 这是测试发挥重要作用的地方. 与某些可以自动化的功能测试不同,UI测 ...

  5. 使用Maven进行Selenium测试自动化

    今天,我想帮助您更好地管理自动GUI测试(Selenium). 在过去,我已经看到人们处理此问题的许多不同方式. 有些人只是用Selenium-IDE编写普通HTML TestCases,将其存储在H ...

  6. 使用Selenium WebDriver测试自动化的22条实用技巧

    使用Selenium进行测试自动化已使全球的网站测试人员能够轻松执行自动化的网站测试. Webdriver是Selenium框架的核心组件,通过它您可以针对不同类型的浏览器(例如Google Chro ...

  7. 自动化测试工程师_所以你想成为一名测试自动化工程师

    自动化测试工程师 I see many people and personally have several friends and acquaintances that are interested ...

  8. selenium优缺点_Selenium测试自动化工具的优缺点

    selenium优缺点 谁不喜欢深背景的命名故事? 在2000年代初期,一家名为Mercury Interactive的公司通过其工具Astra Quick Test统治了测试自动化领域. 这不是可以 ...

  9. selenium自动化测试_Selenium测试可实现有效的测试自动化

    selenium自动化测试 尽管移动应用程序的市场份额有大幅增长,但网络应用程序仍然具有大量的用户基础. 在部署之前,企业正在关注Web应用程序的质量. 这是测试发挥重要作用的地方. 与某些可以自动化 ...

最新文章

  1. android 联系人编辑界面,android – 以编程方式编辑联系人的姓名/电话号码
  2. R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、使用interaction.plot函数在双因素方差分析中可视化交互作用(Interaction)
  3. 持续集成之路——Maven
  4. 【cJson】 JSON格式详解
  5. LOAD DATA INFILE句法
  6. Java内置锁——synchronized
  7. 岗位po是什么意思_劳务派遣是什么意思,劳务派遣和正式员工区别在哪
  8. Uploadify 3.2 参数属性、事件、方法函数详解
  9. Quartus II 9.0sp1之功能仿真
  10. 手撕前端面试之经典排序算法
  11. MySQL重做日志(redo log)总结
  12. extends和implement的区别
  13. C语言:数组数据移动
  14. [软件更新]vidalia 0.2.0.32
  15. (18)python字符串的使用
  16. 贝叶斯统计bayes statistics
  17. 周志华 《机器学习初步》模型评估与选择
  18. ip地址中的网络号,主机号
  19. Excel制作+导出
  20. 不用充电的监控摄像头有哪几种供电方式

热门文章

  1. ssl2345-繁忙的都市
  2. P2414 NOI2011阿狸的打字机 [AC自动机,dfs序]
  3. Spring Boot之基于Redis实现MyBatis查询缓存解决方案
  4. Linux--用SecureCRT来上传和下载文件
  5. 这也许是你不曾留意过的 Mybatis 细节
  6. 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人
  7. JavaFX UI控件教程(十五)之Combo Box
  8. 到底什么是跨域?附解决方案
  9. mybatis简单案例源码详细【注释全面】——实体层(Role.java)
  10. 使用JDBCTemplate实现与Spring结合,方法公用 ——共用实现类(BaseImpl)