Loadrunner录制(HTTP&TCP协议)脚本&优化脚本

一、录制

1、Web(HTTP/HTML)协议脚本制作
        打开loadrunner11,点击“Create/Edit Script”启动Virtual User Generator。点击File--new,创建脚本文件,选择Web(HTTP/HTML)协议。
2、socket协议脚本制作
        打开Loadrunner 11,创建/编辑脚本,选择 Windows Sockets协议,创建—开始录制。

二、优化

        在录制脚本后,产生大量脚本代码,需要清理web_url()方法中的EXTRARESLAST之间的代码。(在清理代码前,对脚本文件进行备份,然后对备份文件进行删改。如产生错误,即可对照原脚本文件进行删改。)

        1、web_add_cookie("")、 lr_think_time("")、 web_url("") 几乎都是可以删掉;如果需要模拟真实的用户行为,思考时间是有必要留住的,当然还有关键的url,图片、样式等url除外,因为毕竟不是做前端性能测试;

 注意:EXTRARES所包含的代码为png、css、jpg、css等格式的多余链接,清理掉可以加快代码运行效率

        2、需要参数化、做关联、检查点:

        检查点:

                转换编码格式:

                    lr_convert_string_encoding(lr_eval_string("{P_res}"),"UTF-8",NULL,"P_res");
                    lr_save_string(lr_eval_string("{P_res}"),"P_res");

            if (strcmp(lr_eval_string("{P_res}"), "处理成功") == 0) {
                    lr_end_transaction("enter_homepage", LR_PASS);
            }else{
                    lr_end_transaction("enter_homepage", LR_FAIL);
                    lr_error_message("失败:%s",lr_eval_string("{E_errMsg}"));     

             return 0;   
            }

             

三、socket协议脚本

打开Loadrunner 11,创建/编辑脚本,选择 Windows Sockets协议,创建—开始录制

        录制完成后,目录会多出一个data.ws的文件,用于存放数据
        
        报文体中需要用到转义符“ \ ”,转义 “ " ”,最好每一行后面加上换行符“ \n ”。
               

        action部分:
            #include "lrs.h"
            Action()
            {
            int rc;
            int len=0;
            int rcelen=0;
            // 建立到服务端的连接
               rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=(填ip)", LrsLastArg);
            if (rc == 0){
                lr_output_message("Socket was successfully created");
            }else{
                lr_output_message("An error occurred while creating the socket. Error Code: %d".rc);
            }
            lr_start_transaction("交易");
            lrs_send("socket0", "buf0", LrsLastArg);
            lrs_set recv_timeout(2400,0);     //接收报文接收超时时间设置 600秒

            lrs_receive("socket0", "buf1", LrsLastArg);
            lrs_save_searched_string("socket0",NULL,"P_RESULTCODE", "LR/BIN=<ResultInfoDesc>",NULL,1,0,8);
            lrs_save_searched_string("socket0",NULL,"P_RESULTCODE_1","LB/BIN=<TXLife>","RB/BIN=</TXLife>",1,0,-1);     
            // 这样设置的目的是报错时取到<TXLife></TXLife>中的所有响应报文
            // 有左右边界的,最后三个参数 1是代表取第几次取到的, 0表示从第几位开始取,-1是全取。
            
            if(strcmp(lr eval string("{P_RESULTCODE}"),"交易成功”)==0){
                //lr_error_message("%s",lr_eval_string("{P_RESULTCODE_1}"));   // 再次打印"P_RESULTCODE_1"的目的是看报错时取的值范围
                lr_end_transaction(“交易”,LR_PASS);
            else{
                lr_error_message("%s",lr_eval_string("{P_RESULTCODE_1}"));
                lr_end_transaction(“交易”,LR_PASS);
            }
            lrs_close_socket("socket0");
            return 0;
            }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值