本篇文章给大家谈谈自动化接口测试jmx,以及自动化接口测试怎么做对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享自动化接口测试jmx的知识,其中也会对自动化接口测试怎么做进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
接口自动化测试环境搭建jmeter+ant+git+jenkins
1、安装java
方式一:安装java环境:yum install java-1.8.0-openjdk* -y
使用命令检查是否安装成功 java -version
到此安装结束
自动化接口测试jmx了。这样安装有一个好处就是不需要对path进行设置
自动化接口测试jmx,自动就设置好了。jdk安装在/usr/lib/jvm目录下
方式二:先下载对应版本到本地,然后解压缩,配置环境变量(详细步骤百度即可)
2、安装jmeter
(1)登录自己服务器,在usr/local下创建文件夹jmeter,命令mkdir jmeter
(2)通过官网下载jmeter到本地
(3)通过xhell上传到对应
自动化接口测试jmx的目录(cd到要上传
自动化接口测试jmx的目录)
(4)yum -y install lrzsz(安装了lrzsz,执行该命令是因为服务器有的文件不让上传。让上传就不用执行)
(5)使用 rz -y命令进行文件上传,此时会弹出上传的窗口,进行上传即可
(6)上传成功之后进行解压 unzip apache-jmeter-5.4.zip
(7)配置环境变量vi /etc/profile
esc+shift # 键盘同时按住,退出编辑模式
:wq # 保存退出
:q # 不保存退出
添加如下内容:
# set Jmeter enviroment
export JMETER_HOME=/usr/local/jmeter/apache-jmeter-5.4
export PATH=${PATH}:${JMETER_HOME}/bin
(8)source /etc/profile # 使配置文件生效
(9)jmeter -version
3、安装ant
(1)在usr/local下创建文件夹ant,命令mkdir ant
(2)通过官网下载ant到本地
(3)使用 rz -y命令进行文件上传,此时会弹出上传的窗口,进行上传即可 sz 文件名(服务器文件下载到本地)
(4)上传成功之后进行解压 unzip
(5)配置环境变量vi /etc/profile
# set Ant enviroment
export ANT_HOME=/usr/local/ant/apache-ant-1.10.10
export PATH=${PATH}:${ANT_HOME}/bin
(6)source /etc/profile # 使配置文件生效
(7)ant -version
4、ant的配置
(1)将jmeter安装包extras文件夹里ant-jemter-1.1.1.jar 复制到antlib下
cp ant-jmeter-1.1.1.jar /usr/local/ant/apache-ant-1.10.10/lib
(2)进入apache-jmeter-3.0extras运行ant ,查看该目录下是否出现Test.jtl、Test.html文件,若有,则构建成功
5、编写Ant的build.xml文件
(1)创建Jmeter_Test目录,放在/usr/local/下
(2)Jmeter_Test目录下创建build.xml、ResultLog(html,jtl)、Script(放脚本)
(3)build.xml文件内容去https://www.cnblogs.com/L-Test/p/9736808.html下复制,需要修改里边的路径
6、jenkins安装
(1)Jenkins下载地址:https://jenkins.io/download/
(2)下载的是jenkins.war
(3)在Linux下启动Jenkins有两种方式,一种是在jenkins.war的存放目录下使用命令java -jar jenkins.war启动,
另外一种是把jenkins.war放在tomcat的webapps目录下,然后启动tomcat就可以了(本次用的第一种)
(4)在浏览器中输入http://服务器ip:8080/jenkins/
如果是用的阿里云服务器,启动成功之后,在浏览器访问,无法访问。解决办法就是登陆阿里云服务器修改一下安全规则,把端口范围调大
(5)访问成功之后输入管理员密码
(6)安装推荐的插件,创建管理员用户
7、jenkins的其他配置
(1)修改为中文依赖的三个插件localization-zh-cn、locale、localization-support
jenkins插件下载地址https://blog.csdn.net/qq_39530199/article/details/90266654
(2)不知道依赖于那个插件,可以看看manage Jenkins里边的报错 plugin is missing
8、git的安装
(1)git下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
(2)usr/local下新建git目录,cd到git,安装包上传上来, tar -zxvf v2.17.0.tar.gz
(3)安装编译源码所需依赖,命令为: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl- ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可;
(4)安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为: yum remove git 出现提示输入y即可;
(5)进入解压后的文件夹,命令 cd git-2.17.0 ,然后执行编译,命令为 make prefix=/usr/local/git all 耐心等待编译即可;
(6)安装Git至/usr/local/git路径,命令为 make prefix=/usr/local/git install ;
(7)打开环境变量配置文件,命令 vim /etc/profile ,在底部加上Git相关配置信息
# set Git enviroment
export GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:$PATH
(8)git version
9、jenkins安装相应插件
(1)安装源码管理选择git需要的插件git、git-server、git-client、github-api、plain-credentials、github
上传插件的时候可能会报错,可以把插件上传顺序改一下在上传
(2) jenkins设置git的安装路径,点击全局工具配置/usr/local/git/bin/git(whereis git 命令可查看)
(3)windows本地安装git,把代码推送到github(需要在github创建一个仓库),参考自动化测试的 《
(4)jenkins配置源码管理选择git,地址输入github项目地址,账号可以先在jenkins凭据配置中添加github账号
输地址或账号的时候可能会报403的错误。解决办法刷新一下或者 在Configure Global Security中开启 启用代理兼容
(5)配置完源码管理,直接进行构建,代码自动下载到/root/.jenkins/workspace/git/路径下
10、接下来需要把build.xml中脚本路径改为/root/.jenkins/workspace/git/进行构建,可以在Github里提交一个jmx文件构建一下试试
使用Jmeter进行http接口性能测试
在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。
但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具了,这里推荐功能强大的JMeter自动化测试工具
Apache JMeter - Apache JMeter™
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
下面就以上图的Restful类型的接口为例简单介绍使用Jmeter进行接口测试的方法。
获取某个具体网关设备的基本信息。
请求
方法:GET
URI:/api/gatewaygateway_id
参数:
在HTTP请求(http request)的头部(header)添加Userid和Token字段作为用户验证字段
响应
返回值:JSON格式的网关信息
参数:
.启动jmeter:在bin下以管理员身份运行jmeter.bat,启动jmeter
2. 创建测试计划:
默认启动jmeter时会加载一个测试技术模板,保存测试计划:修改名称为Apitest,点击保存,选择保存路径,后面的步骤,每次添加或修改了了一些选项,软件并不会自动保存到jmx文件中,所以进行测试后,如果需要保存本次测试选项,要手动到“文件”菜单中保存一下。
3. 添加线程组
右键左边树中的测试计划“Apitest”节点,“添 加”→”Threads”→”线程组”
添加成功后,“Apitest”节点下多了“线程组” 节点,当然这个线程组的名称是可以自己设定的。
4. 添加http默认请求:(用来配置公共参数,不是http请求)
右键线程组,选择“添加”→ “配置元件”→“HTTP请求默认值”,点击“HTTP请求默认值”后
添加成功后,线程组”节点下多了“HTTP请求默认值”节点
这里可以设置主机地址等一下公共参数,比如我们的例子中请求路径前面都是主机地址+index.php,就可以统一在"http请求默认值"里设置
填写默认请求名、服务器、默认请求路径,保存测试计划。
5.添加http请求信息头
这一项并不是必须的,只不过我们的例子中使用了Userid和Token放在HTTP请求头中用作用户验证
右键“Apitest”,选择“添加”→ “配置元件”→“HTTP信息头管理器”
6. 添加http请求
右键“Apitest”,选择“添加”→ “Sampler”→“HTTP请求”
添加成功后,出现新的节点“HTTP请求”,就可以填写具体的请求参数了。
填写完成,保存测试计划
7. 添加监听器:
右键线程组,选择“添加”→“监听器”→“XXXXXXXXX”
可以添加的监听器有很多种,可以添加多个监听器,这里我们添加几个常用的“图形结果”、“察看结果树”、“聚合报告”
添加成功后,“线程组”下增加了几个节点
8. 试运行
点击执行
可以查看各个“监听器”的结果
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Note:关于 50% 和 90% 并发用户数的含义,请参考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
9. 修改线程组的线程数等参数,用于压力测试
点击左侧树形导航中的“线程组”
设置上面几个参数,模拟的总的请求数是:线程数*循环次数。执行一下,用“图形结果”监听器查看一下
样本数目:总共发送到服务器的请求数.
最新样本:代表时间的数字,是服务器响应最后一个请求的时间.
吞吐量:服务器每分钟处理的请求数.
平均值:总运行时间除以发送到服务器的请求数.
中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值.
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布.
接口自动化测试
接口 :外部系统与本系统之间以及系统内部自动化接口测试jmx的各个子系统间,以约定标准提供自动化接口测试jmx的服务,包括对外提供的接口/对内提供的接口。
在这块我们举一个比较生活化的例子,我们平常使用的笔记本,在笔记本的两端有很多小插口,最常见的就是USB插口,我们可以把鼠标连接在USB插口上,也可以把键盘、U盘连接在USB插口上,为什么同一个USB接口可以连接这么多设备呢,其实这个接口,他就有一个统一对外的连接标准。
在我们开发当中,也有一个对外暴露的接口,因为他们服务的协议都是统一的,最常见的就是hhtp协议,我们规定好一种格式,让客户端来调用我们。
这里面键盘鼠标属于调用方,插到笔记本的USB上,就可以连接设备,就可以进行操作了。对外暴露的一个统一的一个规范,这样去理解接口,更形象一些。
在了解完什么是接口之后,我们来说一下什么是接口测试。
接口测试 测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,保证对外提供接口的正确性和健壮性。
我们在具体测试过程中,我们不用关心接口调用方和接收方的实现逻辑,我们只需要知道传入什么数据,返回什么的结果是否达到我们的预期。接口测试其实也是黑盒测试,他与UI测试的区别就是没有界面交互,是不可视化的。
测试前置 :我们不能等到整个系统全部开发完成才能进行测试,我们可以通过调用接口来进行测试,把问题拦截在前期,降低问题修复成本。
Bug更容易定位 :因为我们按接口进行测试,出现问题后在被测接口中排查就可以了,它比系统集成之后,发现问题更容易定位,系统集成之后有各种模块的调用,出现bug之后再排查,排查的链路非常的长。另外从机制上更接近出问题的地方更容易命中问题。
前后端分离结构 :现在很多系统都采用前后端分离架构,各服务之间更多的是通过接口来实现信息互通,对接口进行直接测试,可以更全面的覆盖各类测试场景。
自动化测试落地性价比高 :比UI自动化测试更稳定,我们上面已经说了UI层的元素时常发生变化,有时改一个简单的元素,都有可能导致我们的自动化测试走不下去,写一套自动化测试脚本比较容易的,但是维护起来,会耗费很大的时间精力,相对来说,接口就比较稳定,一个项目没有大的改造,入参和出参就是固定的,变化的概率比较小,这样维护起来也比较方便。
减少安全隐患 :比如我们在平常的测试过程中,测试用户名和密码,密码格式要求不能输入特殊字符,前端做了校验,而后端没有处理,这样我们只测试页面,这条case就默认通过了,但一些黑客可能通过抓包的方式进行登录,这样安全隐患就比较大了。我们对接口进行安全测试,可以避免安全隐患。
借助工具 : Postman、Jmeter、jsf平台、jsf测试工具、easytest
编写测试脚本 :Java+TestNG
请关注下一篇如何使用Java+TestNG进行接口自动化测试
接口自动化测试流程是什么?
了解了接口测试是什么之后,怎么做接口测试呢?接口测试的流程其实和功能测试流程类似:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证;
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境
关于自动化接口测试jmx和自动化接口测试怎么做的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
自动化接口测试jmx的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于自动化接口测试怎么做、自动化接口测试jmx的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~