带有事务的进入首页、登录、登出脚本

1.open_index脚本代码:

open_index()
{
    int logincount=0 ;
    lr_start_transaction("login");   //添加事务
    
    web_add_cookie("csrftoken=gSsqxzrI1c2OfXuWkyDsZwBuTuR6mGfpYnjKiOf6NzysWHfNJUbkclOUq6KEW2KZ; DOMAIN=192.168.1.102");

    web_add_cookie("djdt=show; DOMAIN=192.168.1.102");

    web_reg_find("Search=Body",
        "SaveCount=logincheckcount",
        "Text=登录",
        LAST);   //检查响应中的Body内容中存在“登录”文本信息
    
    
    web_url("192.168.1.102:8000_2", 
        "URL=http://192.168.1.102:8000/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t5.inf", 
        "Mode=HTML", 
        EXTRARES, 
        "Url=/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.eot?", ENDITEM, 
        LAST);    
    
    //统计需要在获取响应结果后
    logincount=atoi(lr_eval_string("{logincheckcount}"));   //lr_eval_string函数获取参数变量logincheckcount的值,并转为字符串,atoi函数将字符串值转为整型值
    lr_output_message("logincount=%d",logincount);  //打印函数
    
    
    
    if(logincount>0)
    {
        lr_output_message("进入登录页成功");  
        return 0;
    }
    else
    {
        lr_output_message("进入登录页失败");  
        return -1;
    }
}

2.submit_login脚本代码:

submit_login()
{
    int loginoutcount=0;  //定义整型变量,赋初值为0
    web_reg_find("Search=Body",
        "SaveCount=loginoutcheckcount",
        "Text=注销",
        LAST);   //检查响应中的Body内容中存在“注销”文本信息

    web_submit_data("192.168.1.102:8000_3", 
        "Action=http://192.168.1.102:8000/", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://192.168.1.102:8000/", 
        "Snapshot=t6.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=csrfmiddlewaretoken", "Value=KityV3QMmTRmrZQfljwDUA5NFtIrtYjssNkSGiEa8gn08JB6KF4v7pidc5BZ3kO2", ENDITEM, 
        "Name=username", "Value=bobby", ENDITEM, 
        "Name=password", "Value=admin123", ENDITEM, 
        "Name=this_is_the_login_form", "Value=1", ENDITEM, 
        "Name=next", "Value=/", ENDITEM, 
        EXTRARES, 
        "Url=/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.eot?", ENDITEM, 
        LAST);
    
    //统计需要在获取响应结果后
    loginoutcount=atoi(lr_eval_string("{loginoutcheckcount}"));   //lr_eval_string函数获取参数变量loginoutcheckcount的值,并转为字符串,atoi函数将字符串值转为整型值
    lr_output_message("loginoutcount=%d",loginoutcount);  //打印函数
    
    
    
    if(loginoutcount>0)
    {
        lr_output_message("登录成功");  
        return 0;
    }
    else
    {
        lr_output_message("登录失败");  
        return -1;
    }

}

3.sign_off脚本代码:

sign_off()
{
    int outcount=0;  //定义整型变量,赋初值为0
    web_reg_find("Search=Body",
        "SaveCount=outcheckcount",
        "Text=成功退出",
        LAST);   //检查响应中的Body内容中存在“成功退出”文本信息

    lr_think_time(9);

    web_url("logout", 
        "URL=http://192.168.1.102:8000/logout/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=http://192.168.1.102:8000/", 
        "Snapshot=t7.inf", 
        "Mode=HTML", 
        LAST);
    
    //统计需要在获取响应结果后
    outcount=atoi(lr_eval_string("{outcheckcount}"));   //lr_eval_string函数获取参数变量loginoutcheckcount的值,并转为字符串,atoi函数将字符串值转为整型值
    lr_output_message("outcount=%d",outcount);  //打印函数
    
    lr_end_transaction("login", LR_AUTO);   //添加事务“login”结束,必须在有return结果前,不然会报错
    
    if(outcount>0)
    {
        lr_output_message("登出成功");  
        return 0;
    }
    else
    {
        lr_output_message("登出失败");  
        return -1;
    }
    
    
}

 4.设置了事务,则意味着在脚本执行从事务开始到事务结束的脚本执行时间都为事务的时间

  是否带think time时间,要看 Run-Time Setings->Think Time的设置:

    勾选 Ignore think time:则忽略不计think time时间

    勾选Replay think time:

      勾选 As recorded:则表示使用录制时录制的think time时间

      勾选 Limit think time to 5 seconds:表示think time最多5秒,少于5秒的按照录制时间,多于5秒按5秒算

原文地址:https://www.cnblogs.com/jingzaixin/p/13631163.html