jmeter可以测试app吗做app测试吗

APP怎么利用JMeter进行压力测试
APP怎么利用JMeter进行压力测试,求解
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-2使用JMeter做性能测试的心得
我的图书馆
使用JMeter做性能测试的心得
企业应用开发过程中,性能测试是很重要的一个环节,在这个环节中Apache的JMeter以它开源、100%纯Java、操作方便等优点发挥着很大的作用。
经过一段时间的使用,多少有些心得和技巧,拿出来共享,希望能有些帮助。
1、制作测试脚本:
手工制作测试脚本,需要你知道请求的url和携带的参数等等,太花费时间,
所以可以用badboy工具录制脚本。这个工具虽然不是开源的,但是却可以用来免费的录制成.jmx的脚本,使用起来很方便。
官方网站是:
2、出现乱码了?
在用JMeter发行HTTPRequest时,在请求参数中有中文时,发现存储到DB中后,相应的字段是乱码,
明明在参数后面的Encode选项中打了V。后来发现badboy录制脚本的时候并没有记录编码方式,所以修改脚本,
在Content encoding中设置正确的编码方式就不会出现乱码了。
3、JMeter的妙用---准备测试数据:
要求性能测试开始前,先准备5W条数据。当然可以通过直接修改DB,但是如果这5W条数据涉及到很多表的关联,
甚至还要通过存储过程的处理怎么办,直接修改DB很容易出现错误的数据,要是在客户的机器上弄错,可就闯祸了。
这时候想到了JMeter,它本来是用来模拟大量用户并发请求的,现在用它来批量的生成数据吧。
如果要求每条数据都不同,就要修改脚本,使用JMeter的函数来动态产生数据,比较常用的是CSVRead函数,
记不住名的话Ctrl+F可以呼唤出函数助手。使用这个函数的时候需要注意几点,首先是csv文件的编码格式,
使用ansi没有问题,使用unicode时会使读取的第一行数据出现错误;
${__CSVRead(data.txt,0)}---读取本行的第一列值
${__CSVRead(data.txt,1)}${__CSVRead(data.txt,next)}---读取本行的第二列值,并把行标移动到下一行
试验证明JMeter应该做好了同步,在多线程环境下上面的调用方法没有问题;
最后,修改JMeter的线程数会加快数据生成的速度,原理是当并发线程在20左右的时候会达到最大的吞吐量(request/分),
所以应该设定线程数20左右。
4、JMeter中debug方法:
JMeter提供了log函数输出log,但是有时候并不好用,比如我想输出某个函数的返回值看是不是正确的,
${__log(${__CSVRead(data.txt,1)})}这样的写法是错误的,JMeter会抛出异常,该怎么办呢?
答案是巧用监听器(Listener)来输出想看到的数据,结果显示为树的那个监听器,
它可以让你查看每个sampler的请求数据和响应数据,在请求数据中就有你想看到的信息。
5、常用的功能:
使用HTTP Cookie Manager或URL重写实现同一线程内的多个请求共享Session。
把Login的请求放到只执行一次的控制器中,那么即使循环多次,Login也只请求一次。
如果想让多个线程在同一时刻同时请求,那么用Synchronizing Timer来做集合点。
为了节省系统资源,使用非窗口模式运行JMeter(jmeter -n -t test.jmx)
如果模拟并发用户过多,比如200线程,那么可以分散到多台机器上运行Jmeter(比如4台电脑,每台50线程)
更多功能请参照使用手册
中文手册(未完成)
6、在winnt系统上,使用perfmon来帮助Jmeter采集服务器的系统资源数据,可以配置log输出这些数据作为性能瓶颈分析时使用。
TA的最新馆藏[转]&
喜欢该文的人也喜欢具体步骤:1、电脑启动jmeter2、jmeter在测试计划新建线程组,在工作台新建http代理服务器3、设置IE代理到本地4、手机wifi设置代理连接到PC5、【启动】jmeter代理服务器6、现在电脑随便点开一个网页测试是否能抓到包7、一切正常,手机开始启动app执行登陆操作,输入手机号码获取短信验证码8、保存回放
1、在电脑上安装wifi软件(比如360wifi)---用于手机与电脑的连接
2、启动JMeter添加一个线程组,并添加非测试元件http代理,配置代理如下图,ip为本机的ip---用于使手机的网络请求都是通过JMeter
3、手机连接上电脑的wifi,然后在手机上设置代理,启动JMeter的http代理
4、现在在手机上的操作就可以被录制到电脑上的Jmeter里了,(手机操作应该慢一点)
安卓系统:
1.& & 在手机桌面中找到设置,然后选择“WLAN”
2.& & 进入到WLAN之后,找到360随身wifi创建的网络,然后选中后不松开,会弹出&&“修改网络”的提示,选择修改网络
3& & 进入修改网络后,勾选上“显示高级选项”,然后在代理设置中选择“手动”。
这里的“代理服务器主机名”就是电脑上代理服务器的地址。填写与电脑上一致的信息即可。最后点击保存。
1.在手机桌面上找到设置,打开后选择:无线局域网(部分用户是WI-FI)
2.&进入无线局域网后,找到360随身wifi创建的网络,然后点击右侧向右的箭头。
3.&进入创建的wifi网络后,下拉到低端,可以看到“HTTP代理“,然后选择手动,在服务器和端口中输入与电脑上一致的代理数据即可。
阅读(...) 评论()怎么对手机app进行测试脚本的录制,然后使用Jmeter对app进行性能测试? - 知乎8被浏览3175分享邀请回答31 条评论分享收藏感谢收起10.200.52.88,目标控制器配置:测试计划&线程组
5、手机wifi设置代理:“代理”---选择“手动”;“代理服务器主机名”---“10.200.52.88”“代理服务器端口”----“9988”6、手机连接刚才配置的wifi;7、HTTP代理服务器--点击“启动”按钮,启动HTTP代理服务器;8、启动手机上需要测试的APP,进行业务操作;这个时候可以看到线程组抓到app上发出的请求了9、业务操作完毕,立即停止jemter上的“HTTP代理服务器”,否则一直抓包,线程组中会有很多无用的请求;10、在“线程组”删除无关的请求;11、保存jmx脚本;12、添加察看结果树;12、回放。1添加评论分享收藏感谢收起查看更多回答jmeter进行APP接口测试经验总结 - CSDN博客
jmeter进行APP接口测试经验总结
使用工具:
Fiddler、Jmeter
测试步骤:
1.&&& 确认接口
从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。
如果当前项目没有接口文档,则可以使用fiddler对APP进行抓包确认。
fiddler对手机进行抓包的方法可以参考:http://blog.csdn.net/whorus1/article/details/
在手机上对APP进行操作,然后在Fiddler中可以抓取对应的网络交互信息(一个功能中可能设计多个接口的交互)。在抓取的信息中可以看到接口请求方式、接口请求URL、接口请求参数、接口返回参数。
2.&&& 在Jmeter中编写测试脚本
1.&&&&&&在测试计划中添加一个线程组(在测试计划上右击,添加-Threads-线程组)。
可以将线程组的名称改成测试项目的名称。
在性能测试时可以通过配置线程属性中的参数来控制并发用户数:
线程数:虚拟用户数,即并发数,一个线程表示一个虚拟用户;
Ramp-Up&Period:所有线程启动的时间,单位s。通过这个参数可以设置每个线程间的启动间隔,防止给电脑造成太大性能压力;
循环次数:测试循环的次数,如果勾选了“永远”,那么所有线程会一直发送请求,直到手动停止运行脚本;
2.&&&&&&在线程组中添加HTTP请求(在线程组上右击,添加-Sampler-HTTP请求)。
可以将名称改为待测接口的名称;
在Web服务器中填入请求服务器的地址和端口号;
协议中填入HTTP请求的协议,可以是http或https,我们一般用的都是http;
在方法中选择HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE;(我们项目中的接口方法使用的主要是GET和PUT,在目前易户网的项目中由于APP不直接和服务器交互,中间有一个统一接口平台,所以GET方法的接口请求也要使用POST进行交互。)
在路径中填入接口请求的URL;
请求参数:如果是GET方法的请求,请求参数直接写在URL后面即可;如果是POST的方法,则需要在Body Data中填入包含请求参数的数据(Body Data可以从Fiddler抓的包中获取,将Fiddler抓取的到数据包中Inspectors-TextView中的数据复制到Body data中即可);
3.&&&&&&在线程组中添加HTTP信息头管理器(在线程组上右击,添加-配置元件-HTTP请求信息头管理器)。
配置如下:
4.&&&&&&添加监听器(在线程组上右击,添加-监听器-XXX)。
主要配置完成了,需要添加监听器以查看测试结果。一般我们使用查看结果树和聚合报告查看。
查看结果树:在结果树中会以树形结构展示每个接口请求的测试结果,包括取样器结果、请求、响应数据,在响应数据中可看到网络侧返回的数据,可以以接口文档中期望返回的参数做比较以判断返回是否正确。在结果树中通过颜色可以直观的看到接口测试的结果,绿色为通过,红色为失败。
聚合报告:从聚合报告中我们可以获取到比较多的信息,包括接口的响应时间、吞吐量、通过率等,在接口的性能测试中很有用。
表中参数的含义如下:
5.&&&&&&添加响应断言(添加-断言-响应断言)。
查看测试结果时我们会发现有时候网络侧返回数据不符合要求时Jmeter给出的结果仍是通过的。这时候我们需要通过断言来判断网络的返回数据是否符合要求。
比如,我们可以添加一个断言来检查返回信息中是否包含关键字“errMsg”来判断错误信息:
首先添加一个相应断言,在要测试的响应字段中选择响应文本,在模式匹配规则中选择包括,勾选否,在要测试的模式中添加提一条,输入关键字“errMsg”;
意思是检查网络返回结果中不包含“errMsg”的才会判定为通过。
另外我们还可以从监听器中添加一个断言结果,在断言结果中可以查看断言的详细返回信息。
3.&&& 其他补充
使用CSV Data Set Config定义变量。
举个例子,我们想要测试多用户登陆时要怎么做?可以在线程属性中配置多个线程,但是这样只是同一个用户多次登录,多个不同的用户需要输入不同的用户名密码。当然我们可以写多个登录的HTTP请求,每个请求输入不同的参数,但是这样太傻了。
这个时候我们可以通过CSV DataSet Config来定义两个变量代表用户名和密码,然后传入不同的值即可实现多用户的登录:
1、我们在登录的case中添加一个CSV DataSet Config(添加-配置元件-CSV Data Set Config)。
Filename:指定读取用户名和密码的文件,我们会将所有的用户名密码写到该文件中;
FileEncoding::写入用户名密码的文件编码格式,不写的时候默认为ANSI
VaribleNames:定义文本文件中的变量名用户名=user和密码=pwd,变量之间逗号分隔。
2、我们到上面Filename的路径下创建该文件并写入用户名密码,用户名和密码之间用逗号分开,不同用户名密码之间换行。
3、到Jmeter的脚本中将原本的用户名密码改为变量名,由于我们使用的是Post方法,所以到Body Data中修改:
本文已收录于以下专栏:
相关文章推荐
点这里,有很多篇《linux下web测试环境的搭建94》
在线阅读本文:/bp_1rds19ysy27b8vd53zfo_1.html
linux下w...
我搜了一下开放式的接口,往上大同小异,基本上都是抄来抄去,有些接口早就不能用了,也是直接转载,我做了一下排除,留下了真正的能用的一些免费接口,希望能对大家有所帮助吧。这些接口截至 发...
在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享。本文内容如下。
如何使用英文界面的jmeter如何使用镜像服务器Jmeter分布式测试启动D...
最近在做APP的接口测试,研究了一下Fiddler的使用,发现对于移动APP测试Fiddler是一个非常好用的工具。下面对Fiddler的使用做一个总结。
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安...
问题Glide默认加载http或者通过CA认证了的https图片都是没问题的,但是当加载自签名的https图片的时候就会报如下错误(证书路径验证异常)。
原理对于加载自签名的https图片,我们需要...
一、创建工程、引包
1、创建JAVA工程
2、引入Jmeter中lib\ext基础包:ApacheJMeter_java.jar、ApacheJMeter_core.jar
3、引入Jmeter日志包...
使用工具:
Fiddler、Jmeter
测试步骤:
1.    确认接口
从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参...
原创,转载请标明,文章来自----小紅仙
第一次使用上传图片真费劲。。。。。
1.引言 
在日常的API接口测试过程中,由于每次发布需要回归存量接口,而在存量接口越来越多的情况下,接口回归测试工作量越来越大,特别是在回归测试、预发布测试、灰度发布测试过程...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 jmeter做app测试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信