自动化框架主要涉及基本的项目框架、测试框架、http框架以及其他一些第三方框架
一般的java项目均可选用spring框架,该套框架为几乎所有的应用场景提供了支持,并且包含非常丰富的第三方库集成。该框架提供了项目创建的ui工具来快速创建新项目,工具地址这里
也可以通过Interllij IDEA来创建新项目,该ide内部集成了该工具
1. 新建项目
打开Interllij IDEA工具,选择Create New Project
image.png
2. 基础配置
选择左侧列表的Spring Initializr,修改或使用默认配置并点击下一步,在该步骤中可以选择该项目使用哪一个版本的Project sdk(JDK)
image.png
3. 配置项目信息
包括项目的Group以及Artifact,这两项一般根据java项目统一规则或公司级规则设定,如果公司没有特殊规定,那么Group一般使用公司域名的反写形式(如果项目很多为了区分,该项也可以加上部门或某些特定前缀),Artifact则为项目名称
type可以选择maven或grade,一般的中小型项目使用maven即可
package为项目打包形式,非web项目一般选择jar格式
Java version为项目使用的java版本,该版本与上一步的Project SDK不需要一致
version、name、description、package根据实际情况修改,也可保持默认配置,最后点击下一步
image.png
4. 选择依赖库
在这一步中我们可以选择项目依赖的库,作为自动化测试项目,可以选择以下这些项
Developer Tools -> Lombok : 该库能够为类属性自动生成Getter与Setter
Developer Tools -> Spring Configuration Processor : 该库为spring框架提供加载自定义配置文件的功能
SQL -> Spring Data JPA : 该库为mysql提供了简单的访问api
SQL -> Spring Data JDBC : 该库提供了jdbc驱动库
SQL -> MyBatis Framework : MyBatis框架
SQL -> MySQL Driver : 该库提供了mysql驱动
image.png
5. 配置项目保存路径
点击下一步进入到最后一个步骤,这一步我们可以设置项目名称以及修改项目位置,最后点击完成
image.png
6. 安装以及添加依赖
进入项目后会自动进行maven依赖库下载,等待一会儿就行了。这时候我们只有基础的项目框架,我们需要的其他框架入TestNG以及Rest Assured框架需要我们自己添加到maven配置中,将以下代码添加到如图所示的位置
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-path</artifactId>
</dependency>
image.png
7. 用例创建流程
人力系统接口自动化测试框架.png8. 结语
到此基本的依赖就添加完成了,实际开发中有其他依赖需要添加可以参考最后的添加依赖的这一步,最后附上项目的目录结构图及说明
// 目录结构说明
.
├── HELP.md
├── README.md
├── .mvn // Maven命令工具的保存位置,该目录由mvnw命令管理
├── pom.xml // 配置文件
├── src // 项目源代码目录
│ ├── main
│ │ ├── java
│ │ │ └── com-test-autotest
│ │ │ ├── TestApplication.java // Spring框架的项目主入口文件,一般不用管
│ │ │ ├── api // api层,用来定义接口类型、请求url
│ │ │ │ ├── Api.java // API请求接口定义
│ │ │ │ ├── Base.java // API对象的基础抽象类
│ │ │ │ ├── adjust
│ │ │ │ │ ├── Add.java
│ │ │ ├── constant // 枚举值
│ │ │ │ └── enums
│ │ │ │ ├── PostEnum.java
│ │ │ │ └── WarehousePostEnum.java
│ │ │ ├── dao // mapper生成的文件存放于此
│ │ │ │ ├── entities
│ │ │ │ └── mapper
│ │ │ ├── request // 请求参数对象
│ │ │ │ ├── Base.java // Request对象的抽象类
│ │ │ │ ├── Request.java // API请求参数接口定义
│ │ │ │ ├── adjust
│ │ │ │ │ ├── AddBody.java
│ │ │ └── utils // 工具层
│ │ │ ├── AssertUtil.java // 居于Testng Assert类二次封装,添加办法校验方式
│ │ │ ├── CommonUtils.java // 公共工具
│ │ │ ├── DataFormatUtil.java // 数据转换工具
│ │ │ ├── DateUtil.java // 线程安全的日期工具类
│ │ │ ├── FileUtil.java // 文件工具类
│ │ │ └── RestAssuredUtil.java // 接口请求工具封装
│ │ └── resources // 资源文件目录
│ │ ├── application-b22.properties // 测试环境的配置
│ │ ├── application-b32.properties // 测试环境的配置
│ │ ├── application-local.properties // 测试环境的配置
│ │ ├── application.properties // Spring框架主配置文件
│ │ ├── config-local.properties // 配置文件
│ │ ├── config-prod.properties
│ │ ├── generator // mapper使用
│ │ │ ├── generator.properties
│ │ │ └── generatorConfig.xml
│ │ ├── logback.xml
│ │ └── mapper
│ └── test // 测试用例层
│ └── java
│ └── com-mryx-autotest-lop
│ ├── AutoTestCase.java
└── testNgXml
└── All.xml
image.png
网友评论