基于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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Hadoop操作HDFS命令「建议收藏」

    Hadoop操作HDFS命令「建议收藏」Hadoop操作HDFS命令如下所示: hadoopfs 查看HadoopHDFS支持的所有命令 hadoopfs–ls 列出目录及文件信息 hadoopfs–lsr 循环列出目录、子目录及文件信息 hadoopfs–puttest.txt/user/sunlightcs 将本地文件系统的test.txt复制到HDFS文件系统的/

    2022年10月4日
    4
  • 高效易用的okio(二)

    高效易用的okio(二)在上篇文章中,我们知道了一些JavaIO的概念,也了解了okio的用法,现在我们来分析一下源码Okio我们回到上篇的代码:Sourcesource=Okio.source(newFile(mPath));Stringread=Okio.buffer(source).readString(Charset.forName("utf-8"));显而易见Okio…

    2022年6月3日
    31
  • java 实现http长轮询,Long Polling长轮询实现进阶「建议收藏」

    java 实现http长轮询,Long Polling长轮询实现进阶「建议收藏」LongPolling长轮询实现进阶简书涤生。转载请注明原创出处,谢谢!如果读完觉得有收获的话,欢迎点赞加关注。介绍由于LongPolling长轮询详解这篇文章中的code实现较为简单,尤其是服务端处理较为粗暴,有一些同学反馈希望服务端处理阻塞这块内容进行更深入讨论等等,所以这里专门补一篇实现进阶,让大家对长轮询有更加深刻的理解。疑问对上篇文章,同学反馈有两个疑问。服务端实现使用的是同…

    2022年10月10日
    3
  • python递归函数讲解_Python递归函数实例讲解

    python递归函数讲解_Python递归函数实例讲解Python递归函数实例讲解Python递归函数实例1、打开Python开发工具IDLE,新建‘递归.py’文件,并写代码如下:defdigui(n):ifn==0:print(”)returnprint(‘*’*n)digui(n-1)if__name__==’__main__’:digui(5)这里递归打印*号,先打印后递归2、F5运行程序,打印内容如下;********…

    2025年7月25日
    4
  • Java类加载机制与Tomcat类加载器架构

    Java类加载机制与Tomcat类加载器架构Java类加载机制类加载器虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。类加载器可以说是Java语言的一项创新,也是Java语言流行的重要原因之一,它最初是为了满足JavaApplet的需求而开发出来的。虽然目前JavaA

    2022年5月20日
    42
  • 干掉IDEA:JetBrains推出下一代轻量级开发工具Fleet

    干掉IDEA:JetBrains推出下一代轻量级开发工具FleetJetBrains以20年的IDE开发经验为基础从头打造了号称下一代的开发工具Fleet,它使用了IntelliJ代码处理引擎,具有分布式IDE架构和重新设计的UI。它的…

    2022年5月21日
    489

发表回复

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

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