【脚本开发】:性能测试-Java虚拟用户实现下载脚本

时间:2023-01-21 20:48:10

方法一,采用java vuer开发

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import lrapi.lr;
public class Actions {
public int init() throws Throwable
{
return 0;
}//end of init
public int action() throws Throwable
{
int DownLoadSize = 0;
String path = "c:\\temp\\"; //设置下载文件保存路径
String vuid = String.valueOf(lr.get_vuser_id()); //获取当前虚拟用户ID并转换成字符串
DownLoadSize = UrlTools.getHttpFileByUrl("http://forum.ubuntu.org.cn/download/file.php?id=129973&sid=78fc8d76767ef49b606595824ceb963d",vuid,path); //调用UrlTools.getHttpFileByUrl()
return 0;
}//end of action
public int end() throws Throwable
{
return 0;
}//end of end }
class UrlTools
{
public static int getHttpFileByUrl(String address,String userid,String path)
{
//定义下面需要用到的变量
URL url;
URLConnection conn = null;
int BUFF_SIZE = 1024;
byte[] buf = new byte[BUFF_SIZE];
int DownLoadSize = 0;
BufferedInputStream bis;
FileOutputStream fos = null;
int size = 0;
try
{
  url = new URL(address); //address为传递进来需要下载的链接
  conn = url.openConnection();//使用url实例化需要下载的链接
  bis = new BufferedInputStream(conn.getInputStream()); //把需要下载的文件内容保存在bis这个输入流中
  fos = new FileOutputStream(path+"\"+userid+"test000001"+“.pdf”));//组成完整路径,并实例化到输出流,这里可以进行参数化,如参数化文件名, // 路径需要事先手动创建好,当然你也可以在脚本中创建实现不同的路径
  System.out.println("需要下载的文件大小为:" + conn.getContentLength()/1024 + "k");
  while((size = bis.read(buf)) != -1) #按照设置的buf大小写文件并记录下载的大小
  {
    fos.write(buf,0,size);
  DownLoadSize = DownLoadSize+size;
  }
  bis.close();
  fos.close();
System.out.println("用户" + userid + "下载" + url +"完成!");
} catch(MalformedURLException e)
{
  System.out.println("下载发生异常:");
  e.printStackTrace();
} catch(IOException e)
{
  System.out.println("下载发生异常:");
  e.printStackTrace(); }
  return DownLoadSize/1024;
}
}

方法二:将getHttpFileByUrl函数单独封装起来,在lr中调用,在Eclipse中新建一个.java

【脚本开发】:性能测试-Java虚拟用户实现下载脚本的更多相关文章

  1. LR之Java虚拟用户

    1.认识Java虚拟用户 2.Java虚拟用户的适用范围

  2. LR脚本自定义显示Controller虚拟用户状态

    在场景监控的过程中,想知道场景运行时Vusers的运行状态以及每一个Vuser虚拟用户在本次场景运行的过程共迭代了多少次,那么就需要在VuGen脚本中自定义显示虚拟用户状态信息. 代码如下: stat ...

  3. Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本

    脚本开发-利用Loadrunner生成Web service测试脚本 1.选择协议--Web Service,如下图 2.导入服务 入口1:点击Manage Services ->弹出窗中选择“ ...

  4. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  5. 【JMeter4.0学习(一)】之FTP性能测试脚本开发,并实现上传下载功能

    参考:<Jmeter常用脚本开发之FTP请求>感谢作者:rosa2015 一.首先,搭建FTP服务器,参考地址:<[FTP]之windows8.1上搭建FTP服务器方法> 二. ...

  6. 基于NSIS脚本开发的安装程序制作软件:易量安装

    原文 基于NSIS脚本开发的安装程序制作软件:易量安装 前几天“萝卜”给我推荐了一款安装程序制作工具——易量安装. 易量安装是一款安装程序制作软件,基于著名的NSIS(Nullsoft Scripta ...

  7. vsftp 虚拟用户

    首先安装vsftp db-4wiki mkdir -p /opt/ftp 创建用户 sudo useradd virtual -d /opt/ftp -s /bin/false sudo chown ...

  8. VSFTPD虚拟用户配置

    转载:http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html 以下操作验证OK!!!! VSFTPD虚拟用户配置 VSFTP = ...

  9. vsftp 虚拟用户测试

    1.创建用于进行FTP验证的帐号密码数据库文件,单数行为账户名,偶数行为密码.[root@rhel1 vsftpd]# vi /etc/vsftpd/vuser.listuser1123456user ...

随机推荐

  1. UI控件(UITextView)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //UITextView与UITextField主要 ...

  2. 轻量级前端MVVM框架avalon - 控制器

    引子: 最近工作挺忙,avalon只能断断续续的写下去了,大概看了下angular的源码,看到小一半就比较难坚持了,是块硬骨头,慢慢啃吧 不过angular的的文档中用词还是很优雅: HTML编译器 ...

  3. cnodejs社区论坛5--话题详情

  4. 使用socket实现聊天功能

    public class Service { //服务器 public static void main(String[] args) { ServerSocket serverSocket=null ...

  5. WebxFrameworkFilter 请求响应过程

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  6. CSS3 transform的demo1

    <!DOCTYPE html> <html> <head> <title>弹出层演示</title> <meta charset=&q ...

  7. 什么是JWT(JSON WEB TOKEN)

    转自于:http://www.jianshu.com/p/576dbf44b2ae 什么是JWT Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准( ...

  8. 终结python协程----从yield到actor模型的实现

    把应用程序的代码分为多个代码块,正常情况代码自上而下顺序执行.如果代码块A运行过程中,能够切换执行代码块B,又能够从代码块B再切换回去继续执行代码块A,这就实现了协程 我们知道线程的调度(线程上下文切 ...

  9. Linux基础学习:目录配置

    Linux 目录配置标准:FHS FHS:即Filesystem Hierarchy Stabdard,文件配置标准.其主要目的是希望用户可以了解已安装软件通常放置在哪个目录下. FHS根据文件系统使 ...

  10. vue 使用技巧总结 18&period;11

    前言: 在大概学完 vue 整体框架后,有幸接触到花裤衩大神写的 vue-elementUI-admin 模板框架,把这个模板框架当作 demo,跟着 code 一遍,最大的收获是在以逻辑简单的模板熟 ...