51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6291|回复: 6
打印 上一主题 下一主题

Jmeter 工具

[复制链接]
  • TA的每日心情
    开心
    2014-10-16 12:32
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2012-8-17 10:39:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1、线程组设置:
    线程数为 :1
    线程循环次数 :2
    2、添加 java Sampler
    3、开始执行
    结果,显示:
    2012/08/17 10:22:21 ERROR - jmeter.samplers.SampleResult: sampleStart called twice java.lang.Throwable: Invalid call sequence
        at org.apache.jmeter.samplers.SampleResult.sampleStart(SampleResult.java:991)
        at org.apache.jmeter.protocol.java.test.Login.runTest(Login.java:43)
        at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:161)
        at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271)
        at java.lang.Thread.run(Thread.java:619)

    2012/08/17 10:22:21 ERROR - jmeter.samplers.SampleResult: sampleEnd called twice java.lang.Throwable: Invalid call sequence
        at org.apache.jmeter.samplers.SampleResult.sampleEnd(SampleResult.java:1003)
        at org.apache.jmeter.protocol.java.test.Login.runTest(Login.java:45)
        at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:161)
        at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271)
        at java.lang.Thread.run(Thread.java:619)
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2012-8-17 15:23:45 | 只看该作者
    我设置运行了,没遇到这样的错。楼主要不把jmx文件贴出来看看吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2015-1-21 19:55:09 | 只看该作者
    楼主,可以问下这个问题你怎么解决的不?我设置成运行1次时,没报错。设置成循环多次,就会抛这个错误~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2015-9-10 15:25:28 | 只看该作者
    m1014519748 发表于 2015-1-21 19:55
    楼主,可以问下这个问题你怎么解决的不?我设置成运行1次时,没报错。设置成循环多次,就会抛这个错误~~

    这个问题是由于你写的java脚本中,sr = new SampleResult();        实例化位置没放对,我放入了初始化里面了,放在run里就正常了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-4-28 18:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2015-10-22 18:39:38 | 只看该作者
    52芭比兔 发表于 2015-9-10 15:25
    这个问题是由于你写的java脚本中,sr = new SampleResult();        实例化位置没放对,我放入了初始化里面了, ...

    您确定这样就能解决问题吗?我是定义成成员变量,然后在runtest方法里初始化的,为啥还是报这个错?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-4-28 18:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
    发表于 2015-10-22 18:51:12 | 只看该作者
    public SampleResult runTest(JavaSamplerContext arg0) {
                    // TODO Auto-generated method stub
                    //获取sessionId事务
                    //results.sampleStart();
                   
                    //results.sampleEnd();
                    SampleResult results=new SampleResult();
                    try {
                            //建立socket连接
                            socket=new Socket(cmhost,cmport);
                            BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
                            DataOutputStream dos=new DataOutputStream(socket.getOutputStream());
                            //向CM请求sessionId
                            dos.write(HostConvertToNet.intToByte(56));
                            dos.write(HostConvertToNet.intToByte(5));
                            dos.writeBytes(fetchSesssionIdStr);
                            dos.flush();
                            System.out.println("发送fetchsessionId的请求完毕");
                            //读取服务器响应并获取sessionId
                            char[] chars=new char[60];
                            StringBuffer stringBuffer=new StringBuffer();
    //                        System.out.println(chars.length);的返回值为60
                            if (br.read(chars)!=40) {
                                    results.setSuccessful(false);
                                    results.setResponseCode("201");
                            } else {
                                   
                                    results.setSuccessful(true);
                                    results.setResponseCode("200");
                                    sessionId=stringBuffer.append(chars).toString().substring(21, 40);
                                    //发送login时的stream信息
                                    dos.write(HostConvertToNet.intToByte(198));
                                    dos.write(HostConvertToNet.intToByte(1));
                                    dos.writeBytes(sessionId);
                                    dos.writeBytes(loginStreamStr);
                                    dos.writeBytes(sessionId);
                                    dos.writeBytes("\">");
                                    dos.flush();
                                    System.out.println("发送stream信息请求完毕");
                                    //发送login时的auth信息
                                    dos.write(HostConvertToNet.intToByte(139));
                                    dos.write(HostConvertToNet.intToByte(1));
                                    dos.writeBytes(sessionId);
                                    dos.writeBytes(loginAuthStr);
                                    dos.flush();
                                    System.out.println("发送auth请求完毕");
                                    //发送login时的presence信息
                                    dos.write(HostConvertToNet.intToByte(51));
                                    dos.write(HostConvertToNet.intToByte(1));
                                    dos.writeBytes(sessionId);
                                    dos.writeBytes(loginPreStr);
                                    dos.flush();
                                   
                                    System.out.println("发送pre信息完毕");
                                    //发送chatMsg
                                    for (int i = 0; i < msgcount; i++) {
                                            results.sampleStart();
                                            dos.write(HostConvertToNet.intToByte(304));
                                            dos.write(HostConvertToNet.intToByte(3));
                                            dos.writeBytes(sessionId);
                                            dos.writeBytes(chatMsgStr);
                                            dos.flush();
                                            results.sampleEnd();
                                            Thread.sleep(1000);
                                    }
                           
                                    System.out.println("发送chatMsg完毕");
                            }
                            dos.close();
                            br.close();
                            socket.close();
                           
                    } catch (Exception e) {
                            // TODO: handle exception
                            e.printStackTrace();                       
                           
                    }
                   
                    return results;
            } 看下我的代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-9-6 09:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2016-8-24 11:31:25 | 只看该作者
    TristaHan 发表于 2015-10-22 18:51
    public SampleResult runTest(JavaSamplerContext arg0) {
                    // TODO Auto-generated method stub
                    //获 ...

    请问你设置多线程循环时下面错误是怎么解决的
    2016/08/24 10:45:14 ERROR - jmeter.samplers.SampleResult: sampleStart called twice java.lang.Throwable: Invalid call sequence
            at org.apache.jmeter.samplers.SampleResult.sampleStart(SampleResult.java:1052)
            at com.boco.health.oos.controller.Performence.runTest(Performence.java:30)
            at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:191)
            at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434)
            at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261)
            at java.lang.Thread.run(Thread.java:745)
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-18 15:49 , Processed in 0.084831 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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