• 12
  • 11
分享
  • Jmeter数据库及接口测试——软件测试圈
  • 北极 2022-01-17 16:08:28 字数 1646 阅读 2052 收藏 11

1、打开Jmeter:

下载好Jmeter后,双击bin目录下的jmeter.bat文件:

图片1.png

2、添加“HTTP信息头管理器”:

图片2.png

图片3.png

3、添加”用户定义的变量”组件:

这里设置公共变量,适用共有请求参数的变量,比如IP地址、用户id等

图片4.png

图片5.png

4、添加“Http请求默认值”组件:

当被测系统有唯一的访问域名和端口时,填写被测系统的域名和端口,http请求的实现包版本以及具体协议类型,线程组里的所有“HTTPSampler”可默认使用此设置。

图片6.png

图片7.png

5、添加”JDBCConnectionConfiguration”组件:

这边是oracle数据库的连接配置,需要添加jdbc驱动jar包ojdbc14.jar,放在jmeter/lib目录下;

图片8.png

在测试计划界面,添加驱动包,点击浏览添加ojdbc14.jar即可

图片9.png

在”JDBCConnectionConfiguration”界面,在DatabaseConnectionConfiguration输入VirableNameBoundtoPool的VariableName内容,

图片10.png

在ConnectionValidationbyPool输入ValidationQuery的内容

在DatabaseConnectionConfiguration输入数据库配置信息

例如

DatabaseURL:jdbc:oracle:thin:@172.19.219.220:1521:shaopao
JDBCDriverclass:oracle.jdbc.driver.OracleDriver
Username:shanpao
Password:******

图片11.png

6、添加线程组:

在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”。

图片12.png

图片13.png

7、在“线程组”里添加”用户定义的变量”的配置元件

图片14.png

此处定义的是单独线程组内使用到的参数,根据使用频率添加自定义的变量,如

图片15.png

8、在“线程组”里添加“JDBCRequest”的Sampler

添加数据库插入或更新请求,作为数据库的预置条件,比如更新一条或多条数据、插入一条或多条数据等

图片16.png

JDBC请求界面,VariableName名称和数据库配置的VariableName名称保持一致,否则会报错;QueryType选择UpdateStatement;写入一条更新语句,如:

updateshanpao_testtsett.user_name='gaore',t.age=18wheret.user_id=4166
user_id可以赋值变量${other_user_id}
数据库表名可以赋值${table_name};

图片17.png

9、在“线程组”里添加“HTTP请求”的Sampler

接口测试中,使用http请求,

图片18.png

在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表,如果web服务器与http请求默认值一致,不必修改,请求方法选择POST,在BodyData写入请求消息体:

图片19.png

10、设置检查点:

在被测接口对应的“HTTP请求”上,添加“响应断言”

图片20.png

添加断言的实际结果,模式匹配规则默认为Substring,

图片21.png

(可选)添加”正则表达式提取器”,获取关联参数,作为下面请求的变量使用

图片22.png

比如这样的响应结果,提取follow_id的值作为下次请求的消息体

{"result":10000,"data":{"user_id":"13725129","follow_id":"3619","action":1,"is_follow":1,"send_msg":0}}

如:

图片23.png

11、添加数据库检查测试

一般http请求后,需要检查数据库是否更新,添加数据库检查请求,检查某个字段值是否更新,VariableName与数据库连接配置保持一致,如:

图片24.png

添加断言:

图片25.png

12、添加监听器:

方便查看运行后的结果,如”察看结果树”、”断言结果”、”用表格查看结果”等。

图片26.png

图片27.png


作者:佚名

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 今年5月10日,庆祝中国共产主义青年团成立100周年大会胜利召开!聆听习近平主席的重要讲话,让我深受感动和鼓舞!纵观百年青年奋斗史,青年弄潮儿无不紧跟时代、紧跟党的召唤,把永久奋斗作为底色,把小我融入大我,把青春献给祖国和人民!纵观百年青年奋斗史,让我更加坚定不移紧跟党旗;更加坚定不移立足岗位,主动把党的要求融入到业务工作中系统实践;更加坚定不移立志永久奋斗为党贡献力量。学习实践青年百年奋斗史形成的经验,既要看到历史发展的长期必然性,也要看到短期现状的曲折复杂性,情况越复杂越要“不畏浮云遮望眼”。下一步行动计划,整体来说既要关注外因积极主动适应调整,也要关注内因自我成长,具体说来如下:一是要深...
            1 1 918
            分享
          •   功能测试  1、不说话的时候发送语音, 是否会有相关的信息提示。  2、说话分贝很轻很轻, 是否可以录入语言。  3、普通的语音信息是否可以正常发送。  4、语音录制的时候是否有时间限制(最短限制 / 最长限制)。  5、录制时间不足最短时长限制会发送失败。  6、超出了最长时间限制时, 语音自动保存并发送。  7、语音识别。     · 是否可以录入中文, 英文, 日语…     · 是否可以录入小动物的声音: 狗叫, 猫叫, 羊叫…     · 是否可以录入其他声音: 汽笛, 施工声…  8、是否可以取消语...
            0 0 5722
            分享
          • 市场上看到的数百种新的应用程序和产品,在向用户发布之前会进行大量测试。自动化测试可以加快流程,通常被视为手动测试的替代品。但是,手动测试在 QA 领域中仍然具有关键作用。如果将 QA 资源偏重其中一种方法,将错失许多提高质量的机会,而平衡手动和自动测试将带来更高质量、更稳定的产品。让我们来看看手动测试仍然很重要的一些原因。UE测试测试人员可以快速识别出什么时候看起来不对劲。自动化测试脚本不会发现这些视觉问题。当测试人员像用户一样与软件交互时,他们能够发现可用性问题和用户界面故障。自动化测试脚本很难对这些内容进行高效的测试。探索性测试自动化测试只执行预先设置的操作和流程。他们需要计划和准备编写,...
            0 0 900
            分享
          • 一、前言测试的面试相对于开发的面试来说,对于技术的询问其实相对来说较少的,主要针对以下几个方面。测试理论,接口,数据库,linux,自动化,性能、个人情况这几大块。二、常见问题1、软件测试理论基础①什么是软件测试?在规定条件下对程序进行操作,发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。②软件测试主要测试用例设计方法是什么?白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖;黑盒测试:等价类、边界值、因果图、状态图法、错误猜测、测试大纲、随机测试、场景。③测试计划、方案以及测试报告主要包括哪些方面?测试计划主要包括:测试范围(功能性测试;非功能性测试);测试通过/失败的标准(通过...
            12 13 1822
            分享
          • 小程序测试框架 Minium 是微信测试团队为小程序开发或测试同学提供的一套测试接口,它实现了miniprogram-automator 中小程序自动化所有能力,如可以直接触发小程序页面元素,设置页面数据,向AppService注入代码片段,Mock/Hook wx对象的接口等。此外,他还支持并封装了所有的原生操作都进行了封装,屏蔽了iOS/Android底层差异,实现了一套脚本在三端同时运行。用户写好的Minium脚本,可以再本地执行,也可以直接上传到微信小程序云测服务执行,无需准备和维护真机环境。下面本文介绍自定义测试的流程一、 编写用例编写小程序自动化测试脚本,常见操作包括:基本操作:如...
            0 0 7660
            分享
      • 51testing软件测试圈微信