zoukankan      html  css  js  c++  java
  • loadrunner http协议性能测试脚本编写

    性能测试其实测的就是接口的性能,不管是用工具录制还是自己写,都是围绕接口的,录制也是把接口录制下来而已,但是录制下来的脚本比较乱,会把很多相关的请求都录下来。

    在这里我们手动写HTTP协议的get、post请求的接口

     1.HTTP的GET请求 
    这里以访问百度为例,地址http://www.baidu.com/s?wd=helloworld,表示在百度上搜索helloworld。 

    Action()
    {


    int status; //定义状态
    lr_start_transaction("send"); //定义开始事务

    web_reg_find("Search=Body",//这里说明在Body的范围内查找
    "SaveCount=ret_Count",//这里表示把返回值的个数放在变量ret_Count里
    "Text=helloworld",//这里表示查找的内容是“helloworld”
    LAST);


    status=web_url("Baidu_Search",
    "URL= http://www.baidu.com/s?wd=helloworld",
    "TargetFrame=Main",
    "Resource=0",
    "RecContentType=text/html",
    "Mode=http",
    LAST );

    lr_output_message("Request Status:%d",status);
    lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));

    if (atoi(lr_eval_string("{ret_Count}")) > 0){//这里判断检查到的个数
    lr_output_message("Rec successful.");
    lr_end_transaction("send", LR_PASS); //结束事务
    }
    else{
    lr_error_message("Rec failed");
    lr_end_transaction("send", LR_FAIL); //结束事务
    }

    return 0;
    }

    2.HTTP POST请求 
    这里用飞机订票系统的注册方法举例,脚本如下:

    Action()
    {

    int status;

    lr_start_transaction("注册");


    web_reg_find("Search=Body",//这里说明在Body的范围内查找
    "SaveCount=ret_Count",//这里表示把返回值的个数放在变量ret_Count里
    "Text=Thank you",//这里表示查找的内容是“t”
    LAST);

    status= web_submit_data("default.aspx",
    "Action=http://127.0.0.1:1080/WebTours/login.pl ", //地址
    "Method=POST", //POST请求

    ITEMDATA,

    //传参
    "Name=username", "Value=shen", ENDITEM,
    "Name=password", "Value=shen", ENDITEM,
    "Name=passwordConfirm", "Value=shen", ENDITEM,
    "Name=firstName", "Value=", ENDITEM,
    "Name=lastName", "Value=", ENDITEM,
    "Name=address1", "Value=", ENDITEM,
    "Name=address2", "Value=", ENDITEM,
    "Name=register.x", "Value=43", ENDITEM,
    "Name=register.y", "Value=17", ENDITEM,

    LAST );

    lr_output_message("Request Status:%d",status);
    lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));

    if (atoi(lr_eval_string("{ret_Count}")) > 0){//这里判断检查到的个数
    lr_output_message("Rec successful.");
    lr_end_transaction("注册", LR_PASS);
    }
    else{
    lr_error_message("Rec failed");
    lr_end_transaction("注册", LR_FAIL);
    }


    return 0;
    }

  • 相关阅读:
    Object-C 声明属性为什么用下划线,代码规范和编程风格
    iOS API 概述
    iOS 彻底学会使用delegate
    iOS NSNotification的使用
    L1_6 连续因子
    天梯 L1_46整除光棍
    51-Nod 1279
    UVA
    hdu 1078
    Poj 1088 滑雪 递归实现
  • 原文地址:https://www.cnblogs.com/lanyy/p/8592331.html
Copyright © 2011-2022 走看看