java自动化-juint框架简述
本人使用的是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自动化-juint框架简述的更多相关文章
- java自动化-junit框架简述
本人使用的是java的junit框架来组织的自动化测试,故我这边需要简单介绍一下junit框架 首先,建议自行百度一下junit框架,先有一个大概的了解 所谓的接口自动化测试,会对多个接口中每一个接口 ...
- TestNg JAVA 自动化单元测试框架Demo
TestNg TestNg 是java的一个自动化单元测试框架 参考:http://testng.org/doc/index.html 环境准备 既然是java 的自动化单元测试框架,就必须要有jav ...
- java juint框架的windows自动化-自动运行juint程序简述
在京东混了一个月,基本有点稳定了,觉得也有所余力了现在,继续写博客吧,不过以后更新也许不是那么频繁了 本人使用的是juint框架,对开发是一个单元测试的java框架,但是对测试而言是java的基石之一 ...
- java自动化-数据驱动juint演示,上篇
本文旨在帮助读者介绍,一般的全自动化代码接口,并简单介绍如何使用数据驱动来实现简单的自动化 在经过上述几个博客介绍后,相信读者对自动启动执行一个java编译过的class有了一定了解,也完全有能力去执 ...
- Java Junit测试框架
Java Junit测试框架 1.相关概念 Ø JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要 ...
- 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...
- JAVA后端常用框架SSM,redis,dubbo等
JAVA后端常用框架SSM,redis,dubbo等 一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 spri ...
- Java自动化环境搭建笔记(2)
Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...
- Java自动化环境搭建笔记(1)
Java自动化环境搭建笔记(1) 自动化测试 先搭建java接口测试的环境: 使用mvn命令构建项目 测试集通过testNG.xml组织并运行 测试数据解耦,通过Excel等文件提供 基础依赖 创建m ...
随机推荐
- Ubuntu Server 17.04安装GNOME指令
短短几行指令,从安装到打开: apt-get install gnome-shell apt-get install xinit xshell 开启 关闭: Ctrl+Alt+F1 Ctrl+A ...
- git fatal: I don't handle protocol 'https'问题的解决
问题重现 新建的仓库,再把本地的代码往上push的时候Git提示 $ fatal: I don't handle protocol 'https' 问题分析 Git是支持https的,这点毋庸置疑,所 ...
- 翻译:MariaDB ALTER TABLE语句
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Python扩展方法一二事
前言 跟着一个有强迫症的老板干活是一件极其幸福的事情(你懂的).最近碰到一个问题,简单的说就是对一个对象做出部分修改后仍然返回此对象,于是我就写了一个方法,老板看了之后只有一句话:不雅观,改成直接对此 ...
- SSM框架——Spring+SpringMVC+Mybatis的搭建教程
一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛. Spring作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是IOC和AOP. S ...
- 修改Form ->Top和Left 造成的莫名其妙的显示异常 “轴信息”
相关代码: 运行程序: 要等待很久,或者把主窗体最小化,再最大化打开"轴信息" 才会恢复正常. 这个"不爽"很蛋蛋 ,网友亲亲们,有独到见解的亲亲们,期待得到你 ...
- 替换应用程序DLL动态库的详细方法步骤 (gts.dll为例)
在C++ builder编译器IDE软件下 1.View -Project Manageer --找到需要替换的x.dll(gts.dll)对应的x.lib(gts.lib),然后Remove2.Pr ...
- jQuery中的常用内容总结(三)
jQuery中的常用内容总结(三) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7571998.html 内容提要 选择器(第一节) 选择器的扩展方法(第一节) ...
- 邮件实现详解(二)------手工体验smtp和pop3协议
上篇博客我们简单介绍了电子邮件的发送和接收过程,对参与其中的邮件服务器,邮件客户端软件,邮件传输协议也有简单的介绍.我们知道电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行传递必须 ...
- c++ 11 移动语义、std::move 左值、右值、将亡值、纯右值、右值引用
为什么要用移动语义 先看看下面的代码 // rvalue_reference.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #includ ...