java自动化测试框架第一篇-自动化框架搭建

自动化框架主要涉及基本的项目框架、测试框架、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. 用例创建流程

人力系统接口自动化测试框架.png

8. 结语

到此基本的依赖就添加完成了,实际开发中有其他依赖需要添加可以参考最后的添加依赖的这一步,最后附上项目的目录结构图及说明

// 目录结构说明
.
├── 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,498评论 6 524
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,668评论 3 406
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,857评论 0 370
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,305评论 1 303
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,308评论 6 401
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,747评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,078评论 3 431
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 41,080评论 0 280
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,649评论 1 327
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,644评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,760评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,352评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,076评论 3 341
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,490评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,651评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,353评论 3 383
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,828评论 2 367