有人用过JMeter或用HttpUnit写过测试吗????

我要测试我的功能模块
模块的第一页是登陆页面,用户输入用户名密码以后,
在程序第二页把登陆成功的信息记到SESSION里
然后在其他页面来取这个SESSION里的东西

如果我想用JMETER测试我的模块,
或是用HTTPUNIT写测试用例的话
我该怎么取到这个SESSION呢?

首先要明确你要做压力测试还是功能测试,JMeter主要是做压力测试用的,通常不需要你写程序,而HttpUnit需要

session通常是用Cookie维持的
JMeter会给你保存cookie,以后每次请求都会发送cookie,也就是说,你再访问其它页面的时候不会因为没有登录而被档住
JMeter为登录页面做了专门的处理,登录页面每次只请求一次,而其它页面根据你的压力测试需要会循环请求

HttpUnit就不太清楚了,我觉得它不太好用,你的页面布局(比如表格)改变可能会导致你的测试不通过,因为他是通过HTML标签来来定位数据然后做断言的

我的项目是有一个登陆的首页,
我现在要对项目中的各个模块做压力测试的话,
JMETER可以做到吗?

我不太会用JMETER,我现在只知道怎么对某个JSP做压力测试
因为我只需要建立一个ThreadGroup,然后在Sampler下,
建立一个HTTP Request,
在里面指明URL和参数,就可以对这个URL做压力测试了

但时间情况是,用户如果不先从首页登陆,里面的任何页面
都没权限访问,那么我还怎么对里面的页面做压力测试呢?

图贴不上来,算了

你建一个Thread Group,它下面的东西会依次请求的
下边建一个Only Once Controller,其中包含一个HTTP Request,在这里登录

然后在Thread Group下边在建N个你要测试的页面,这些页面依次执行,页面之间可以用Timer来控制时间

Thread Group可能会有很多个线程,每个线程你可以指定循环多少次,但是Only Once Controller下边的东西只执行一次,即一次登录后,浏览了若干页面

ID里面有问号不能贴图,555555

两位

我按照你们说的,建立了我的测试,
可是运行测试以后,发现它并没有访问到我要测试页面
因为我在我要测试页面里写了System.out.println("xxxxxx");
可是运行了测试以后,这些信息并没有被打印出来

比如,我的首页是/index.jsp,上面有个输入用户名/密码的输入框
用户点了确定以后,会到/main.jsp,在main.jsp里检查用户名/密码,
然后把相关信息存到SESSION里,且main.jsp是一个Frame,
然后,用户就可以点Frame里的某个链接

请问,这样我该怎么配置我的jmeter??

首先JMeter肯定可以完成你的要求,只是你对JMeter和JSP的过程还不太了解

Jmeter不是浏览器,它只是把请求POST到服务器并从服务器接收回应,它不需要解析服务器返回给它的HTML,虽然它会保存Cookie并且根据你的要求可能会判断返回的HTML里面有没有指定的字符串,所以Frame对它没有影响的,Frame只是前端的东西

如果你的login.jsp只包含登录界面,里面一个form的action指向main.jsp,那么在JMeter中直接把登录请求POST到main.jsp就行了

AreYouOK?
谢谢你的回复,我已经找到问题的原因了
是因为我的JSP使用了include,比如,我现在要压的的是post.jsp
在这个JSP里,我有一行是:


<%@ include file="/inc/audit.jsp"%>

这个include是在所有页面都有的,是用来检查权限,获得公共变量的,
如果我把这个include去掉,JMETER就可以对我的JSP压过去,但如果
有这句,就没有任何反映了

请问,有什么解决办法吗?我不可能把所有页面的这行代码都去掉的

另外,第二个问题是
我建立了一个View Results Tree
我发现它给返回的结果不是整个该显示的页面内容
而仅能显示一部分,这是为什么?

我刚刚用了JMeter,
太简单了,根本没法满足需求,
还不如自己写个程序测呢

我想要做性能分析

比如,我哪个方法执行了多少时间

好象实现了JVMPI的工具是可以的
但是,好象没有免费的这样的工具,自己实现还必须用C写,郁闷啊~~~~~~~~~~

哪位老大提供强力支持,不胜感激