【来源】http://www.51testing.com/?10168/action_viewspace_itemid_94306.html
(1)要使LR编写的java脚本能够编译、并且运行。需要在"运行时设置"-->Classpath中加入Jre中的包,分别是:rt.jar、dt.jar、tools.jar
(2)实例脚本用到了JDK的类和用户自定义的类(需要导入项目包)。使用了用户定义的静态方法init()进行初始化和建用户类对象,来进行绑定登录操作。
(3)LR脚本设置了集合点,并且对用户名和密码进行了参数化。可进行登录压力测试。
(4)项目是用java编写的基于C/S结构的软件系统;测试脚本是选择java Vuser协议的java脚本。
(5)保证LR在"场景"中能够运行,需要下载支持java的补丁,否则报错。
(注:若用jsp /struts,Spring,hibanate 开源框架编写的系统,需要选择http协议录制。)
附上脚本:
import lrapi.lr;
import java.util.Properties;
import java.util.ArrayList;
import com.sf.framework.core.DataBundle;
import com.sf.module.cmscommon.domain.User;
import com.sf.framework.client.core.transport.Client;
public class Actions
{
static {
Properties properties = new Properties();
properties.setProperty("system.server.host", "10.1.1.124");
properties.setProperty("system.server.port", "80");
properties.setProperty("system.server.context", " ");
properties.setProperty("system.server.action", "action");
properties.setProperty("system.server.timeout", "7200");
Client.init(properties);
}
public int init() {
return 0;
}
public int action() {
lr.think_time(5);
try{
lr.rendezvous("登录");
lr.start_transaction("登录");
User user = new User();
String usercode="<Username>";
String username="<Password>";
user.setUsername(usercode);
user.setPassword(username);
DataBundle requestBundle = new DataBundle().setObject(user);
DataBundle responseBundle = Client.getTransporter().sendDataBundle("loginmgmt/guilogin", requestBundle);
user = (User) responseBundle.getObject();
//String depcode=user.getBillEmployee().getDeptCode();
//usercode=user.getBillEmployee().getEmpCode();
lr.end_transaction("登录", lr.AUTO);
}catch(Exception ex){
throw new RuntimeException(ex);
}
return 0;
}
public int end() {
return 0;
}
}