• 12
  • 12
分享
  • Jmeter接口测试踩过的坑——软件测试圈
  • 北极 2021-12-14 11:14:49 字数 1585 阅读 1641 收藏 12

接口测试看着很简单,但是操作过程中还是出现很多问题,现总结如下:

一、jmeter中乱码问题

可在jmeter.properties 这个文件里面找到sampleresult.default.encoding=xx,后面xx改成utf-8,然后取消注释。

解决jmeter的body里面中文显示不出来,可找到 JSyntaxTextArea然后把以js开头的注释取消即可。

JDBC请求查询结果乱码,可在JDBC连接配置中将URL加上characterEncoding=UTF-8即可。

二、报错检查

请求中的url、路径、请求方式、参数等一定写准确,多个空格都不行。

三、JDBC Request 之Query Type

1、Select statement

这是一个查询语句类型;如果JDBC Request中的Query内容为一条查询语句,则选择这种类型。

PS:多个查询语句(不使用参数的情况下)可以放在一起顺序执行,需要设置Query Type为:Callable Statement;

如果Query Type为:select Statement,则只执行第一条select语句。

2、Update statement

这是一个更新语句类型(包含insert和update);如果JDBC Request中的Query内容为一条更新语句,则选择这种类型。

PS:如果该类型下写入多条update语句,依然只执行第一条

3、Callable statement

这是一个可调用语句类型,CallableStatement 为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。

4、编辑(${})

jmeter中的JDBC请求中的SQL语句是无法使用参数的,比如:SELECT * FROM ${table_name} 是无效的。

如果需实现同时多个不同用户使用不同的SQL,可以通过把整条SQL语句参数化来实现;(把SQL语句放在csv文件中,然后在JDBC Request的Query 中使用参数代替 ${SQL_Statement})。

对比:

Select Statement:仅支持测试select语句,并且一次只能测试一条

Update Statement:支持测试非select语句,并且支持测试多条

           若其中夹杂select语句,自动忽略

           若第一条语句为select语句,报错

Callable Statement:只要语法正确,任何语句,再多的条数都能支持

四、下载文件

PS:  HTTP请求一定要放在BeanShell Sampler的前面,不然Jmeter会按顺序执行,BeanShell Sampler中会取不到请求的返回值,就会报错

1、在线程组中添加beanshell,获取到返回的文件内容,保存到一个文件里面。右键线程组,添加-Sampler-BeanShell Sampler,beanshell代码如下:

import java.io.*;
byte[] result = prev.getResponseData();  //这个是获取到请求返回的数据,prev是获取上个请求的返回
String file_name = "C:\\Users\\zhangrui6\\Desktop\\a.jpg";  //代表存放文件的位置和文件名
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

2、添加HTTP请求

1.png

3、察看结果树

2.png

4、查看保存到本地的文件

3.png


作者:小石榴1212

原文链接:https://www.cnblogs.com/anry/p/8036484.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在中国游戏产业收入和用户规模双降的2022年,游戏人的日子并不好过。减员消息从年初传到年尾,无论是腾讯、网易这样的头部大厂,还是心动、叠纸等一众游戏新贵,都无一幸免。  由于绝大部分公司对减员避而不谈,实际情况不得而知。近日,伴随一众游戏上市公司披露年报,外界终于得以一窥过去一年游戏行业和相关从业者的真实生存境况。  在时代财经统计的17家披露员工人数变化的港股游戏上市公司中,有10家游戏公司存在减员情况。其中,减员超过10%的有6家,减员比例最高的蓝港互动一年之内砍掉近三分之一的员工。  而在扩张的7家游戏公司之内,仅有望尘科技、青瓷游戏两家刚刚上市,仍处在迅猛发展阶段,公司人员增长超过...
            0 0 650
            分享
          • 3.你是如何进行项目级检查首先,我们需要知道项目级的角色有哪些,包括项目经理、需求、设计、开发、测试等,再针对每个角色工作过程和产品进行检查。项目经理角色:根据《过程检查单》对项目经理过程进行检查,包括监控、评审、度量过程监控:项目有偏差时,是否做了相应的措施,是否编写了变更需求矩阵评审:评审前、中、后期的工作,如前期(5w),中期记录,后期跟踪,评审是否按照计划进行,是否编写的评审报告度量:是否每个里程碑进行了度量分析,度量分析的数据是否一致性、及时性、准确性根据《产品检查单》对项目经理产品进行检查,《项目计划》是否按照模板编写,项目计划内容是否(包括组织的结构和职责、是否有软件规模估算、已...
            0 0 2253
            分享
          •   谈到数据产品,很多时候有一种误解,认为这些产品无法通过自动化来进行测试。 尽管流水线的某些部分由于其实验性和随机性而无法通过传统的测试方法进行测试,但大部分流水线可以。 除此之外,更加不可预测的算法可以通过专门的验证过程。  让我们来看看传统的测试方法,以及我们如何将这些方法应用到我们的数据/ ML 流水线中。  测试金字塔  标准简化的测试金字塔如下所示:  这个金字塔表示您将为应用程序编写的测试类型。 我们从大量的单元测试开始,这些单元测试独立于其他功能来测试单个功能。 然后我们编写集成测试来检查将我们隔离的组件组合在一起是否按预期工作。 最后,我们编写 UI 或验收测试,从用户的角度...
            0 0 962
            分享
          • 测试需求收集完毕后,开始测试设计。测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题:测试用例的基本格式:软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:PROJECT1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。...
            12 14 1945
            分享
          •   对测试自动化的依赖性增加导致大量自动化软件测试工具的出现,使得很难确定哪些是最好的。为了帮助您完成自动化工作,我们根据自己和他人的经验创建了五大最佳自动化软件测试工具列表。  1. Selenium  Selenium可以说是web开发人员和测试人员中最受欢迎的自动化软件测试工具。它于2004年首次发布,从那时起它发生了很大变化。最新版本的Selenium包含几个组件,包括Selenium IDE和Selenium WebDriver。  Selenium IDE是一个用于Selenium测试的完整集成开发环境(IDE),主要用于创建快速错误复制脚本和脚本,以帮助进行自动化辅助探索性测试。...
            0 0 264
            分享
      • 51testing软件测试圈微信