51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3883|回复: 10
打印 上一主题 下一主题

[原创] loadrunner不支持java多线程吗?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-2-21 18:17:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 superfang 于 2011-2-21 18:19 编辑

=========java代码=========================
import java.io.IOException;
import java.net.URL;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
public class TT {
public static void main(String[] args) {
// 线程池
ExecutorService exec = Executors.newCachedThreadPool();
// 只能5个线程同时访问
final Semaphore semp = new Semaphore(10);
// 模拟20个客户端访问
for (int index = 0; index < 20; index++) {
final int NO = index;
Runnable run = new Runnable() {
public void run() {
try {
// 获取许可
semp.acquire();
int c;

try {
URL url = new URL("http://localhost:7080/webjava/");   
java.net.URLConnection uc = url.openConnection();
java.io.InputStream in =  uc.getInputStream();
System.out.println("Accessing: " +NO +"   "+ in.toString());
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}      
//System.out.println("Accessing: " + NO);
//Thread.sleep((long) (Math.random() * 10000));
// 访问完后,释放
semp.release();
} catch (InterruptedException e) {
}
}
};
exec.execute(run);
}
// 退出线程池
exec.shutdown();
}
}


===========loadrunner 代码============


public int init() throws Throwable {
  return 0;
}//end of init

public int action() throws Throwable {
           // Tweb.main((String []) null);
            TT.main((String []) null);
  return 0;
}//end of action

public int end() throws Throwable {
  return 0;
}//end of end


在Vuser中测试通过,但是在controller里面报如下的错误
错误1:   Abnormal termination, caused by mdrv process termination.

错误2:
  Error (-17998): Failed to get [param not passed in call] thread TLS entry.

不知道是不支持呢,还是别的原因....
如有遇到同样的问题,请赐教...
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

11#
发表于 2011-4-10 10:11:03 | 只看该作者
回复 10# superfang


    应该是类似这样的才行把
System.out.println("登陆开始");
String url = "http://192.64.96.105:1178/app/CServlet";
                 HttpClient client = new HttpClient();
                 PostMethod method = new PostMethod(url);
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2011-4-8 16:26:29 | 只看该作者
回复 8# 泊涯


    http://localhost:7080/webjava/
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2011-3-2 15:25:03 | 只看该作者
我也曾经努力的试过。后来没有成功。所以我展示认为不支持多线程的了。
后来我用jmeter进行测试的。你可以试试用其他的方式来测试。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-2-27 11:46:27 | 只看该作者
你这个代码是怎么连接到服务器的 IP地址呢
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2011-2-25 18:03:28 | 只看该作者
回复 5# 云层

可以考虑一下... 但是用 loadruner 可以很直观的看到生成的测试结果...
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-2-25 18:01:46 | 只看该作者
回复 4# qiguojie


    以进程的方式也是一样的... 不成功
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-2-24 10:51:21 | 只看该作者
没具体试过不过可能和lr自己的进程或者线程方式有冲突,既然用java写了,你可以考虑不要使用LR调用了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2015-6-25 18:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2011-2-24 10:47:05 | 只看该作者
    运行时设置里,设置以进程方式执行看看。。

    没有尝试过在脚本中实现多线程。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2011-2-24 10:40:27 | 只看该作者
    应该是不支持的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
     楼主| 发表于 2011-2-22 15:47:05 | 只看该作者
    自己先顶一下吧. 要不帖子沉下去了...
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 23:05 , Processed in 0.095246 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表