zoukankan      html  css  js  c++  java
  • LR实战之Discuz开源论坛——登录脚本检查点

    在开发Discuz登录脚本时,遇到的一个问题是怎么去验证虚拟用户真正的登录成功,当然,熟悉LoadRunner工具的人就会知道,在脚本中使用检查点,对,没错!

    我们知道,LR检查点功能有两种:文本检查点web_find()、web_reg_find() 和 图像检查点web_image_check()

    这里只讲,如何使用图像检查点web_image_check()。

    先了解一下这个函数的使用:web_image_check()
    语法:
    int web_image_check(const char *CheckName, <List of Attributes>, <"Alt=alt"|| "Src=src">, LAST );
    
    参数:
    
    1、CheckName:Check名称。
    2、List of Attributes:
    支持的属性有:Frame(在多Frame的情况下,定义要查找Frame的范围)。
    支持的选项有:
    Expect:检查通过的条件,默认为Found
    Matchcase:是否区分大小写,默认为no
    Repeat:找到第一个符合条件字符串后,是否还继续搜索,默认为yes
    Report:什么情况下(success、failure、always)显示检查结果,默认always
    Onfailure:失败(expect的值决定)的情况下,是否继续,默认为Continue on Error。
    3、Alt:图片的ALT标记。
    4、Src:图片的SRC标记。

    使用LR工具中,插入函数web_image_check()时,有两种检查方式,一是使用图片的ALT标记;二是使用图片的SRC标记。如图

                                                                                              

    在登录成功的页面,右键查看源代码,找到刚才需要检查的<img>图片,这里我用的是Src定位路径

    代码如下:

     1     web_url("forum.php_2",
     2         "URL=http://192.168.157.128/Discuz/upload/forum.php",
     3         "Resource=0",
     4         "RecContentType=text/html",
     5         "Referer=",
     6         "Snapshot=t3.inf",
     7         "Mode=HTML",
     8         EXTRARES,
     9         "URL=static/image/common/user_online.gif", ENDITEM,
    10         "URL=static/image/feed/favorite_b.png", ENDITEM,
    11         "URL=static/image/feed/magic_b.png", ENDITEM,
    12         "URL=static/image/feed/medal_b.png", ENDITEM,
    13         "URL=static/image/feed/task_b.png", ENDITEM,
    14         "URL=static/image/feed/wall_b.png", ENDITEM,
    15         "URL=static/image/common/style_switch.png", ENDITEM,
    16         "URL=static/image/feed/friend_b.png", ENDITEM,
    17         "URL=static/image/feed/thread_b.png", ENDITEM,
    18         LAST);
    19 
    20         web_image_check("web_image_check",
    21         "Src=/upload/uc_server/avatar.php?uid=2&size=small",
    22         LAST);

    这里,需要注意,使用图像检查点时,代码位置,必须将该函数放到提交访问的URL后面,若放在前面,则会报错,如下报错信息

    Action_login.c(33): Continuing after Error -27191: "web_image_check" failed (0 occurrence(s) found. Alt="", Src="/upload/uc_server/avatar.php?uid=2&size=small")      [MsgId: MERR-27191]

    看到上面的报错信息,就是说明找不到检查点,总结了下有三种可能:

    1、检查参数的信息是否写错;

    2、web_image_check(),查看该图片的源代码,看其是否是这个页面上的图片,很可能是图片选择错误,即所选图片不属于该页面;

     扩展知识:

    图像检查点函数web_image_check(),是支持嵌入关联变量的,意思是在Alt=“”或者Src=“”内容中,若脚本中涉及到关联是可以嵌入的

    刚好,我这里的头像,检查图片时就必须做管理,因为每个用户的头像图片是不一样的,userId也不一样,代码如下:

     1     web_reg_save_param("uidParam",
     2         "LB=<img src="http://127.0.0.1/Discuz/upload/uc_server  /avatar.php?uid=",
     3         "RB=&size=small" />",
     4         "Search=Body",
     5         LAST);
     6 
     7 
     8         web_image_check("web_image_check",
     9         "Src=/upload/uc_server/avatar.php?uid={uidParam}&size=small",
    10         LAST);

    LR回放之后,可以看到关联成功,如图

  • 相关阅读:
    Response生成注册验证码实现例子02
    Mysql 自增字段起始值auto_increment的修改方法
    elite核心库的加载方式及自动加载类库
    elite核心类库之事件类
    wamp速度缓慢的解决办法
    Dwzdialog中批量提交的问题处理
    PHP中缀表达式与逆波兰式的计算(用于工资项目等四则计算)
    PHP工资计算之逆波兰式
    elite核心类库之模板类
    PHP soap访问接口出错汇总及解决办法
  • 原文地址:https://www.cnblogs.com/luihengk/p/3954494.html
Copyright © 2011-2022 走看看