51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3454|回复: 3
打印 上一主题 下一主题

[原创] Day3-2测试积点任务

[复制链接]
  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 527 天

    连续签到: 4 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2018-8-21 10:19:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    问题:
    jmeter导入jar包后,用beanshell时报引入包错误 Typed variable declaration : Obje
    最近用jmeter的beanshell功能,我想根据图片的url地址,把图片下载并保存到指定目录,
    1.我先在测试计划里把需要导入的jar包都导入进去了,如下图1所示:
    2.然后添加了一个beanshell sampler,并在里面写上如下的源代码并运行(代码在java环境自测过,能下载图片并保存到本地);
    3.运行时,发现走到这里(    // 输出的文件流    OutputStream os = new FileOutputStream(filename);)就报错了,看错误日志,以为是导入jar包的问题,后来又有人说可能是参数出错,会提示引入的包报错,让人误以为是引入错误。但我自己真不知道怎么改了,请哪位大神帮我看看是哪里出问题了。

    【源代码】

    1. import java.io.FileOutputStream;
    2. import java.io.InputStream;
    3. import java.io.OutputStream;
    4. import java.net.URL;
    5. import java.net.URLConnection;
    6.    
    7.         log.info("-----------------------------------------");
    8.         String urlString ="${questionUrl}";
    9.         urlString = urlString.trim();
    10.         String filename= "D:\\testpic.jpg";
    11.                
    12.     // 构造URL
    13.     URL url = new URL("http://"+urlString);  
    14.     log.info("url:" +url);

    15.     // 打开连接
    16.     URLConnection con = url.openConnection();
    17.    
    18.     // 输入流
    19.     InputStream is = con.getInputStream();
    20.    
    21.     // 1K的数据缓冲
    22.     byte[] bs = new byte[1024];
    23.      log.info("running line11 -----------------------------------------");
    24.     // 读取到的数据长度
    25.     int len;
    26.     log.info("running line12 -----------------------------------------");
    27.     // 输出的文件流
    28.     OutputStream os = new FileOutputStream(filename);

    29.     log.info("running line13 -----------------------------------------");
    30.     // 开始读取
    31.     while ((len = is.read(bs)) != -1) {
    32.       os.write(bs, 0, len);
    33.     }
    34.     // 完毕,关闭所有链接
    35.     os.close();
    36.     is.close();
    复制代码
    【jmeter报错日志】


    [code]2017/06/22 17:35:44 INFO  - jmeter.engine.StandardJMeterEngine: Running the test!
    2017/06/22 17:35:44 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: []
    2017/06/22 17:35:44 INFO  - jmeter.testelement.TestPlan: add D:\software\apache-jmeter-3.0\practicejar\tools.jar to classpath
    2017/06/22 17:35:44 INFO  - jmeter.testelement.TestPlan: add D:\software\apache-jmeter-3.0\practicejar\dt.jar to classpath
    2017/06/22 17:35:44 INFO  - jmeter.testelement.TestPlan: add D:\software\apache-jmeter-3.0\practicejar\junit-test.jar to classpath
    2017/06/22 17:35:44 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
    2017/06/22 17:35:44 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : 正常卷判分
    2017/06/22 17:35:44 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group 正常卷判分.
    2017/06/22 17:35:44 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error
    2017/06/22 17:35:44 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 0 perThread 0.0 delayedStart=false
    2017/06/22 17:35:44 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1
    2017/06/22 17:35:44 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started
    2017/06/22 17:35:44 INFO  - jmeter.threads.JMeterThread: Thread started: 正常卷判分 1-1
    2017/06/22 17:35:44 INFO  - jmeter.services.FileServer: Stored: D:\scriptFile\jmeter\parameter\yjxdata.csv
    2017/06/22 17:35:45 INFO  - jmeter.util.BeanShellTestElement: -----------------------------------------
    2017/06/22 17:35:45 INFO  - jmeter.util.BeanShellTestElement: url:http://图片地址.jpg
    2017/06/22 17:35:45 INFO  - jmeter.util.BeanShellTestElement: running line11 -----------------------------------------
    2017/06/22 17:35:45 INFO  - jmeter.util.BeanShellTestElement: running line12 -----------------------------------------
    2017/06/22 17:35:45 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 1801 天

    连续签到: 5 天

    [LV.Master]测试大本营

    2#
    发表于 2018-8-22 10:09:47 | 只看该作者
    log语句不能有空格,也不能把加号变为别的符号,改成如下的样式就正常了。
    log.info("url:"+url);
    回复

    使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2018-8-22 10:29:34 | 只看该作者
    log语句不能有空格,也不能把加号变为别的符号
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 2812 天

    连续签到: 5 天

    [LV.Master]测试大本营

    4#
    发表于 2018-8-22 12:23:41 | 只看该作者
    其他人的问题定位过程:
    1 经过不断尝试,定位问题,以为BeanShell Sampler不允许实例化对象,只能使用匿名对象。
    2 实际是因为有了类型变量声明:
    下面声明了一个ChannelSftp的类型变量。也就是说代码中只能声明基础变量
    3 实际是没有加载创建类型变量的jar包,在eclipse里面通过添加外部jar包加进去了所以是成功的。到了jmeter就会出现编译都失败。
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 13:28 , Processed in 0.065762 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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