CN109408379A - 一种基于提升jmeter接口自动化测试数据匹配方法 - Google Patents
一种基于提升jmeter接口自动化测试数据匹配方法 Download PDFInfo
- Publication number
- CN109408379A CN109408379A CN201811154028.5A CN201811154028A CN109408379A CN 109408379 A CN109408379 A CN 109408379A CN 201811154028 A CN201811154028 A CN 201811154028A CN 109408379 A CN109408379 A CN 109408379A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- jmeter
- count
- request
- 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.)
- Pending
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
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
本发明提供一种基于提升jmeter接口自动化测试数据匹配方法,在jmeter设置一个线程组,线程组执行如下:jmeter添加HTTP信息管理器,输入HTTP请求头;jmeter添加数据库连接器;添加数据库JDBC请求,获取数据库数据的总条数;添加循环控制器,将数据库总条数作为循环次数,输出变量count;在循环控制器下添加HTTP请求,获取返回的页面数据和数据总条数;根据变量count获取页面数据的各字段值;添加数据库JDBC请求,获取各字段值在数据库中的值;在JDBC请求下添加计数器,输出变量N;在JDBC请求下添加断言,对返回的页面数据和数据库数据进行比对,若一致,则测试成功;否则,测试失败;添加调试,查看输出值是否正确。本发明方法可实现自动化同时,提高测试准确度以及测试效率。
Description
技术领域
本发明涉及自动化测试,尤其涉及一种基于提升jmeter接口自动化测试数据匹配方法。
背景技术
一般的接口自动化测试,都是需要将返回数据和预设数据、数据库进行匹配,只要有一方数据不匹配的话,就说明测试不通过,所以接口自动化的实施,都需要和数据库数据进行精确的匹配。但目前的jmeter接口测试中,对于数据匹配只能做到初略匹配,即只能根据是否有返回数据来判断接口是否正常,当返回数据有误时,会出现将接口误判为正常的情况,无法直接实现对接口的准确测试。
发明内容
本发明要解决的技术问题,在于提供一种基于提升jmeter接口自动化测试数据匹配方法,实现自动化同时,提高测试准确度以及测试效率。
本发明是这样实现的:一种基于提升jmeter接口自动化测试数据匹配方法,在jmeter设置一个线程组,所述线程组执行如下步骤:
步骤1、在jmeter添加HTTP信息管理器,输入HTTP对应的请求头;
步骤2、在jmeter添加数据库连接器,输入和数据库对应的链接信息;
步骤3、添加数据库JDBC请求,输入SQL语句,获取数据库数据的总条数DB_result_count_#,将该数值作为一个变量存储下来,供后续使用;
步骤4、添加循环控制器,将数据库的总条数作为循环的次数,输出变量count;
步骤5、在循环控制器下添加HTTP请求,获取返回的页面数据以及页面数据的总条数result_count_matchNr;
步骤6、根据变量count获取所述页面数据的各个字段值并进行解析;
步骤7、添加数据库JDBC请求,获取各个字段值在数据库中的对应值;
步骤8、在JDBC请求下添加计数器,输出变量N,把N输入到数据库变量供后续变量的嵌套和循环对比数据;
步骤9、在JDBC请求下添加断言,对返回的页面数据和数据库数据进行比对,若比对结果一致,则测试成功,被测接口判为正常;否则,测试失败,被测接口判为异常;
步骤10、添加调试,查看断言的输出值是否正确。
进一步的,所述步骤9中比对方式具体为:先判断数据库总条数DB_result_count_#与页面数据总条数result_count_matchNr是否一致,若不一致,则测试失败,被测接口判为异常,否则,通过变量N循环比对数据库各个字段值与页面数据的各个字段值,若存在不一致的字段值,返回该字段数据,测试失败,被测接口判为异常,否则,若各个字段值均比对一致,则测试成功,被测接口判为正常。
进一步的,所述方法还包括步骤11、添加请求树视图,观察执行结果。
进一步的,所述变量count的取值为1至DB_result_count_#。
进一步的,所述变量N的取值为1至DB_result_count_#。
本发明具有如下优点:可实现对jmeter接口自动化测试中的任意一个接口返回数据和任何的数据库数据进行准确匹配,使得测试数据更为精确,提高测试效率。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种基于提升jmeter接口自动化测试数据匹配方法执行流程图。
具体实施方式
如图1所示,本发明一种基于提升jmeter接口自动化测试数据匹配方法,在jmeter设置一个线程组,所述线程组执行如下步骤:
步骤1、在jmeter添加HTTP信息管理器HTTP HeadManage,输入HTTP对应的请求头;
步骤2、在jmeter添加数据库连接器JDBC Conneciotn Configuration,输入和数据库对应的链接信息,如postgres数据库连接,database Url输入jdbc:postgresql://host:port/dbname等等;
步骤3、添加数据库JDBC请求(JDBC Request),输入SQL语句,获取数据库数据的总条数DB_result_count_#,将该数值作为一个变量存储下来,供后续使用;
步骤4、添加循环控制器ForEach Controller,将数据库的总条数作为循环的次数,即获取数据库的结果值${DB_result_count_#},输出变量count,变量count的取值为1至DB_result_count_#;
步骤5、在循环控制器下添加HTTP请求(HTTP Request),获取返回的页面数据以及页面数据的总条数result_count_matchNr,可通过填写对应的http请求域名、端口、url等直接获取到;
步骤6、根据变量count并利用插件获取所述页面数据的各个字段值并进行解析,该插件可以为jp@gc JSON path Extractor;例如用$.data[${count}].name来输出页面数据对应条数的name域的值;
步骤7、添加数据库JDBC请求(JDBC Request),获取各个字段值在数据库中的对应值,例如,用${DB_login_name_N}获取DB_result_count_#个字段值,通过这个变量N获取数据库数据,所述变量N取值为1到DB_result_count_#,比如要获取数据库中总条数为5的login_name的值,则DB_login_name_1=xx1,DB_login_name_2=xx2,…,DB_login_name_5=xx5,诸如此类;
步骤8、在JDBC请求下添加计数器Counter,输出变量N,把N输入到数据库变量供后续变量的嵌套和循环对比数据;
步骤9、在JDBC请求下添加断言BeanShell Assertion,对返回的页面数据和数据库数据进行比对,若比对结果一致,则测试成功,被测接口判为正常;否则,测试失败,被测接口判为异常;所述步骤9中比对方式具体为:先判断数据库总条数与页面数据总条数是否一致,若不一致,则测试失败,被测接口判为异常,否则,通过变量N循环比对数据库各个字段值与页面数据的各个字段值,若存在不一致的字段值,返回该字段数据,测试失败,被测接口判为异常,否则,若各个字段值均比对一致,则测试成功,被测接口判为正常。例如添加断言如下:
步骤10、添加调试Debug Sample,查看断言的输出值是否正确;
在一较佳实施例中,所述方法还包括步骤11、添加请求树视图View RequestTree,观察执行结果。
采用本发明的jemter接口自动化测试方案,可实现对jmeter接口自动化测试中的任意一个被测接口返回的数据和数据库数据进行准确匹配,确保测试结果的精确度,提高测试效率。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (5)
1.一种基于提升jmeter接口自动化测试数据匹配方法,其特征在于:在jmeter设置一个线程组,所述线程组执行如下步骤:
步骤1、在jmeter添加HTTP信息管理器,输入HTTP对应的请求头;
步骤2、在jmeter添加数据库连接器,输入和数据库对应的链接信息;
步骤3、添加数据库JDBC请求,输入SQL语句,获取数据库数据的总条数DB_result_count_#,将该数值作为一个变量存储下来,供后续使用;
步骤4、添加循环控制器,将数据库的总条数作为循环的次数,输出变量count;
步骤5、在循环控制器下添加HTTP请求,获取返回的页面数据以及页面数据的总条数result_count_matchNr;
步骤6、根据变量count获取所述页面数据的各个字段值并进行解析;
步骤7、添加数据库JDBC请求,获取各个字段值在数据库中的对应值;
步骤8、在JDBC请求下添加计数器,输出变量N,把N输入到数据库变量供后续变量的嵌套和循环对比数据;
步骤9、在JDBC请求下添加断言,对返回的页面数据和数据库数据进行比对,若比对结果一致,则测试成功,被测接口判为正常;否则,测试失败,被测接口判为异常;
步骤10、添加调试,查看断言的输出值是否正确。
2.根据权利要求1所述的一种基于提升jmeter接口自动化测试数据匹配方法,其特征在于:所述步骤9中比对方式具体为:先判断数据库总条数DB_result_count_#与页面数据总条数result_count_matchNr是否一致,若不一致,则测试失败,被测接口判为异常,否则,通过变量N循环比对数据库各个字段值与页面数据的各个字段值,若存在不一致的字段值,返回该字段数据,测试失败,被测接口判为异常,否则,若各个字段值均比对一致,则测试成功,被测接口判为正常。
3.根据权利要求1所述的一种基于提升jmeter接口自动化测试数据匹配方法,其特征在于:所述方法还包括步骤11、添加请求树视图,观察执行结果。
4.根据权利要求1所述的一种基于提升jmeter接口自动化测试数据匹配方法,其特征在于:所述变量count的取值为1至DB_result_count_#。
5.根据权利要求1所述的一种基于提升jmeter接口自动化测试数据匹配方法,其特征在于:所述变量N的取值为1至DB_result_count_#。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811154028.5A CN109408379A (zh) | 2018-09-30 | 2018-09-30 | 一种基于提升jmeter接口自动化测试数据匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811154028.5A CN109408379A (zh) | 2018-09-30 | 2018-09-30 | 一种基于提升jmeter接口自动化测试数据匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408379A true CN109408379A (zh) | 2019-03-01 |
Family
ID=65465716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811154028.5A Pending CN109408379A (zh) | 2018-09-30 | 2018-09-30 | 一种基于提升jmeter接口自动化测试数据匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408379A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666301A (zh) * | 2020-05-08 | 2020-09-15 | 广州微算互联信息技术有限公司 | 业务接口测试方法、计算机装置和存储介质 |
CN112256944A (zh) * | 2020-10-26 | 2021-01-22 | 四川长虹电器股份有限公司 | 基于JMeter的网站数据自动爬取方法 |
CN113535841A (zh) * | 2021-08-04 | 2021-10-22 | 杭州遥望网络科技有限公司 | 一种数据校验方法、装置、设备及计算机可读存储介质 |
CN113722191A (zh) * | 2021-11-04 | 2021-11-30 | 企查查科技有限公司 | 页面监视方法、装置、设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011054024A1 (en) * | 2009-11-06 | 2011-05-12 | Toby Biddle | A usability testing tool |
CN106383786A (zh) * | 2016-09-27 | 2017-02-08 | 北京金山安全软件有限公司 | 一种接口压力性能测试方法、装置及电子设备 |
CN106815141A (zh) * | 2015-12-02 | 2017-06-09 | 北京奇虎科技有限公司 | 一种软件测试方法和装置 |
CN107544897A (zh) * | 2017-08-25 | 2018-01-05 | 重庆扬讯软件技术股份有限公司 | 基于一体化实时监控的性能测试方法与系统 |
-
2018
- 2018-09-30 CN CN201811154028.5A patent/CN109408379A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011054024A1 (en) * | 2009-11-06 | 2011-05-12 | Toby Biddle | A usability testing tool |
CN106815141A (zh) * | 2015-12-02 | 2017-06-09 | 北京奇虎科技有限公司 | 一种软件测试方法和装置 |
CN106383786A (zh) * | 2016-09-27 | 2017-02-08 | 北京金山安全软件有限公司 | 一种接口压力性能测试方法、装置及电子设备 |
CN107544897A (zh) * | 2017-08-25 | 2018-01-05 | 重庆扬讯软件技术股份有限公司 | 基于一体化实时监控的性能测试方法与系统 |
Non-Patent Citations (1)
Title |
---|
NIUZHIGANG: "jmeter实现DB数据与接口数据的匹配校验", 《HTTPS://WWW.CNBLOGS.COM/NZG-NOWAY/P/7049367.HTML》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666301A (zh) * | 2020-05-08 | 2020-09-15 | 广州微算互联信息技术有限公司 | 业务接口测试方法、计算机装置和存储介质 |
CN111666301B (zh) * | 2020-05-08 | 2023-08-15 | 广州微算互联信息技术有限公司 | 业务接口测试方法、计算机装置和存储介质 |
CN112256944A (zh) * | 2020-10-26 | 2021-01-22 | 四川长虹电器股份有限公司 | 基于JMeter的网站数据自动爬取方法 |
CN113535841A (zh) * | 2021-08-04 | 2021-10-22 | 杭州遥望网络科技有限公司 | 一种数据校验方法、装置、设备及计算机可读存储介质 |
CN113722191A (zh) * | 2021-11-04 | 2021-11-30 | 企查查科技有限公司 | 页面监视方法、装置、设备和计算机可读存储介质 |
CN113722191B (zh) * | 2021-11-04 | 2022-03-04 | 企查查科技有限公司 | 页面监视方法、装置、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408379A (zh) | 一种基于提升jmeter接口自动化测试数据匹配方法 | |
US9983984B2 (en) | Automated modularization of graphical user interface test cases | |
US8555234B2 (en) | Verification of soft error resilience | |
US9311345B2 (en) | Template based database analyzer | |
CN116663462B (zh) | 断言验证方法、断言验证平台、电子设备及可读存储介质 | |
CN116502273B (zh) | 基于数据血缘的动态数据脱敏方法、装置和设备 | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN104572474A (zh) | 一种基于动态切片的轻量级错误定位技术实现方法 | |
CN113312258B (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN108897678B (zh) | 静态代码检测方法和静态代码检测系统、存储设备 | |
CN116401113B (zh) | 一种异构众核架构加速卡的环境验证方法、装置及介质 | |
WO2017015955A1 (en) | Application testing | |
CN117724980A (zh) | 软件框架性能的测试方法、装置、电子设备和存储介质 | |
US20120124428A1 (en) | Method and system for testing software on programmable devices | |
CN115422865B (zh) | 仿真方法及装置、计算设备、计算机可读存储介质 | |
US20230047860A1 (en) | Systems, methods, and media for fault localization in declarative specification languages | |
Bodhe et al. | Diagnostic Fail Data Minimization Using an $ N $-Cover Algorithm | |
WO2019242108A1 (zh) | 一种基于聚类分析的软件缺陷修复模板提取方法 | |
Poulos et al. | Exemplar-based failure triage for regression design debugging | |
CN115525660A (zh) | 一种数据表的校验方法、装置、设备及介质 | |
CN111813665A (zh) | 一种基于python的大数据平台接口数据测试方法和系统 | |
US20150347645A1 (en) | Correlation of test results and test coverage for an electronic device design | |
CN111338874A (zh) | 一种测试gpu速率切换的方法及系统 | |
CN112506803B (zh) | 大数据测试方法及系统 | |
CN108845926A (zh) | 一种bdr扩展准确性自动化测试方法和测试系统 |
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 |