jmeter使用——接口测试事知识点

news2024/9/26 5:22:18

一、接口架构

  1. 基于Soap架构,基于xml规范,基于webserice协议,特点:地址接口?wsd结尾。比较老,不是流行框架。
  2. 基于RPC架构,基于dubbo协议/thrft协议/SpringCloud微服务。数据量少,高并发适用;
  3. 基于Restful架构,基于接送规范,基于http协议。市面上最多适用的这种规则。
重点放在第三种架构上,Restful规则:接口地址:http:127.0.0.1/user,get,post,put,delete。
json数据格式:只有两种数量类型:键值对:{key:value},数组{arry1:arry2}

二、接口测试工具及框架

1、jmeter+ant+git+jenkins,重点适用这个框架进行测试;

2、postman+Newman+git+jenkins

三、使用jmeter+ant+git+jenkins实现持续集成

  1. 下载Ant并解压,解压后吧Ant的bin目录设置到path环境变量中。下载地址官网:Binary Distributions,下载java8版本的zip包;
  2. 需要一个构建文件:build.xml文件,把这个构建文件和脚本文件放在一起。关键是则会个构建文件需要有那些组成。在网上找的代码,build.xml的代码块,看了一下有些地方应该需要修改。
  3. <?xml version="1.0" encoding="UTF-8"?>

  4. <project name="ant-jmeter-test" default="run">

  5. <tstamp>

  6. <format property="time" pattern="yyyyMMddhhmm" />

  7. </tstamp>

  8. <!--本地的jmeter安装路径-->

  9. <property name="jmeter.home" value="D:\apache-jmeter-5.5\apache-jmeter-5.5" />

  10. <property name="report.title" value="SoaTestReport"/>

  11. <!--生成jtl报告的路径-->

  12. <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-5.5\ants\jtl" />

  13. <!--生成html报告的路径-->

  14. <property name="jmeter.result.html.dir" value="D:\apache-jmeter-5.5\ants\html" />

  15. <!--生成报告的前缀-->

  16. <property name="ReportName" value="TestReport" />

  17. <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />

  18. <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />

  19. <target name="run">

  20. <antcall target="test" />

  21. <antcall target="report" />

  22. </target>

  23. <target name="test">

  24. <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

  25. <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

  26. <!--声明要运行的jmeter脚本的路径,*.jmx指所有后缀名为.jmx的jmeter脚本-->

  27. <testplans dir="D:\apache-jmeter-5.5\ants" includes="*.jmx" />

  28. <property name="jmeter.save.saveservice.output_format" value="xml"/>

  29. </jmeter>

  30. </target>

  31. <path id="xslt.classpath">

  32. <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>

  33. <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>

  34. </path>

  35. <target name="report">

  36. <tstamp>

  37. <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>

  38. <xslt

  39. classpathref="xslt.classpath"

  40. force="true"

  41. in="${jmeter.result.jtlName}"

  42. out="${jmeter.result.htmlName}"

  43. style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">

  44. <param name="dateReport" expression="${report.datestamp}"/>

  45. <param name="titleReport" expression="${report.title}"/>

  46. <param name="dateReport" expression="${report.datestamp}"/>

  47. </xslt>

  48. <!--上面生成的报告需要一些相关的图片,但是不会自动拷贝,所以需要手动拷贝过去,以便显示-->

  49. <copy todir="${jmeter.result.html.dir}">

  50. <fileset dir="${jmeter.home}/extras">

  51. <include name="collapse.png" />

  52. <include name="expand.png" />

  53. </fileset>

  54. </copy>

  55. </target>

  56. </project>

3.需要修改以下配置,才能执行成功,

A、将JMETER安装文件下extras下面的ant-jmeter-1.1.1的jar包复制到ANT安装目录中的lib目录
B、将JMETER安装文件bin下的文件:jmeter.properties中的配置项:#jmeter.save.saveservice.output_format=csv修改为jmeter.save.saveservice.output_format=xml;

4.在放置脚本和build.xml文件的文件夹窗口,在顶部的路径输入框,全选后,输入cmd回车,然后输入ant命令就可以执行脚本了。

5.在以上步骤后,没有显示出详情测试报告,不知道是不是么有修改完整配置文件导致的,搜索了一下,修改了以下配置,修改后再次执行,还是不行,需要找其他原因。

  1. jmeter.save.saveservice.data_type=true

  2. jmeter.save.saveservice.label=true

  3. jmeter.save.saveservice.response_code=true

  4. # response_data is not currently supported for CSV output

  5. jmeter.save.saveservice.response_data=true

  6. # Save ResponseData for failed samples

  7. jmeter.save.saveservice.response_data.on_error=true

  8. jmeter.save.saveservice.response_message=true

  9. jmeter.save.saveservice.successful=true

  10. jmeter.save.saveservice.thread_name=true

  11. jmeter.save.saveservice.time=true

  12. jmeter.save.saveservice.subresults=true

  13. jmeter.save.saveservice.assertions=true

  14. jmeter.save.saveservice.latency=true

  15. # Only available with HttpClient4

  16. jmeter.save.saveservice.connect_time=true

  17. jmeter.save.saveservice.samplerData=true

  18. jmeter.save.saveservice.responseHeaders=true

  19. jmeter.save.saveservice.requestHeaders=true

  20. jmeter.save.saveservice.encoding=true

  21. jmeter.save.saveservice.bytes=true

  22. # Only available with HttpClient4

  23. jmeter.save.saveservice.sent_bytes=true

  24. jmeter.save.saveservice.url=false

  25. jmeter.save.saveservice.filename=true

  26. jmeter.save.saveservice.hostname=true

  27. jmeter.save.saveservice.thread_counts=true

  28. jmeter.save.saveservice.sample_count=true

  29. jmeter.save.saveservice.idle_time=true

注意:研究了半天,么有研究出怎么显示ant的详情的报告,总的报告有了,详情的报告始终没有出来,搜索时找到了出行性能及其他相关的报告的方式方法。

1、编写好脚本后,在结果树页面,选择保持一个jtl格式文档,如下图,任意电脑位置都可以。清空结果,然后执行一次脚本。

2、点击菜单栏的工具,弹出如下操作框

 
  1. ​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。

  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受

  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛

  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙

  5. 可以免费学习!划重点!开源的!!!

  6. qq群号:455787643【暗号:csdn11】

  • result file :选择我们刚刚指定的jtl文件即可
  • user.properties file : 选择 jmeter安装目录下bin文件内 jmeter.properties;
  • output directory : 选择报告输出的路径,
  • 选择完成后,点击 Generate report即可完成生成,之后进入到指定生成的路径,里面会有一个index.html的文件,点击即可

命令的方式生成测试报告,没有搞成,应该时入口没有找对,提示不是内部命令。

生成报告的命令:jmeter -n -t xxx.jmx -l name.jtl -e -o report
-n:以非GUI形式运行jmeter
-t:jmx脚本路径
-l:运行结束保存路径(.jtl),此文件必须不存在,路径+文件名
-e:在脚本运行结束后生成html报告
-o:用于存放html报告的目录
第一次生成jtl文件后,如果要再次运行输入命令:jmeter -g name.jtl -o report
这里如果jmeter 如果没有配置环境变量,则需要在jmeter 安装的bin目录下执行

更新于2022年12月19日

三、jenkins安装+环境的搭建+配置

1、下载地址:Jenkins download官网下周地址,下载war包(下载长期稳定包,LTS版本,所有系统基本都支持war包),jdk需要1.8以上的版本。

2、找到jenkins.war所在的目录 >> 输入cmd,回车进入cmd命令

3、输入如下命令(这里端口号我设置为8090) >> 等待安装完成,安装时提示:Running with Java 8 from D:\anzhuang\jdk\jre, which is older than the minimum required version (Java 11). Supported Java versions are: [11, 17],去找相关资源时发现了Doker,查了半天资料,需要liunx才能安装这个,windows需要先安装虚拟的liunx系统才能安装,就算了。直径安装Jenkins算了。看来需要重新安装jdk.

在官网找到最新的17的jdk下载重新安装,再次执行命令,就可以安装了

官网地址:Java Downloads | Oracle 中国,下载重新安装就搞定了。

执行代码如下,使用的端口时8090,执行结果如下截图

java -jar jenkins.war --httpPort=8090

安装Jenkins后提示

4、在浏览器中输入:http://localhost:8090/jenkins/,就得到我们的Jenkins操作页面了:

5、这个页面输入密码后,点击继续,页面直接404了

网上查了一下原因这些,没有找到具体原因,找到一个访问其他插件的链接(http://localhost:8002/pluginManager/advanced),却可以访问,这个链接我修改端口为8090,直接访问成功,然后访问首页,结果第一次加载中后,再次点访问就进入到首页了,奇怪,直接输入地址还是不能访问 

原来是链接地址多了Jenkins这个地址,去掉就可以出现上面这个页面了。

6、点击“选择插件来安装”>>点击“无”>>点击“安装”跳过插件的安装。

 

7、创建一个管理员用户 >> 点击"保存并完成"

8、点击"保存并完成",进入实列配置页面

 9、点击"开始使用Jenkins"

10、出现如下页面,表示登录成功

 

Jenkins的配置(暂不处理)  

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汽车电子行业知识:什么是车辆定位技术

车辆定位技术是指通过各种技术手段对车辆的位置进行实时监测和记录的技术。它通常结合全球定位系统&#xff08;GPS&#xff09;、蜂窝网络、Wi-Fi、蓝牙等多种技术来实现车辆的精确定位。 实现方式 GPS定位&#xff1a;利用卫星信号获取车辆的经纬度信息。蜂窝网络定位&#…

开发chrome扩展插件修改地址

引言 在前端开发过程中&#xff0c;一般分为三个环境&#xff1a;开发环境、测试环境和生产环境。这三个环境对于前端而言&#xff0c;不过就是请求的 API 接口不同罢了。如果是vue3项目&#xff0c;可以通过 import.meta.env.MODE来区分环境&#xff0c;可是站在后端兄弟角度…

短剧看剧系统+商城功能,开发uniapp+PHP,正版片源供授权,短剧影视小程序带支付收益等模式 付费短剧小程序源码

目录 一、短剧看剧系统是什么&#xff1f; 二、短剧授权是什么&#xff1f; 三、短剧有哪些类型&#xff1f; 四、区别&#xff1f; 总结&#xff1a; 一、短剧看剧系统是什么&#xff1f; 首先小程序上架需要有资质(办资质需要20-30天)。 1、短剧微信小程序要求:《广播电…

无外网的redis本地登录测试

输入命令&#xff1a; redis-cli -h 127.0.0.1 -p 6379 redis 127.0.0.1:6379> redis 127.0.0.1:6379> keys * (error) ERR operation not permitted redis 127.0.0.1:6379> select 1 (error) ERR operation not permitted redis 127.0.0.1:6379[1]> …

保姆级教程:Dupay从注册到充值开卡全过程,可开GPT Plus、可绑定GPT充值API余额

前言 想要购买GPT Plus&#xff0c;或者给GPT充值&#xff0c;绑定国内visa信用卡&#xff0c;会被拒&#xff0c;于是便问问度娘&#xff0c;找到了一篇关于注册虚拟卡的教程&#xff0c;搬过来顺便修改下&#xff01; 应用场景 1、Depay Master Visa卡支持绑定宝、微、美外…

高并发代理IP有哪些优势?

在当今数字化时代&#xff0c;随着互联网的迅猛发展&#xff0c;各类在线服务、电商平台、社交媒体及云计算应用等正以前所未有的速度增长&#xff0c;而这些系统的稳定运行和高效性能往往依赖于强大的服务器架构和高效的数据处理能力。高并发代理IP作为应对高流量、高并发访问…

Java导入包com.alibaba.fastjson2.JSONObject

com.alibaba.fastjson2.JSONObject 是阿里巴巴的 fastjson 库中的一个类&#xff0c;用于处理 JSON 数据。 这里提供一些常见的使用示例和可能的问题解决方法。 解决方案和示例代码: 创建 JSONObject 对象: import com.alibaba.fastjson2.JSONObject;JSONObject jsonObject …

TeeChart助力科研软件:高效实现数据可视化

在当今的科学研究中&#xff0c;数据可视化已经成为理解和传播复杂信息的关键工具。尤其是在物理研究领域&#xff0c;科学家们经常需要处理大量的数据&#xff0c;并通过可视化将这些数据转化为更易理解的形式。TeeChart作为一个强大且灵活的图形展示工具&#xff0c;能够帮助…

SpringBoot2:RESTFUL风格接口开发及源码解读

一、RESTFUL简介 Rest风格支持&#xff08;使用HTTP请求方式&#xff0c;动词来表示对资源的操作&#xff09; 以前&#xff1a;/getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户 现在&#xff1a; /user GET-获取用户 DELETE-删除用户 PUT-修改…

Hadoop是什么?

Hadoop 是什么 1&#xff09;Hadoop 是一个由 Apache 开发的分布式系统基础架构&#xff1b; 2&#xff09;主要解决&#xff1a;海量数据的存储和海量数据的分析计算问题&#xff1b; 3&#xff09;广义上来说&#xff0c;HADOOP 通常是指——HADOOP 生态圈&#xff1b; H…

福田区专精特新小巨人奖励最高50万元!

深圳市福田先进制造业-专精特新企业认定支持&#xff0c;对小巨人给予最高50万元补贴。下面深科信整理项目完整申报条件如下&#xff1a; 专精特新企业奖励标准 对入选专精特新企业名单的企业&#xff0c;符合以下申请条件的&#xff0c;给予一般不超过50万元支持。同一企业同…

【圣诞营销秘籍】Newsbreak上引爆欧美圣诞饰品电商广告的创意攻略

【圣诞营销秘籍】Newsbreak上引爆欧美圣诞饰品电商广告的创意攻略 随着冬日雪花的悄然飘落&#xff0c;欧美大地迎来了最为温馨浪漫的节日——圣诞节。对于电商行业而言&#xff0c;这不仅是销售旺季的巅峰&#xff0c;更是品牌展示创意与魅力的绝佳时机。Newsbreak&#xff0c…

计算机毕业设计选题推荐-餐饮管理系统-餐厅点餐系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

充电桩变压器电容补偿要带电抗器吗

为充电桩变压器配置电容补偿时&#xff0c;是否需要加装电抗器取决于具体的电力环境和负载特性。以下是一些考虑因素&#xff1a; 1、谐波含量 充电桩通常是非线性负载&#xff0c;会产生较多的谐波。如果电力系统中谐波含量较高&#xff0c;直接使用电容补偿可能会导致电容器…

2024年最强图纸加密软件大揭秘!图纸加密软件推荐

在数字化时代&#xff0c;信息安全成为企业发展的重要保障&#xff0c;尤其是对于设计图纸等敏感数据的保护&#xff0c;选择一款可靠的图纸加密软件尤为重要。本文将为您推荐2024年十大图纸加密软件&#xff0c;帮助企业在日常工作中更好地保护知识产权和商业机密。 2024年最强…

《JavaEE进阶》----6.<SpringMVC实践项目:【简易两整数加法计算器】>

本篇博客简单的记录了我的第一个JavaEE实践项目 网页版 简易两整数加法计算器 的前段代码&#xff0c;前端页面&#xff0c;后端代码、及计算结果的展示。 使用了form表单来进行前后端的交互 前端代码&#xff1a; <!DOCTYPE html> <html lang"en"> <…

828华为云征文|使用sysbench对Mysql应用加速测评

文章目录 ❀前言❀测试环境准备❀测试工具选择❀测试工具安装❀mysql配置❀未开启Mysql加速测试❀开启Mysql加速测试❀总结 ❀前言 大家好&#xff0c;我是早九晚十二。 昨天有梳理一篇关于华为云最新推出的云服务器产品Flexus云服务器X。当时有说过&#xff0c;这次的华为云F…

近2千消防题库工程师题库ACCESS\EXCEL数据库

这次获得的一批行业题库&#xff0c;数据库表结构都是一样的&#xff0c;有《近万条电气工程师考试题库》、《1万2千多条电工考试题库》、《5千多道安全生产证考试题库》以及今天的消防工程师题库。 大类记录汇总情况&#xff1a;高级#注#册#消防工程师&#xff08;790&#xf…

如何在算家云搭建OpenSora 1.2(文本生成视频)

一. OpenSora 1.2简介 1. 技术特点 高清视频生成 &#xff1a; OpenSora 1.2 在 720p 高清文生视频质量和生成时长上取得了突破性进展&#xff0c;支持无缝产出任意风格的高质量短片。通过引入视频压缩网络&#xff08;VAE&#xff09;和更优的扩散模型算法&#xff0c;显著…

设置电子签名

设置点赞签名代码 export class Signature {width: number 300height: number 300canvas!: HTMLCanvasElementctx!: CanvasRenderingContext2Dprivate drawing: boolean falsepreTask: string[] []nextTask: string[] []private allTask: { x: number; y: number; color: …