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

深圳湖北籍软件测试群 275212937

LoadRunner录制图片验证码的更多相关文章

  1. JMeter开发插件——图片验证码识别

    我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ...

  2. 字符型图片验证码识别完整过程及Python实现

    字符型图片验证码识别完整过程及Python实现 1   摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...

  3. android图片验证码--自绘控件

    自绘控件的内容都是自己绘制出来的 大致流程如下: 1.定义一个类继承view 使用TypedArray初始化属性集合 在view的构造方法中 有一个AttributeSet的参数 很明显是用来保存控件 ...

  4. webform(十)——图片水印和图片验证码

    两者都需要引入命名空间:using System.Drawing; 一.图片水印 前台Photoshuiyin.aspx代码: <div> <asp:FileUpload ID=&q ...

  5. Android-简单的图片验证码

    Android-图片验证码生成1.为啥要验证码?图片验证码在网络中使用的是比较普遍的.一般都是用来防止恶意破解密码.刷票.论坛灌水.刷页等.2.怎样的验证码比较好?验证码的获取方式无非就两种,一种是后 ...

  6. LoadRunner录制Web协议的脚本 (by网络)

    LoadRunner录制Web协议的脚本  http://itindex.net/detail/50530-loadrunner-web-脚本

  7. 在mvc中实现图片验证码的刷新

    首先,在项目模型(Model)层中建立一个生成图片验证码的类ValidationCodeHelper,代码如下: public class ValidationCodeHelper { //用户存取验 ...

  8. Webform 文件上传、 C#加图片水印 、 图片验证码

    文件上传:要使用控件 - FileUpload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.val ...

  9. php 图片验证码生成 前后台验证

    自己从前一段时间做了个php小项目,关于生成图片验证码生成和后台的验证,把自己用到的东西总结一下,希望大家在用到相关问题的时候可以有一定的参考性. 首先,php验证码生成. 代码如下: 1.生成图像代 ...

随机推荐

  1. Django~static files

    such as images, JavaScript, or CSS https://docs.djangoproject.com/en/1.9/howto/static-files/ django. ...

  2. a byte of python (摘01)

    a byte of python 第一章 介绍 Python 特色 简单.易学.免费.开源 高层语言.可移植性.解释性 面向对象.可扩展性.可嵌入性 丰富的库 第二章 安装Python http:// ...

  3. ajax删除数据后刷新页面

    代码如图: 理解: 发送请求后删除name 属性为 name 的data;用rem .remove删除: 删除后找到页面上app的数量:定义page = len/12+1; 找到当前页是哪一页,如果l ...

  4. HDU 4811 Ball -2013 ICPC南京区域现场赛

    题目链接 题意:三种颜色的球,现给定三种球的数目,每次取其中一个放到桌子上,排成一条线,每次放的位置任意,问得到的最大得分. 把一个球放在末尾得到的分数是它以前球的颜色种数 把一个球放在中间得到的分数 ...

  5. HDU 5762 Teacher Bo (鸽笼原理) 2016杭电多校联合第三场

    题目:传送门. 题意:平面上有n个点,问是否存在四个点 (A,B,C,D)(A<B,C<D,A≠CorB≠D)使得AB的横纵坐标差的绝对值的和等于CD的横纵坐标差的绝对值的和,n<1 ...

  6. QT_SVG格式图片浏览器_源代码下载_详细注释

    源代码链接: http://pan.baidu.com/s/1pKA5Vcv 密码: ib2x 注:SVG格式图片特点: 1. 文件小 2. 图像中文字独立于图像, 可以编辑,可搜索. 3.没有字体限 ...

  7. Jquery的普通事件和on的委托事件

    以click的事件为例: 普通的绑定事件:$('.btn').click(function(){})绑定 on绑定事件:$(documnet).on('click','btn2',function() ...

  8. Mysql之高可用

    使用缓存Memcache, 1,可使用Hash算法由客户端决定路由到哪个Memcache服务器上:客户端完全不用关心数据存储在哪个Memcache服务器上:完全隔离了客户端与服务端:由于是Hash,在 ...

  9. FragmentHelper

    package com.icitymobile.anda.util; import java.lang.ref.SoftReference; import java.util.ArrayList; i ...

  10. Apache commons-dbutils笔记