java自动化-junit框架简述
本人使用的是java的junit框架来组织的自动化测试,故我这边需要简单介绍一下junit框架
首先,建议自行百度一下junit框架,先有一个大概的了解
所谓的接口自动化测试,会对多个接口中每一个接口发送各式各样的请求,其主要的思维是下面的方式

可以想到,我们所要模拟的测试,一般的是一套代码,部署在本地或者测试服务器上,发送请求到服务器,以上图所示的各种方式依次请求各个接口,然后再对请求后返回的数值或者其他的进行校验,达到预期即可认为本次测试通过
那么主流的接口测试的java框架(请原谅笔者技术水平,暂时只会java)就是junit和testng了,testng是junit的升级版,他们有啥好处呢?本文大致说一下junit框架
一般的java代码是啥样子呢?有一个mian函数来进行请求,那么上述代码的话需要3个abc3个包,在a这个文件夹之下还要有3个class来分别作a的参数组1,2,3这三种请求,在每一个请求中如果都使用相同的发送方式的话,那么每一个方法先要声明一个map,再把不同的参数组传入该map中,在进行请求并接受数据,然后再进行断言校验
junit框架的特点是存在一些特殊的标识,如@Test@After@Before,下面将大概介绍一下~,先在ideal中的原先的shiyan的class中写下如下代码
package zlr;
import org.junit.*;
public class shiyan {
int x=0;
static int y=0;
@BeforeClass
public static void setup() throws Exception
{
y++;
}
@Before
public void setup1() throws Exception
{
x=x+1;
}
@After
public void Teardown() throws Exception
{
Assert.assertEquals(x,2);
}
@AfterClass
public static void setup2() throws Exception
{
y++;
}
@Test
public void abc1() throws Exception
{
x++;
System.out.println(x);
System.out.println(y);
}
@Test
public void abc2() throws Exception
{
x++;
System.out.println(x);
System.out.println(y);
}
}
其中可以看到,before,after,test这几种注释,junit框架常用的注释除了这3种还有2种,BeforeClass和AfterClass,大概的执行流程图如下

junit框架的话没有main函数,可以包含多个test注释的代码,一般的是有一定的初始化在beforeclass中,然后调用before代码,再调用第一个test代码,再调用after代码,然后又是下一次迭代,一次before,下一个test然后又是after代码,,,再各个test调用结束之后再调用afterclass代码来最后完结,其他的接口可以放在不同的class中来做,比如a.class,b.class等等
所以在这里对a接口来说,完全可以把参数1,2,3放在不同的test中,然后再把一些初始化工作放在before和beforeclass中,数组整理与一些事后操作放在after和afterclass中这样便可以运行了
另一方面,在上文中可以看到,代码中第一个test把x加一了,但是运行起来,从效果来看的话,很不错,x是相互独立的这也是与for循环和main函数的最大区别~
ok,本文的目的就是科普junit框架,下一篇,我会讲如何自动运行juint框架的代码
java自动化-junit框架简述的更多相关文章
- java自动化-juint框架简述
本人使用的是java的juint框架来组织的自动化测试,故我这边需要简单介绍一下juint框架 首先,建议自行百度一下juint框架,先有一个大概的了解 所谓的接口自动化测试,会对多个接口中每一个接口 ...
- TestNg JAVA 自动化单元测试框架Demo
TestNg TestNg 是java的一个自动化单元测试框架 参考:http://testng.org/doc/index.html 环境准备 既然是java 的自动化单元测试框架,就必须要有jav ...
- java自动化-实际使用junit的演示
本文简单介绍一下我写的http接口后端框架 在经过之前多篇博客介绍之后,读者应掌握如下技能 1,自动运行一个或者多个junit框架编写的java代码 2,对数据驱动以及关键字驱动有一定的了解和认识,甚 ...
- java自动化-数据驱动juint演示,上篇
本文旨在帮助读者介绍,一般的全自动化代码接口,并简单介绍如何使用数据驱动来实现简单的自动化 在经过上述几个博客介绍后,相信读者对自动启动执行一个java编译过的class有了一定了解,也完全有能力去执 ...
- 简单易懂, JUnit 框架问答
本文算是一个关于Junit4相关的知识分享,但是不同于网上大段的源码分析,模式学习文章,我想通过问答的形式,引出代码来简明阐述JUnit4是如何实现需要的功能的. 考虑到任何一个框架,都是为了解决问题 ...
- Java基金会——JUnit
JUnit 測试的重要性毋庸质疑.但怎样使測试更加准确和全面.而且独立于项目之外而且避免硬编码,JUnit给了我们一个非常好的解决方式. 能够说JUnit是为单元測试而生的,一个Java语言的单元測试 ...
- Java 工具 JUnit单元测试
Java 工具 JUnit单元测试 @author ixenos 1.1. JUnit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个 ...
- Java三方---->pdf框架之IText的使用
在企业的信息系统中,报表处理一直占比较重要的作用t.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超链接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题.今天 ...
- 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...
随机推荐
- Python3 与 C# 并发编程之~ 协程篇
3.协程篇¶ 去年微信公众号就陆陆续续发布了,我一直以为博客也汇总同步了,这几天有朋友说一直没找到,遂发现,的确是漏了,所以补上一篇 在线预览:https://github.lesschina.c ...
- selenium技术博客
1.java+selenium+详细的api说明和seleniumGrid使用,缺点是代码不够好看. http://www.cnblogs.com/yytesting/p/5714175.html
- P2518 [HAOI2010]计数
题目链接 \(Click\) \(Here\) 很好很妙的一个题目. 其实可以生成的数字,一定是原数的一个排列,因为\(0\)被放在前面就可以认为不存在了嘛~.也就是说现在求的就是全排列中所有小于该数 ...
- python中 yield的用法和生成器generator的说明
详情: https://www.cnblogs.com/python-life/articles/4549996.html
- Git 分支 (三) 分支管理&&分支开发工作流
分支管理 git branch 命令不只是可以创建与删除分支. 如果不加任何参数运行它,会得到当前所有分支的一个列表: 注意 master 分支前的 * 字符:它代表现在检出的那一个分支(也就是说,当 ...
- MongoDB3.6 一键化自动部署方案
1.系统基础配置 下面的命令默认都使用root用户进行操作,操作系统为Centos7,mongodb3.6.x以上版本 1.1 修改系统配置文件/etc/security/limits.conf和/e ...
- 第十五节:深入理解async和await的作用及各种适用场景和用法
一. 同步VS异步 1. 同步 VS 异步 VS 多线程 同步方法:调用时需要等待返回结果,才可以继续往下执行业务 异步方法:调用时无须等待返回结果,可以继续往下执行业务 开启新线程:在主线程之外 ...
- SQL修改日期类型字段为字符串类型
select * from test1 --添加行 ) --将转换格式后的数据放到列中 ) --删除老的字段 alter table test1 drop column startdate --修改字 ...
- metasploit 教程之信息收集
信息收集 信息收集范围很大,可以从不同层面,不同维度进行信息收集. 系统补丁 我们知道目标机器缺少什么补丁就意味着存在与其对应的漏洞.我们可以利用这些漏洞来达到我们渗透攻击的目的. # 使用的模块 u ...
- Java CAS 比较并且更换值
原文:Java中CAS详解 作者:jayxu无捷之径 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会 ...