CN107678963A - 一种基于java的接口自动化测试方法 - Google Patents

一种基于java的接口自动化测试方法 Download PDF

Info

Publication number
CN107678963A
CN107678963A CN201710892066.XA CN201710892066A CN107678963A CN 107678963 A CN107678963 A CN 107678963A CN 201710892066 A CN201710892066 A CN 201710892066A CN 107678963 A CN107678963 A CN 107678963A
Authority
CN
China
Prior art keywords
result
data
interface
newly
baseline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201710892066.XA
Other languages
English (en)
Inventor
何龙泉
关班记
张远世
庞毅
齐兆勇
黄博
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201710892066.XA priority Critical patent/CN107678963A/zh
Publication of CN107678963A publication Critical patent/CN107678963A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及接口自动化测试开发领域,具涉及一种基于JAVA的接口自动化测试方法。本发明方法是:创建Maven工程,下载相应依赖包;新建testng.xml文件,配置Excel文件读取路径;新建Excel文件,按接口格式新增DataInput和Baseline两个sheet页,并新建DataOutput,ComData、ResultData三个空sheet页;调用DataReader构造函数,读取Excel中DataInput的数据,第五,调用HttpReqGen类生成对应的接口请求,并返回接口响应数据;第六,调用DataWriter构造函数,比较结果,统计数据写到Excel文件的DataOutput,ComData,ResultData三个sheet页。本发明减少了测试脚本的维护成本,避免人为错误。

Description

一种基于JAVA的接口自动化测试方法
技术领域
本发明涉及接口自动化测试开发领域,具涉及一种基于JAVA的接口自动化测试方法。
背景技术
目前从事软件测试工作、基于web接口的集成测试中,大部分公司采用SoupUI测试工具、GetMan在线测试工具来进行纯手工的接口测试。如此需要跟工具进行频繁的交互工作,需要人工进行接口参数的输入,人为输入的工作量很大。这就给接口测试带来一定的隐患性,从而导致测试时间增加,测试效率低的问题。
发明内容
本发明解决的技术问题在于提供一种基于JAVA的接口自动化测试方法,实现软件接口自动化测试。
本发明解决上述技术问题的技术方案是:
包含以下几个步骤:
步骤1:创建Maven工程,下载相应依赖包;
步骤2:新建testng.xml文件,配置Excel文件读取路径;
步骤3:新建Excel文件,按接口格式新增DataInput和Baseline两个sheet页,并新建DataOutput,ComData、ResultData三个空sheet页;
步骤4:调用DataReader构造函数,读取Excel中DataInput的数据,为测试方法提供数据源;
步骤5:调用HttpReqGen类生成对应的接口请求,并返回接口响应数据;
步骤6:调用DataWriter构造函数,比较结果,统计数据写到Excel文件的DataOutput,ComData,ResultData三个sheet页。
所述的依赖包包括TestNG,Apache POI,Jayway rest-assured,Skyscreamer-JSONassert。
所述的步骤3中,DataInput中存放输入数据,读取数据后拼成request调用service,拿到response后写入DataOutput即实际结果,Baseline为基线(期望结果)用来和实际结果对比的,ComData里存放的是对比结果不一致的记录,ResultData是一个简单的结果报告。
所述的步骤5中,返回的response是一个JSON体,通过与Baseline中事先填好的JSON格式的期望结果进行比较,根据结果是Pass还是Fail,都会相应的往Excel里的相应Sheet写结果。
所述的步骤6中,通过查看输出数据和比较数据,得知测试结果,并对测试结果进行数据统计。
本发明的有益效果是:
本方法是一种通用的公共处理方法,通过配置Excel文件读取路径实现数据与代码分离,数据驱动测试,用Excel来管理数据。以后在处理excel文件时,无需开发多余的代码,只需要建立关联配置文件即可。该方法使用反射机射来实现把相应的值设置为指定属性的值,因此在java的属性上完成没有任何的限制,可实现通过的方法,可大大提高平台的研发效率。相比传统的测试方法,接口自动化稳定性可靠性高,实施难易程度低,做自动化性价比高,减少了测试脚本的维护成本,避免人为所带来的概率性错误,从而提高测试效率,提高脚本的可重用性。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的方法流程图。
具体实施方式
见图1所示,本发明一种基于JAVA的接口自动化测试方法,具体包含以下几个步骤。
如附图1所示;包括如下步骤:
步骤1:创建Maven工程,下载相应依赖包;所述的依赖包包括TestNG,Apache POI,Jayway rest-assured,Skyscreamer-JSONassert。
步骤2:新建testng.xml文件,配置Excel文件读取路径;
步骤3:新建Excel文件,按接口格式新增DataInput和Baseline两个sheet页,并新建DataOutput,ComData、ResultData三个空sheet页。DataInput中存放输入数据,读取数据后拼成request调用service,拿到response后写入DataOutput即实际结果,Baseline为基线(期望结果)用来和实际结果对比的,ComData里存放的是对比结果不一致的记录,ResultData是一个简单的结果报告。
步骤4:调用DataReader构造函数,读取Excel中DataInput的数据,为测试方法提供数据源;
步骤5:调用HttpReqGen类生成对应的接口请求,并返回接口响应数据;返回的response是一个JSON体,通过与Baseline中事先填好的JSON格式的期望结果进行比较,根据结果是Pass还是Fail,都会相应的往Excel里的相应Sheet写结果。
步骤6:调用DataWriter构造函数,把接口响应数据,比较结果,统计数据写到Excel文件的DataOutput,ComData,ResultData三个sheet页。通过查看输出数据和比较数据,得知测试结果,并对测试结果进行数据统计。

Claims (7)

1.一种基于JAVA的接口自动化测试方法,其特征在于:
包含以下几个步骤:
步骤1:创建Maven工程,下载相应依赖包;
步骤2:新建testng.xml文件,配置Excel文件读取路径;
步骤3:新建Excel文件,按接口格式新增DataInput和Baseline两个sheet页,并新建DataOutput,ComData、ResultData三个空sheet页;
步骤4:调用DataReader构造函数,读取Excel中DataInput的数据,为测试方法提供数据源;
步骤5:调用HttpReqGen类生成对应的接口请求,并返回接口响应数据;
步骤6:调用DataWriter构造函数,比较结果,统计数据写到Excel文件的DataOutput,ComData,ResultData三个sheet页。
2.根据权利要求1所述的方法,其特征在于:所述的依赖包包括TestNG,Apache POI,Jayway rest-assured,Skyscreamer-JSONassert。
3.根据权利要求1所述的方法,其特征在于:所述的步骤3中,DataInput中存放输入数据,读取数据后拼成request调用service,拿到response后写入DataOutput即实际结果,Baseline为基线(期望结果)用来和实际结果对比的,ComData里存放的是对比结果不一致的记录,ResultData是一个简单的结果报告。
4.根据权利要求2所述的方法,其特征在于:所述的步骤3中,DataInput中存放输入数据,读取数据后拼成request调用service,拿到response后写入DataOutput即实际结果,Baseline为基线(期望结果)用来和实际结果对比的,ComData里存放的是对比结果不一致的记录,ResultData是一个简单的结果报告。
5.根据权利要求1至4任一项所述的方法,其特征在于:所述的步骤5中,返回的response是一个JSON体,通过与Baseline中事先填好的JSON格式的期望结果进行比较,根据结果是Pass还是Fail,都会相应的往Excel里的相应Sheet写结果。
6.根据权利要求1至4任一项所述的方法,其特征在于:所述的步骤6中,通过查看输出数据和比较数据,得知测试结果,并对测试结果进行数据统计。
7.根据权利要求5所述的方法,其特征在于:所述的步骤6中,通过查看输出数据和比较数据,得知测试结果,并对测试结果进行数据统计。
CN201710892066.XA 2017-09-27 2017-09-27 一种基于java的接口自动化测试方法 Withdrawn CN107678963A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710892066.XA CN107678963A (zh) 2017-09-27 2017-09-27 一种基于java的接口自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710892066.XA CN107678963A (zh) 2017-09-27 2017-09-27 一种基于java的接口自动化测试方法

Publications (1)

Publication Number Publication Date
CN107678963A true CN107678963A (zh) 2018-02-09

Family

ID=61137870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710892066.XA Withdrawn CN107678963A (zh) 2017-09-27 2017-09-27 一种基于java的接口自动化测试方法

Country Status (1)

Country Link
CN (1) CN107678963A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427646A (zh) * 2018-04-13 2018-08-21 中国民航信息网络股份有限公司 基于Appium的安卓App自动化测试框架构建方法和装置
CN109800111A (zh) * 2019-02-01 2019-05-24 上海雷腾软件股份有限公司 接口冗余数据的测试方法及设备
CN110287119A (zh) * 2019-06-28 2019-09-27 深圳市万睿智能科技有限公司 一种基于python的接口自动化测试方法及装置
CN111240958A (zh) * 2019-12-04 2020-06-05 五八同城信息技术有限公司 一种接口测试方法、装置、电子设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164312A (zh) * 2011-12-09 2013-06-19 阿里巴巴集团控股有限公司 一种准备接口测试数据的方法及系统
US20140278199A1 (en) * 2013-03-14 2014-09-18 Accenture Global Services Limited Automation of d-bus communication testing for bluetooth profiles
CN104615534A (zh) * 2015-01-28 2015-05-13 广州酷狗计算机科技有限公司 接口测试方法和装置
CN106407117A (zh) * 2016-09-27 2017-02-15 浪潮软件集团有限公司 一种通用的接口测试方法
CN106407112A (zh) * 2016-09-09 2017-02-15 浪潮软件集团有限公司 基于Selenium和TestNG的自动化测试方法
CN106484613A (zh) * 2016-09-13 2017-03-08 郑州云海信息技术有限公司 一种基于fitnese的接口自动化测试框架
CN106549800A (zh) * 2016-10-31 2017-03-29 北京奇鱼时代科技有限公司 用于在网络系统中批量校验数据接口的方法和装置
CN107203473A (zh) * 2017-05-26 2017-09-26 四川长虹电器股份有限公司 自动扩展接口测试用例的自动化测试系统与方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164312A (zh) * 2011-12-09 2013-06-19 阿里巴巴集团控股有限公司 一种准备接口测试数据的方法及系统
US20140278199A1 (en) * 2013-03-14 2014-09-18 Accenture Global Services Limited Automation of d-bus communication testing for bluetooth profiles
CN104615534A (zh) * 2015-01-28 2015-05-13 广州酷狗计算机科技有限公司 接口测试方法和装置
CN106407112A (zh) * 2016-09-09 2017-02-15 浪潮软件集团有限公司 基于Selenium和TestNG的自动化测试方法
CN106484613A (zh) * 2016-09-13 2017-03-08 郑州云海信息技术有限公司 一种基于fitnese的接口自动化测试框架
CN106407117A (zh) * 2016-09-27 2017-02-15 浪潮软件集团有限公司 一种通用的接口测试方法
CN106549800A (zh) * 2016-10-31 2017-03-29 北京奇鱼时代科技有限公司 用于在网络系统中批量校验数据接口的方法和装置
CN107203473A (zh) * 2017-05-26 2017-09-26 四川长虹电器股份有限公司 自动扩展接口测试用例的自动化测试系统与方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WADEXU: ""零成本实现接口自动化测试 – Java+TestNG 测试Restful service"", 《HTTPS://WWW.CNBLOGS.COM/WADE-XU/P/4229805.HTML#!COMMENTS》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427646A (zh) * 2018-04-13 2018-08-21 中国民航信息网络股份有限公司 基于Appium的安卓App自动化测试框架构建方法和装置
CN108427646B (zh) * 2018-04-13 2021-11-16 中国民航信息网络股份有限公司 基于Appium的安卓App自动化测试框架构建方法和装置
CN109800111A (zh) * 2019-02-01 2019-05-24 上海雷腾软件股份有限公司 接口冗余数据的测试方法及设备
CN110287119A (zh) * 2019-06-28 2019-09-27 深圳市万睿智能科技有限公司 一种基于python的接口自动化测试方法及装置
CN111240958A (zh) * 2019-12-04 2020-06-05 五八同城信息技术有限公司 一种接口测试方法、装置、电子设备及介质

Similar Documents

Publication Publication Date Title
CN107678963A (zh) 一种基于java的接口自动化测试方法
CN109189684B (zh) 基于Python的接口自动化测试方法
CN110764753B (zh) 一种业务逻辑代码生成方法、装置、设备及存储介质
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
US20140075242A1 (en) Testing rest api applications
CN104156224B (zh) 一种软件构建持续集成方法及系统
CN107203473A (zh) 自动扩展接口测试用例的自动化测试系统与方法
CN104572463B (zh) 测试接口信息的方法及装置
US8037450B2 (en) System and methods for tracing code generation in template engines
CN108920250A (zh) 应用程序容器化的方法及装置
CN109783355A (zh) 页面元素获取方法、系统、计算机设备及可读存储介质
CN106919511B (zh) 应用的模拟方法、模拟应用及其运作方法以及模拟系统
CN102508779A (zh) 基于网络爬虫日志的性能测试脚本自动化生成系统及方法
CN107291623A (zh) 一种应用程序测试方法和装置
CN117632710A (zh) 测试代码的生成方法、装置、设备及存储介质
CN109857637A (zh) 一种基于注解的Java语言方法覆盖率和方法输入输出统计方法及装置
CN113419969A (zh) 基于浏览器插件的界面自动化成功率保障方法
CN117312365A (zh) 通用标准结构化查询语言转换异构数据源的方法及系统
CN107797805A (zh) 一种代码封装方法、装置及计算机可读存储介质
CN117370217A (zh) 一种基于python的接口测试结果自动生成方法
CN109558315A (zh) 测试范围的确定方法、装置及设备
CN104570426A (zh) 液晶模组的vcom数据烧录校验方法
CN111506594A (zh) 一种大数据查询平台及其管理方法和数据查询方法
CN111078529A (zh) 客户端写入模块测试方法、装置、电子设备
CN113378502B (zh) 验证信号走向配码的测试方法、装置、介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180209