① 如何使用jmeter做一个简单的测试
1.双击bin目录下的jmeter.bat,打开jmeter,右击测试计划,添加–Threads(Users)—线程组。
2.添加http请求。
3.添加聚合报告。
4.点击运行后,查看聚合报告。
此接口是 获取操作码的一个接口,每用户有操作时间间隔的限制,所以这个例子,用户数就写1。
要测试这个接口的并发性能,就需要多个用户。那就需要 参数化uid,下篇文章记录 使用csv data set config 进行参数化。
目前的思路是 把表中的uid字段值导出到文件,再用jmeter使用此文件。
② 请问Jmeter进行接口功能测试操作步骤是怎样的
操作步骤:
1、指定接口功能测试相关测试计划
2、从 API 文档提取接口清单
3、编写测试用例并设计测试数据
4、编写测试脚本并导入测试数据
5、执行脚本并逐条比对每条测试数据的实际结果与预期结果是否一致
各步骤主要实现:
1、指定接口功能测试相关测试计划
对程序不同模块进行任务划分,一般包括: 模块以及相关描述,指定该模块主要责任人,工期,预期产出以及当前进度等
2、从 API 文档提取接口清单
API 文档对各个接口实现具有完整且详细的流程说明,以及举例,但是对于我们测试而言,内容相对冗余,测试前期,一般会对API文档的各个接口,进行简化,压缩,提取接口测试时必须数据,以提高接口测试效率,其中简化压缩的结果就是接口清单
3、编写测试用例并设计测试数据
功能测试时,模拟用户的多样性操作设计测试数据是核心实现之一,该过程大致通过两步骤实现:
步骤1: 设计测试用例,该过程是抽象的非具体的实现,是要声明预期使用那些类型的测试数据,而不设计具体数据,设计测试用例时原则主要有如下几点:
a)、覆盖所有必选参数
b)、组合可选参数
c)、设计边界值数据
d)、设计超出范围的数据
e)、覆盖所有枚举值
f)、设计错误数据
g)、设计特殊符号数据
.....
另外,设计时需要在测试用例中声明该接口访问的 URL,请求方式以及预期结果等
步骤2: 根据测试用例声明的数据类型,设计具体的测试数据,此过程为具体非抽象的实现,最终设计的数据一般会被保存在csv文件中
4、编写测试脚本并导入测试数据
功能测试时,需要针对同一功能脚本提交多条不同的测试数据,此实现中,一般使用 CSV Data Set Config 来读取批量数据,动态的参数化的获取并设置测试数据,可以提高测试效率
5、执行脚本并逐条比对每条测试数据的实际结果与预期结果是否一致
步骤4批量操作完毕,要将提交的每条测试数据的执行结果与测试用例中对应的执行结果,相比对,如果预期与实际结果一致,一般无 BUG,不一致时,则可能有 BUG,当然对具体实现有疑议,可以写入备注
以上内容均来自传智播客论坛,还有相关配套视频课程。找不到就官网对话框领取。
③ 怎么jmeter对app做接口测试
用fidder抓取app的接口
然后在jmeter:
创建线程组
添加http请求
添加查看结果树
(在http请求中填写关系fidder抓到的接口信息)
就这样就可以了
④ jmeter可以做app测试吗
可以,但是jmeter录制的脚本有些凌乱,首先让电脑和手机处于同一个局域网中,然后需要在jmeter上设置代理服务器,然后连接起来相应的端口和地址要相同,启动代理服务器后点击手机上的相应软件就会录制app的脚本了,只不过非常凌乱,不好判断,要是能借助badboy将手机app上的脚本录制到badboy上就好了,但是目前我还没有找到方法。
⑤ 手机上的app性能测试怎么测
您好,方法
提到APP的性能测试这个概念比较笼统,因为APP的性能测试分为服务器端的性能和手机端的性能测试。下面,我们先从服务器端的性能测试开始说起,服务器端的性能测试可以通过LoadRunner或Jmeter工具进行测试,为方便起见,可以以Jmeter工具为例子说一下App服务器端的性能测试流程。
首先,确定app的性能测试功能点,一般会选择使用比较频繁的功能做性能测试比如查询,提交数据。
然后,根据该功能点的接口测试需求,或使用fiddler抓包,在jmeter上构造向服务器发送的请求数据,配置好相关的设置,并做好服务器的监控。(以我们实际项目为基准,本项目是搭建在linux上的,用的是nmon工具做监控),
最后运行测试,测试完之后,收集CPU,内存等信息,集合聚合报告的内容,分析性能测试结果。
至于手机端的性能测试流程则比较简单,首先需要在服务器上提前安装监控工具(iTest/GT),接着启动监控工具,监控被测应用.
接着需要清空先前的logcat日志记录,清空日志的命令是:adb logcat -c.
接着来获取logcat日志:adb logcat -v time > E:\share\logcat.log.
如何做App的性能测试
再接着使用monkey运行被测应用:
adb shell monkey -p your.package.name -v 500 > E:\share\monkey.log
(获取app的包名和activity名称:
adb logcat -v time | findstr START
脚本中,cmp= 后面的值就是 包名)
(ctrl+c 终止命令)
最后根据监控图,检查CPU,内存,流量,电量是否符合性能指标。如果不符合,就把不符合指标的报表和对应的logcat发给开发进行定位。
⑥ 怎么用jmeter对web进行测试
1.打开java编译器,新建一个项目"TestLength",然后新建一个包"app".
2.从Jmeter的安装目录lib/ext中拷贝两个文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的项目中,然后引入这两个JAR文件.(具体的引入方法参考各个Java编译器的使用方法)
3.在"app"包中新建一个类,名字叫"TestLength",不过这个类要继承"AbstractJavaSamplerClient"类,如果项目引入步骤二中的两个文件,就可以找到"AbstractJavaSamplerClient"类了.
4."TestLength"类在继承"AbstractJavaSamplerClient"类的同时也会继承四个方法,分别是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用于设置传入的参数;"setupTest"方法为初始化方法,用于初始化性能测试时的每个线程."runTest"方法为性能测试时的线程运行体;"teardownTest"方法为测试结束方法,用于结束性能测试中的每个线程.
5.具体实现代码如下:
package app;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import com.passpod.core.t8.*;
/**
* @author乐以忘忧
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TestLength extends AbstractJavaSamplerClient{
private SampleResult results;
private String testStr;
//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法
public void setupTest(JavaSamplerContext arg0) {
results = new SampleResult();
testStr = arg0.getParameter("testString", "");
if (testStr != null && testStr.length() > 0) {
results.setSamplerData(testStr);
}
}
//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("testStr", ""); //定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值
return params;
}
//测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法
public SampleResult runTest(JavaSamplerContext arg0) {
int len = 0;
results.sampleStart(); //定义一个事务,表示这是事务的起始点,类似于LoadRunner的lr.start_transaction
len = testStr.length();
results.sampleEnd(); //定义一个事务,表示这是事务的结束点,类似于LoadRunner的lr.end_transaction
if(len < 5){
System.out.println(testStr);
results.setSuccessful(false); //用于设置运行结果的成功或失败,如果是"false"则表示结果失败,否则则表示成功
}else
results.setSuccessful(true);
return results;
}
//结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行,类似于LoadRunner中的end方法
public void teardownTest(JavaSamplerContext arg0) {
}
}
⑦ 如何用jmeter测试本机上的软件
1.打开Java编译器,新建一个项目"TestLength",然后新建一个包"app".2.从Jmeter的安装目录lib/ext中拷贝两个文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的项目中,然后引入这两个JAR文件.(具体的引入方法参考各个Java编译器的使用方法)3.在"app"包中新建一个类,名字叫"TestLength",不过这个类要继承"AbstractJavaSamplerClient"类,如果项目引入步骤二中的两个文件,就可以找到"AbstractJavaSamplerClient"类了.4."TestLength"类在继承"AbstractJavaSamplerClient"类的同时也会继承四个方法,分别是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用于设置传入的参数;"setupTest"方法为初始化方法,用于初始化性能测试时的每个线程."runTest"方法为性能测试时的线程运行体;"teardownTest"方法为测试结束方法,用于结束性能测试中的每个线程.5.具体实现代码如下:packageapp;importorg.apache.jmeter.config.Arguments;importorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext;importorg.apache.jmeter.samplers.SampleResult;importcom.passpod.core.t8.*;/***@author乐以忘忧***Window-Preferences-Java-CodeStyle-CodeTemplates*/{privateSampleResultresults;privateStringtestStr;//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法publicvoidsetupTest(JavaSamplerContextarg0){results=newSampleResult();testStr=arg0.getParameter("testString","");if(testStr!=null&&testStr.length()>0){results.setSamplerData(testStr);}}//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中(){Argumentsparams=newArguments();params.addArgument("testStr","");//定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值returnparams;}//测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法publicSampleResultrunTest(JavaSamplerContextarg0){intlen=0;results.sampleStart();//定义一个事务,表示这是事务的起始点,类似于LoadRunner的lr.start_transactionlen=testStr.length();results.sampleEnd();//定义一个事务,表示这是事务的结束点,类似于LoadRunner的lr.end_transactionif(len<5){System.out.println(testStr);results.setSuccessful(false);//用于设置运行结果的成功或失败,如果是"false"则表示结果失败,否则则表示成功}elseresults.setSuccessful(true);returnresults;}//结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行,类似于LoadRunner中的end方法publicvoidteardownTest(JavaSamplerContextarg0){}}6.把上面的例子打包,然后把生成的"TestLength.jar"文件拷贝到Jmeter的安装目录lib/ext下.7.运行Jmeter,添加一个线程组,然后在该线程组下面添加一个Java请求(在Sampler中),在Java请求的类名称中选择咱们刚创建的类"app.TestLength",在下面参数列表的"testStr"后面输入要测试的字符串,然后添加一个监听器(聚合报告),设置一下模拟的用户数就可以测试了.如果测试不成功,Jmeter会在它自己个输出框中抛出这个字符串.通过上面的例子我们可以发现,使用Jmeter自定义Java测试代码,配合Jmeter自带的函数,就可以实现出LoadRunner中"JavaVuser"协议的绝大多数功能,而且是没有用户数限制和完全免费的(嘿嘿).上面的例子非常简单,而且没有任何实际意义,只是一个简单的Jmeter测试代码示例,用于抛砖引玉,希望大家一起交流,共同进步.
⑧ jmeter怎么测试app接口
你要先确认你要测的具体接口(找开发要被测接口的相关文档信息);
打开jmeter添加线程组,并设置好线程数、时间、还有循环次数;
添加http请求并填写好接口信息以及是否需要附带发送参数,这个就根据被测接口来定了;
添加结果树或者Aggregate Graph;
保存脚本后再点击运行按钮;
查看结果;
⑨ jmeter能测试app的哪些方面
Jmeter主要是用来做性能测试的,一般是用来测服务端的程序,app测试的话,属于功能性测试,可以用安卓或者IOS客户端测试工具测试
⑩ APP怎么利用JMeter进行压力测试
jmeter主要是对服务器进行压力测试,和app相结合,其实是抓取app的接口,再利用线程组向服务器加压从而实现压力测试,这里有个jmeter的教程可以看下
https://ke.qq.com/course/133578#tuin=c48ffa9f
