Logo
Section 1 / 9

项目信息

了解为何在自动化项目中使用 TestNG、Maven 和页面对象模型(Page Object Model)工具。

导入

项目信息

了解为何在自动化项目中使用 TestNG、Maven 和页面对象模型(Page Object Model)工具。

该项目使用以下技术:

  • 编程语言:Java
  • 依赖管理与测试执行:Maven
  • 单元测试框架:TestNG
  • 自动化库:Selenium WebDriver
  • 自动化设计模式:页面对象模型(Page Object Model)
使用的技术

各技术的简要说明

项目采用 Maven 作为构建工具,原因如下:Maven 通过 pom.xml 文件管理项目依赖(如 Selenium WebDriver 和 TestNG)。借助 Maven,项目具有标准的目录结构,包含 src 和 target 文件夹。

可通过 Maven 命令完成代码编译(mvn compile)、清理旧的构建产物(mvn clean)以及执行自动化测试(mvn test)。

以下是 Maven 的 pom.xml 文件内容:

1<project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 5 <modelVersion>4.0.0</modelVersion> 6 <groupId>selenium</groupId> 7 <artifactId>selenium</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <name>selenium</name> 10 11 <dependencies> 12 <dependency> 13 <groupId>org.seleniumhq.selenium</groupId> 14 <artifactId>selenium-java</artifactId> 15 <version>3.141.59</version> 16 </dependency> 17 18 <dependency> 19 <groupId>org.testng</groupId> 20 <artifactId>testng</artifactId> 21 <version>6.9.10</version> 22 <scope>test</scope> 23 </dependency> 24 </dependencies> 25 26 <properties> 27 <maven.compiler.source>1.8</maven.compiler.source> 28 <maven.compiler.target>1.8</maven.compiler.target> 29 </properties> 30 31</project>

选择 TestNG 作为单元测试框架而非 jUnit,主要是因为其支持测试监听器功能,可用于自动截图以及将异常和堆栈信息记录到日志文件中。

自动化测试以 TestNG 单元测试的形式实现。这些测试用例简短、独立、易于理解,并按功能分组。每个测试用例对应一个具体的测试场景。

自动化代码采用多层架构,各层逐级调用下一层:

  • 测试类
  • 页面对象类
  • 自动化框架
  • Selenium WebDriver

自动化框架 提供了创建驱动实例、截取屏幕截图、生成调试日志和异常日志等功能。

项目的代码组织顺序如下:

  • 测试类
  • 基础测试类
  • 页面对象类
  • 自动化框架
项目结构

简介

定义测试用例