51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1732|回复: 2
打印 上一主题 下一主题

[原创] loadrunner,java

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-3-2 15:36:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*
* LoadRunner Java script. (Build: 3020)
*
* Script Description:
*                     
*/
import java.io.IOException;
import java.util.Map;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.Part;
import org.apache.commons.httpclient.methods.multipart.StringPart;


  
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Map;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.Part;


import java.io.File;

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-3-2 15:37:27 | 只看该作者
public class Actions
{

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


        public int action() throws Throwable {

            HttpClient client = new HttpClient();
            String sessionIDByPost=""; //sessionID
            String username = "test";

            GetMethod openURLPost = new GetMethod("http://*******/omm"); //构造请求:打开登陆页面
            //利用用户名和密码构造登陆post请求URL(str[3]/用户名, str[4]/密码)
            String loginPostURL = "&&&&&&&&&&&" + username +
                                    "%%%%%%%%%%%%%%%%%%%%%%";
            GetMethod loginPost = new GetMethod(loginPostURL); //构造请求:登陆
            Header[] getLoginPageHeaders = null; //headers

            try {
                client.executeMethod(openURLPost); //提交Post请求并返回状态码
                getLoginPageHeaders = openURLPost.getResponseHeaders();

                String cook_session_id = null; // 在返回的cookie中获取session_id相关内容
                for (Header getLoginPageHeader : getLoginPageHeaders) {
                    if (getLoginPageHeader.getName().equals("Set-Cookie")) {
                        cook_session_id = getLoginPageHeader.getValue();
                    }
                }

                sessionIDByPost = cook_session_id.split(";")[0]; // 截取session

                loginPost.addRequestHeader("Cookie", sessionIDByPost); //将sessionID设置到登陆请求里
                int respanceCode = client.executeMethod(loginPost); //提交Post请求并返回状态码

                if (200 == respanceCode) { //判断返回的状态码是否正确
                    //
                } else {
                   //
                }
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-3-2 15:38:56 | 只看该作者
} catch (HttpException e) {
                //
            } catch (IOException e) {
                //
            } catch (Exception e) {
                //
            } finally {
                openURLPost.releaseConnection(); //释放
                loginPost.releaseConnection();
            }


            String filePath = "E:\\GE0223.mpeg"; //待$$$$$$的文件路径
            String caseid = "23";


            for (int i = 0; i < 1; i++) {

                try {

                        Part[] parts = {new FilePart("filedata", new File(filePath)),
                                        new StringPart("Filename", "GE0223.mpeg"),
                                        new StringPart("name", "10001a.mpeg"),
                                        new StringPart("modifyTime", "1301021316000"),
                                        new StringPart("folderId",caseid),
                                            new StringPart("vehicleTypeCode","小型汽车号牌")
                            }; //父单位ID



                       PostMethod filePost = new PostMethod("####################/file.go"); //构造请求
                       filePost.addRequestHeader("Cookie", sessionIDByPost); //为请求设置cookie

                        int respanceCode = 0;
                        try {
                            filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
                            client.executeMethod(filePost);
                        } catch (HttpException e) {
                            //
                        } catch (IOException e) {
                           //
                        } catch (Exception e) {
                            //
                        } finally {
                            filePost.releaseConnection();
                        }


                } catch (Exception e) {
                   //
                }


            } //for


           
                return 0;
        }//end of action


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


                           

}
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-14 03:21 , Processed in 0.070157 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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