在进行自动化测试项目时,您需要与之关联的所有Selenium依赖项。 通常,这些依赖项是在项目生命周期中手动下载和升级的,但是随着项目规模的扩大,管理依赖项可能会非常困难。 这就是为什么需要构建自动化工具(例如Maven)来自动处理它们的原因。
Maven可以更明确地定义为使用项目对象模型(POM)概念的软件项目管理工具。 它使用户可以创建初始文件夹结构,执行编译和测试,然后打包和部署最终产品。 它有效地减少了构建过程中遵循的几个步骤,而使构建成为一个一步的过程。
在这个Selenium Maven教程中,我将解释Maven是什么以及为什么Maven作为构建自动化工具很重要。 此外,在本Selenium Maven教程中,我将向您展示如何为Selenium测试自动化项目安装Maven以及如何运行您的第一个项目。
为什么要使用Maven?
Maven在管理项目生命周期中扮演着至关重要的角色,通常包括验证,代码生成,编译,测试,打包等等。 它是一个软件构建工具,它可以分阶段工作,而不是工作(例如Ant)。 它基本上用于管理项目的生命周期。 Maven使构建管理过程更加容易,因为您只需要在文件中指定依赖项,其余的工作将由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等。依赖关系在中提到如下:
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”,在位置文本框中,键入“ /technology/m2e/releases/”。 该URL是可以从中下载Maven的位置。
步骤4:弹出窗口中将出现一个复选框,选中该复选框并单击下一步按钮。
步骤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环境变量。
- 转到此PC,右键单击其中的空白处,然后选择“属性”。
- 单击高级系统设置,以打开新的弹出窗口。
- 现在,从弹出窗口中单击环境变量
- 单击系统变量下的新建按钮。
- 在“变量名”框中键入“ JAVA_HOME”,在“变量值”框中键入“ C:\ Program Files \ Java \ jdk1.8.0_20” JDK路径并保存。
- 现在,您可以在“系统变量”下看到新创建的Java变量
步骤3:下载Maven并设置Maven环境变量
- 可以从以下位置下载Maven:
/
- 根据您的方便,将其提取到计算机中的某个位置。 对我来说,它位于'C:/apache-Maven-3.6.1'
- 您可以设置Maven环境变量,类似于我们在上述步骤中设置Java环境变量的方式。
- 在“变量名”框中键入“ Maven_HOME”,在“变量值”框中键入“ C:\ apache-Maven-3.6.1”。
- 现在,您可以在“系统变量”下看到新创建的Maven变量。
步骤4:更新路径变量
为了从命令行运行Maven,我们必须使用Maven的安装“ bin”目录更新路径变量。
- 通过“我的电脑”打开系统属性。
- 导航到“高级系统设置”。
- 点击“环境变量”。
- 单击用户变量下的“编辑”按钮。
- 在“变量名”框中键入“ 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:您现在可以打开来查看Maven设置的结构。 您将在此处看到我们在“第4步”中输入的所有信息。 您可以使用底部的标签来更改视图。 选项卡包含用于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如下所示:
步骤3:您可以查看Maven项目的默认文件夹结构。
现在我们知道如何创建Maven项目,让我们尝试将Selenium与Maven集成。 但是在我们这样做之前,我们需要了解各种有助于这种集成的依赖关系。
Selenium Maven对自动化项目的依赖
项目中使用的所有外部库都称为依赖项。 Maven具有出色的功能,可以自动从其*存储库下载所需的库,从而使您无需在本地存储它们就变得很容易。 下面是在中编写Selenium Maven依赖项的示例:
-
<dependency>
-
<groupId></groupId>
-
<artifactId>Selenium-java</artifactId>
-
<version> 4.0 . 0 -alpha- 1 </version>
-
</dependency>
添加上述Selenium Maven依赖项后,Maven会将Selenium Java库下载到我们的本地Maven存储库中。
可以根据需求将另一个Selenium Maven依赖项添加到中。 在我们的Selenium项目中可能需要使用的几个示例是:
TestNG Selenium Maven依赖性:
这将导入Java的测试框架依赖性。
-
<dependency>
-
<groupId></groupId>
-
<artifactId>testng</artifactId>
-
<version> 6.14 . 3 </version>
-
<scope>test</scope> </dependency>
您的第一个TestNG自动化脚本的完整指南
Apache POI Selenium Maven依赖项:
这将下载访问Microsoft格式文件所需的库。
-
<dependency>
-
<groupId></groupId>
-
<artifactId>poi</artifactId>
-
<version>3.17</version>
-
</dependency>
-
-
<dependency>
-
<groupId></groupId>
-
<artifactId>poi-ooxml</artifactId>
-
<version>3.17</version>
-
</dependency>
您可以在中添加这些Selenium Maven依赖项,如下所示:
-
<project xmlns="/POM/4.0.0"
-
xmlns:xsi="http:///2001/XMLSchema-instance"
-
xsi:schemaLocation="/POM/4.0.0 /xsd/Maven-4.0.">
-
<modelVersion>4.0.0</modelVersion>
-
<groupId>organisationName</groupId>
-
<artifactId>myDemoProject</artifactId>
-
<version>0.0.1-SNAPSHOT</version>
-
-
<dependencies>
-
-
<dependency>
-
<groupId></groupId>
-
<artifactId>Selenium-java</artifactId>
-
<version>4.0.0-alpha-1</version>
-
</dependency>
-
-
<dependency>
-
<groupId></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教程中配置项目构建路径来手动添加库,我将在中编写项目的依赖项,Maven将直接从其存储库中下载依赖项。 这样可以省去手动操作的麻烦,并减少了错过添加某些广口瓶的机会。 因此,这是添加依赖项的方法:
在添加Selenium Maven依赖项之前的:
添加Selenium Maven依赖项后的:
保存并刷新项目后,检查构建路径,并查看正在添加Selenium Maven依赖项的Selenium和testNG库。
另外,您现在可以进入测试类,查看不同的选项来更正此Selenium Maven教程中引发的错误:
您只需导入WebDriver,就可以了。 同样,对于@Test注释,只需导入。
您可以添加更多依赖项,例如apache POI,范围报告,公共电子邮件,或以类似于的方式特定于项目的任何依赖项。
既然我已经完成了配置项目,那么我将运行项目以查看测试是否正常。
Selenium中的Maven生命周期
Selenium中有一个Maven生命周期,每个Maven构建都遵循该生命周期。 不同的方法只是目标。 在继续之前,我将解释这些目标是什么。
在系统中打开命令行,然后键入mvn,然后按Enter。
您会看到Build失败消息,显示错误,指出此Selenium Maven教程中尚未定义目标。 解析此消息时,您会看到可以为我们的Maven项目定义的不同目标。 在详细介绍Selenium项目所需的目标之前,我将快速浏览这些默认目标。
- 验证:将检查我们的项目是否正确以及所有必需的信息可用
- 编译:将编译项目源代码
- 测试:将对我们项目的已编译源代码进行单元测试
- package:将编译后的代码打包成可分发的格式,例如JAR
- 集成测试:将包部署到我们将运行集成测试的环境中
- 验证:将验证包装是否有效
- install:将在本地安装软件包
- 部署:通过将最终项目复制到远程存储库中,从而可以在集成或发布环境中使用,其他项目或开发人员可以在其中访问它
- clean:清理以前的构建工件
- 站点:为项目创建站点文档
在上述默认目标中,三个对于Selenium测试自动化至关重要。 有清洁,安装和测试。
您可以单独使用这些目标,也可以结合使用它作为本Selenium Maven教程的全新安装。
清理-它将清理目标文件夹,即先前版本的库,版本文件(war,tar或jar文件),报告,输出文件等保存在其中的文件夹。 在执行mvn -clean时,此目标文件夹将被删除。
Install-这将安装所有的依赖关系,在失踪罐的情况下,以及(在Java中的情况下,战争/ jar文件)创建部署文件,然后它会运行测试。
测试-它只会运行测试,而无需创建任何部署文件。
当使用Eclipse IDE时,可以通过右键单击,然后运行方式并选择任何选项来直接使用这三个目标中的任何一个。
Maven清洁
在本Selenium Maven教程中,我将从选择Maven clean开始,您可以看到以下输出:
因此,清理(删除目标文件夹)的任务已成功完成,因此构建成功。
Maven安装
在执行第二项安装任务之前,您需要添加一个名为Maven Compiler插件的插件,否则将无法完成Selenium测试自动化构建。 该插件用于标识编译器的特定位置。 您可以在中添加以下插件,并在执行Maven安装之前刷新项目。
-
<build>
-
<plugins>
-
<plugin>
-
<groupId></groupId>
-
<artifactId>Maven-compiler-plugin</artifactId>
-
<configuration>
-
<compilerVersion>1.5</compilerVersion>
-
<source>1.5</source>
-
<target>1.5</target>
-
</configuration>
-
</plugin>
-
</plugins>
-
</build>
添加此片段后,您的将如下所示:
现在,就像在此Selenium Maven教程中对Maven Clean所做的一样,转到Maven安装,并观察构建安装的控制台输出:
您可以在控制台输出中看到Maven安装程序也执行了测试。 要查看本地系统中已安装的目录,请刷新项目并查看生成的目录。 在下面的快照中,您可以看到由于Maven安装而生成的所有文件(由于这是一个简单的JAVA程序,因此也生成了jar文件)。 您可以直接共享此jar文件,以供其他人执行。
Maven测试
同样,我们可以在Selenium Maven教程中进行Maven测试 ,并在控制台中查看构建结果:
上面的步骤显示了如何通过Eclipse IDE来执行执行,但是实时项目执行主要是通过命令行完成的,因此现在我们将从命令行使用这些目标。 在继续执行这些任务之前,请确保您在cmd中的当前工作目录指向本地工作空间位置。 如果不这样做,我们的Maven命令将无法找到所需的,因此我们的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插件添加到中,请使用以下代码片段:
-
<properties>
-
<suiteXmlFile>src/main/resources/</suiteXmlFile>
-
</properties>
-
-
-
<build>
-
<plugin>
-
<groupId></groupId>
-
<artifactId>Maven-surefire-plugin</artifactId>
-
<version>2.17</version>
-
<configuration>
-
<suiteXmlFiles>
-
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
-
</suiteXmlFiles>
-
</configuration>
-
</plugin>
-
</build>
您的应该如下所示:
在这里,我将src / main / resources中的放入其中,从而在属性中给出其路径。
现在,在此Selenium Maven教程中,我将从Eclipse运行Maven测试,并查看结果:
现在,您可以检查默认情况下生成的报告,并且可以通过在命令提示符下键入“ mvn test”来执行此套件,以类似的方式进行检查。
另请阅读:使用IntelliJ和Maven使用Selenium化物进行Selenium测试
总而言之
在本Selenium Maven教程中,我探讨了Maven作为构建自动化工具如何使您的项目更好地管理Selenium Maven依赖项。 使用Maven,您无需担心安装和升级项目库,因为它们是使用该工具自动完成的。 现在,您知道如何使用Eclipse IDE和命令行在系统中安装Maven。 我还解释了如何在Eclipse中创建Maven项目。 另外,我经历了Maven生命周期,使用的目标,然后运行了Maven项目。
这几乎总结了您在本Selenium Maven教程中开始使用Maven所需了解的一切。 如有任何疑问或疑问,请与我们联系。 另外,如果您能帮助我们分享这篇文章并转推,我将不胜感激。 目前为止就这样了。 测试愉快!!! ????
翻译自: /2020/05/