CN107678963A - 一种基于java的接口自动化测试方法 - Google Patents
一种基于java的接口自动化测试方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test 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的接口自动化测试方法。
背景技术
目前从事软件测试工作、基于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中,通过查看输出数据和比较数据,得知测试结果,并对测试结果进行数据统计。
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)
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)
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 | 四川长虹电器股份有限公司 | 自动扩展接口测试用例的自动化测试系统与方法 |
-
2017
- 2017-09-27 CN CN201710892066.XA patent/CN107678963A/zh not_active Withdrawn
Patent Citations (8)
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)
Title |
---|
WADEXU: ""零成本实现接口自动化测试 – Java+TestNG 测试Restful service"", 《HTTPS://WWW.CNBLOGS.COM/WADE-XU/P/4229805.HTML#!COMMENTS》 * |
Cited By (5)
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 |