基于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文件的各列信息,

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • GPU利用率低的解决办法[通俗易懂]

    GPU利用率低的解决办法[通俗易懂]watch-n0.1-dnvidia-smi#检查GPU利用率参数解决办法:1.dataloader设置参数2.增大batchsize3.减少IO操作,比如tensorboard的写入和打印。4.换显卡

  • CSS布局模型_如何将模型导入布局

    CSS布局模型_如何将模型导入布局CSS布局:Flow,Float,Layer(absolute,relative,fixed),堆叠控制

    2022年10月28日
  • html head 全局变量,Javascript全局变量的使用方法

    html head 全局变量,Javascript全局变量的使用方法1.demo例子说明vargDivId;//js全局变量functiongeocoder(lastLon,lastLat,result){alert(“lastLon:”+lastLon);alert(“lastLat:”+lastLat);alert(“result:”+result);gDivId=result;//赋值给全局变量}functiontestff(){aler…

  • <Javascript>浅谈js“三元表达式” (三元运算符)

    <Javascript>浅谈js“三元表达式” (三元运算符)前言各位大神,大家好,相约周三。我们又见面了。众所周知,三元表达式在代码量上比if…else语句更简洁一些。但是博主刘少在可读性上更加偏向于if…else语句。三元表达式不仅在js中使用,在很多后台程序语言,比如java、php中都有使用,不过在js中对于三元表达式的要求貌似要松很多。废话不多说。下面一起看看三元表达式。三元表达式素质N连问首先为什么叫三元表达式?顾…

  • TTL与RS-485电平转换芯片MAX485/MAX3485「建议收藏」

    TTL与RS-485电平转换芯片MAX485/MAX3485「建议收藏」常用的转换芯片是MAX485(5V),MAX3485(3.3V),它们都是半双工的。     A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。下图是485抗干扰的原理:

  • 智能优化算法:海鸥优化算法-附代码

    智能优化算法:海鸥优化算法-附代码2019智能算法:海鸥优化算法-附代码摘要:本文简单介绍智能优化算法-海鸥优化算法1.原理海鸥是遍布全球的海鸟,海鸥种类繁多且大小和身长各不相同。海鸥是杂食动物,吃昆虫、鱼、爬行动物、两栖动物和蚯蚓等。大多数海鸥的身体覆盖着白色的羽毛,经常用面包屑来吸引鱼群,用脚发出雨水落下的声音来吸引藏在地下的蚯蚓。海鸥可以喝淡水和盐水,通过眼睛上方的一对特殊腺体,将盐从它们的体内排出。海鸥以群居式生活,利用智慧来寻找和攻击猎物。海鸥最重要特征是迁徙和攻击行为,迁徙是动物从一个地方到另一个地方根据季节更替

发表回复

您的电子邮箱地址不会被公开。

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