基于Java开发的testNG接口自动化测试

基于Java开发的testNG接口自动化测试1.TestNG简介TestNG是一个开源的测试框架与Junit的发行顺序:Junit3->TestNG->Junit4,TestNG的灵感来自于Junit3,在TestNG推出不久后,Junit借鉴了其中很多概念,也推出了差不多四年以来首个发行版本Junit4。所以,TestNG跟JUnit4很像,但它并不是JUnit的扩展,它的创建目的是超越Junit。TestNG具有更强…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1. TestNG简介

TestNG是一个开源的测试框架
与Junit的发行顺序:Junit3->TestNG->Junit4,TestNG的灵感来自于Junit3,在TestNG推出不久后,Junit借鉴了其中很多概念,也推出了差不多四年以来首个发行版本Junit4。
所以,TestNG跟JUnit4很像,但它并不是JUnit的扩展,它的创建目的是超越Junit。TestNG具有更强大的功能,引入了组测试的概念。TestNG不单纯用来做单元测试,它的作用在于为程序做集成测试。

2. 动手前准备

本文假定你对java和maven有一定的了解。在开始实践之前,需要你准备好以下环境:

JDK环境
IDE(Eclipse or other)
安装配置好maven

Jetbrains全家桶1年46,售后保障稳定

3. 实践

下面将完整地介绍,如何利用eclipse和maven来配置TestNG进行一个简单的Hello World测试。

3.1 Eclipse TestNG插件安装

eclipse工具栏目 : Help -> Install New Software 输入http://beust.com/eclipse在线安装,完成后重启eclipse引入项目即可。

※初次引入maven项目,会先下载jar包,所以编译时间会较长。

3.2 TestNG代码思路

一次请求的执行过程无异于以下几步:预置数据->发送请求->检查执行结果->恢复数据,这些操作需要的数据即测试用例相关数据,在Excel文件中定义,程序通过读取Excel文件内容,分别自动执行测试用例,实现了自动化测试。

代码实现
a、通过数据驱动,加载excel数据
注意:数据驱动和test注解定义的名字必须一样(如testcase)
b、Excel有几列数据,则f里面定义几个参数接收
c、Excel每行数据代表一个请求,其中定义好预置数据、请求消息及预期数据等,代码每读一行Excel调用一次f方法

public class TestRun {
@Test(dataProvider = "testcase")
public void f(String id,String isExec,String testCase,String reqType,String reqHost,String reqInterface,String reqData,String expResult,String isDep,String depKey) {
	System.out.println(id );
}

@DataProvider(name = "testcase")
public Object[][] dp() {
	Object[][] data = null;
	try {
		ExcelUtil excelUtil = new ExcelUtil("D:\\autotest\\app_testcase.xlsx");
		data = excelUtil.getArrayCellValue(0);
	} catch (Exception e) {
	}
	return data;
}
3.3 执行过程与结果

工作中实际用到的接口测试类型(都是post请求)
1、查询类接口:直接检查请求后返回的消息体即可
2、设置类接口:不光要检查请求后返回的消息体,还要检查数据库中某些表的某些字段的值
3、作为客户端的接口:需要检查请求发出后,我们发出的请求是否正确,该类接口需要从日志中截取到响应的请求服务端的消息体后进行检证
4、拦截记录查询接口:这类接口比较特殊,需要从redis里面读取拦截记录,即查询的是redis非关系型数据库,而不是普通的业务关系型数据路,informix、MySQL等

根据以上要求,设计了Excel文件的各列信息,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203564.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqlformat数字格式化_java怎么输出数字

    sqlformat数字格式化_java怎么输出数字前言以前用到要对数字格式的地方,都是直接到网上搜一下。拿过来能用就行。因为平时用的不多。但是最近的项目对这个用的多了。网上拿来的不够用了。自己看了java源码把这方面恶补了。而且最近也好长时间没有写博客了。正好写一篇抛砖引玉吧。正文如果你对java源码比较了解。你会发现java对文字,数字的格式化,是有一个公共的父类的Format。NumberFormat和DecimalFormat都是它…

    2022年10月8日
    0
  • QtreeView 树形结构「建议收藏」

    QtreeView 树形结构「建议收藏」QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点)。1.QStandardItemModel在QTreeView中的使用使用QTreeView的对应模型是QStandardItemModel,这个是Qt对应ui界面最有用的模型,…

    2022年6月4日
    31
  • L2-006. 树的遍历

    L2-006. 树的遍历

    2022年3月13日
    49
  • HashMap扩容机制解读[通俗易懂]

    HashMap扩容机制解读[通俗易懂]扩容机制什么时候需要扩容:当hashmap中的元素个数超过数组大小*loadFactor(负载因子)时,就会进行数组扩容,loadFactor的默认值(DEFAULT_LOAD_FACTOR)是0.75这是一个折中的取值,也就是说,默认情况下数组大小为16,那么当hashmap中的元素个数超过16*0.75=12(阈值或者边界值的时候)就把数组的大小扩展Wie2*16=32,然后重新计算出每个元素在数组中的位置,而这是一个非常耗性能的操作,所以我们最好能够提前预知并设置元素的个数。注

    2022年6月17日
    27
  • 实用的sublime插件集合 – sublime推荐必备插件

    实用的sublime插件集合 – sublime推荐必备插件插件介绍PackageControl功能:安装包管理简介:sublime插件控制台,提供添加、删除、禁用、查找插件等功能使用:https://sublime.wbond.net/installation安装方法:CTRL+`,出现控制台粘贴以下代码至控制台ST2:1

    2022年6月24日
    25
  • Timer和TimerTask详解

    如果要执行一些简单的定时器任务,无须做复杂的控制,也无须保存状态,那么可以考虑使用JDK入门级的定期器Timer来执行重复任务。

    2022年4月9日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号