zoukankan      html  css  js  c++  java
  • LoadRunner录制图片验证码

    LoadRunner录制图片验证码
    LoadRunner自身是无法捕获到图片验证码的,但是我们可以帮助LoadRunner来实现验证码的捕获。
    1.图片验证码
    图片验证码的产生来自服务器端,由服务器生成随机数,然后写入到图片中。虽然LR可以录制下图片,但是无法从图片中获取数据,因此表面上看LR是无法跳过这关了,那么我们从服务器下手,通常产生的随机数是保存在session中,所以我们可以想办法获取到这个session。
     
     a.针对应用,采用不同的语言,本次讲的是java应用,首先写个*.jsp脚本,用来获取应用当前session的名值对。
     b.将脚本调试通过后,放入应用的root目录下。
     c.访问该脚本,验证能获取session名值对。
    2.捕获验证码
    既然可以从服务器获得session的名值对,那么我们就可以用LR来捕获这些值。
     
     a.添加注册函数web_reg_save_param,设置目标边界。
     b.通过web_url访问*.jsp文件。
     c.处理名值对,使用atoi将字符串型的验证码转换成整型。
    3.筛选捕获的信息
    a.在捕获的session信息中,可能存在多个名值对,所以建议用循环处理,筛选出验证码的session。
     b.建议在获得验证码session后,重新整理脚本,修改web_reg_save_param的目标边界值,然后直接调用web_url访问*.jsp,这样可以避免循环带来的性能问题,提高效率。
    4.参数化
    将验证码进行参数替换,脚本回放即可。
    5.实例
    Action()
     {
     web_url("reg.jsp", 
        "URL=http://localhost:8090/verf/reg.jsp", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t2.inf", 
        "Mode=HTTP", 
        LAST);
    web_url("CheckCode.jsp", 
        "URL=http://localhost:8090/verf/CheckCode.jsp", 
        "Resource=1", 
        "RecContentType=image/jpeg", 
        "Referer=http://localhost:8090/verf/reg.jsp", 
        "Snapshot=t3.inf", 
        LAST);
    web_reg_save_param("vcode","LB=S:","RB=:E", "ORD=ALL", LAST);
    SessionInfo("vcode", "http://localhost:8090/verf/verify.jsp", "http://localhost:8090/verf/reg.jsp");
    lr_start_transaction("very");
    web_submit_data("actreg.jsp", 
        "Action=http://localhost:8090/verf/actreg.jsp", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://localhost:8090/verf/reg.jsp", 
        "Snapshot=t4.inf", 
        "Mode=HTTP", 
        ITEMDATA, 
        "Name=CheckCode", "Value=5715", ENDITEM, 
        "Name=btnG", "Value=登录", ENDITEM, 
        LAST);
    lr_end_transaction("very",LR_AUTO);
    return 0;
     }
     
     小结
    a.此方法有一定的局限性,主要表现在需要写一个服务端的脚本,并将脚本放入应用中,其次对于不同语言编写的应用,需要编写不同的脚本,如java、c#,最后此方法只适用于将验证码保存到session中的应用。
     b.可以将上面关于LR的方法写入函数中,方便以后的测试,提供 session.h 和 verify.jsp 脚本供参考

    深圳湖北籍软件测试群 275212937

  • 相关阅读:
    UVA 1386 Cellular Automaton
    ZOJ 3331 Process the Tasks
    CodeForces 650B Image Preview
    CodeForces 650A Watchmen
    CodeForces 651B Beautiful Paintings
    CodeForces 651A Joysticks
    HUST 1601 Shepherd
    HUST 1602 Substring
    HUST 1600 Lucky Numbers
    POJ 3991 Seinfeld
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4949149.html
Copyright © 2011-2022 走看看