您的位置:首页 > 游戏 > 手游 > jmeter使用——接口测试事知识点

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

2025/1/10 13:04:04 来源:https://blog.csdn.net/2401_83387413/article/details/141896378  浏览:    关键词:jmeter使用——接口测试事知识点

一、接口架构

  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的配置(暂不处理)  

总结:

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

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

软件测试面试文档

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

 

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com