Loadrunner实现网络听评课系统登录脚本实例

来源:互联网 发布:谢谢爷爷 知乎 编辑:程序博客网 时间:2024/06/09 23:10

脚本业务流:访问网络听评课——登录平台——退出平台。本次使用LoadRunner11版本。

一、录制脚本注意

    1、确保网络听评课能在服务器运行正常。

    2、录制前先注册一个测试用户。

    3、选择录制协议,网络听评课是一个B/S架构的web系统,使用常用协议“web(HTTP/HTML)”录制。

    4、录制选项的设置,特别注意录制时的HTTP/HTML级别的选择是“基于HTML的脚本”还是“基于URL的脚本”,这里选择“基于HTML的脚本”。

    5、录制完脚本后,先保存脚本,再回放一遍。

二、优化脚本

1.插入事物点 2.插入集合点 3.参数化 4.插入检查点

    使用LoadRunner录制后的脚本,通常都是需要优化完善脚本。这里优化action中的登录部分,优化完善后的脚本如下:

vuser_init()
{

    web_url("192.168.1.230",
        "URL=http://192.168.1.230/",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t65.inf",
        "Mode=HTML",
        LAST);

    web_url("login.jsp",
        "URL=http://192.168.1.230/jsp/login/login.jsp",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=http://192.168.1.230/",
        "Snapshot=t66.inf",
        "Mode=HTML",
        EXTRARES,
        "Url=/css/stylecss2.css", ENDITEM,
        "Url=/images/BJ.jpg", ENDITEM,
        "Url=/images/loginBJ_03.png", ENDITEM,
        "Url=/images/but_DL.png", ENDITEM,
        LAST);

    return 0;
}


Action()
{
    
    
    lr_think_time(13);

    lr_rendezvous("login");                   /*设定登陆操作的集合点*/

    web_custom_request("login",
        "URL=http://192.168.1.230/webservice/ece/login/login?account={usename}&password=123456&dateTime=1486713296375",
        "Method=GET",
        "TargetFrame=",
        "Resource=1",
        "RecContentType=application/json",
        "Referer=http://192.168.1.230/jsp/login/login.jsp",
        "Snapshot=t67.inf",
        "EncType=application/json",
        LAST);

    lr_start_transaction("login_submit_time");    /*该事务点的作用是统计登陆成功的信息*/

    web_reg_find("Fail=NotFound",                     /*增加文本检查点,验证是否登录成功*/
        "Search=All",
        "Text=EXIT",
        "SaveCount=para_count",                      /*检查到文本的数量存在para_count这个变量中*/
        LAST);
    web_url("pr1.jsp",
        "URL=http://192.168.1.230/jsp/login/pr1.jsp",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=http://192.168.1.230/jsp/login/login.jsp",
        "Snapshot=t68.inf",
        "Mode=HTML",
        EXTRARES,
        "URL=/images/ICOindex.png", ENDITEM,
        "URL=/images/fxBJD.gif", ENDITEM,
        "URL=/images/fxBJBD.gif", ENDITEM,
        LAST);

    lr_end_transaction("login_submit_time", LR_AUTO);
    lr_log_message("用户名:%s", lr_eval_string("{usename}"));
    if(strcmp(lr_eval_string("{para_count}"),"0")==0)
        lr_log_message("登陆失败!");
    else
        lr_log_message("登陆成功!");
    return 0;
}


vuser_end()
{

    lr_think_time(5);

    web_custom_request("exit",
        "URL=http://192.168.1.230/webservice/ece/login/exit",
        "Method=GET",
        "TargetFrame=",
        "Resource=1",
        "RecContentType=application/json",
        "Referer=http://192.168.1.230/jsp/login/pr1.jsp",
        "Snapshot=t69.inf",
        LAST);

    web_url("login.jsp_2",
        "URL=http://192.168.1.230/jsp/login/login.jsp",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=http://192.168.1.230/jsp/login/pr1.jsp",
        "Snapshot=t70.inf",
        "Mode=HTML",
        LAST);

    return 0;
}

1.事务设置

使用函数:lr_start_transaction("事务名称");lr_end_transaction("事务名称",LR_AUTO);

添加方法:insert-start_transaction/end_transaction

注意事项:不要将思考时间(lr_think_time函数)放在事务开始和事务结束之间。

2.插入集合点

使用函数:lr_rendezvous("集合点名称");

添加方法:集合点的设置在菜单“插入--集合”即可,集合点是为了模拟实际场景,在登陆时设置集合点就相当于大家都已输入账号、密码同时点登陆这一操作。注意事项:集合点要放在开始事务的前面,思考时间(lr_think_time函数)的后面。

3.参数化 LR录制登录的脚本,一般需要参数化脚本中的登录用户和对应的密码,以便更加真实地模仿系统的业务操作。

添加方法:

1.手动将用户名保存在文本中添加,点击工具栏图标打开参数列表,或者点击菜单“Vuser--参数列表”,或使用快捷方式“Ctrl+L”,点击新建,定义参数名称username和password,创建表并输入内容

2.和数据库连接获取参数,详见http://blog.csdn.net/pangnuonuo/article/details/55259881

注意事项:参数化时Each iteration与 Each occurrence区别Each iteration一次迭代中取的是同一个参数,Each occurrence一次迭代中碰到参数化取不同的参数;参数名username和password相对应,通过参数列表中的数据方式和更新值方式来设置,username参数要与password参数对应设置正确,脚本回放时才能模拟用户登录成功,若密码一样参数化用户名就可以。

4.插入检查点

使用函数:web_reg_find()

添加方法:LR的检查点分为文本检查点和图像检查点,添加检查点的方法很简单,在LR的树形视图中,打开视图登录页面,选择需要检查的内容(文本或者图像),鼠标右键选择“添加文本检查点(web_reg_find())”即可。

注意事项:

1.若要手动添加检查点,则需要把检查点设置在返回页面的之前;

2.在脚本中添加了检查点,要在Vuser->Run-Tme Settings中更改下设置,勾选Enable Image and text check。

3.建议使用web_reg_find()抛弃web_find(),具体不同详见http://blog.csdn.net/pangnuonuo/article/details/55259164

0 0
原创粉丝点击