51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2825|回复: 9
打印 上一主题 下一主题

[原创] 关于 web_reg_save_param 的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-29 19:04:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
环境 LoadRunder9.51, Windows xp sp3
场景:
页面上有一个DealerID的Textbox,并且有新增和修改按钮
点新增按钮以后,系统会将新增的DealerID传回到页面,
点修改的时候,系统回根据Textbox的值,修改刚增加的Dealer

回放时候增加客户成功Server response截图



脚本
lr_end_transaction("add", LR_AUTO);
lr_start_transaction("modify");
lr_think_time(20);
web_reg_save_param("DealerID",
           "LB=<input name=\"txtDealerID\" type=\"text\" value=\"",
           "RB=\" id=\"txtDealerID\" />",
           LAST );
lr_log_message("Dealer ID is : %s",lr_eval_string ("{DealerID}"));

generator Log
Action.c(88): web_reg_save_param started          [MsgId: MMSG-26355]
Action.c(88): Registering web_reg_save_param was successful          [MsgId: MMSG-26390]
Action.c(93): Warning: The string 'DealerID' with parameter delimiters is not a parameter.
Dealer ID is : {DealerID}

提示是注册成功,但是,我打印的时候,报错,不是一个参数
并且修改Dealer不能成功,因为DealerID取不到

请问下是为什么

问题1:
这么写 web_reg_save_param 是否正确
问题2:
如果想查看DealerID的值,有什么好办法
问题3:
参数的用法
"Name=txtDealerID", "Value={DealerID}", ENDITEM,
是否正确,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-9-30 09:51:00 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2009-9-30 09:56:50 | 只看该作者
    web_reg_save_param 不是成功了么,你用的  lr_log_message 放的位置不太对吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2009-9-30 10:11:20 | 只看该作者

    回复 3# 的帖子

    Action()
    {
    /* Registering parameter(s) from source task id 5
            // {Siebel_Analytic_ViewState4} = "/=="
            // */

            web_add_auto_header("Accept-Encoding",
                    "gzip, deflate");

            web_add_auto_header("Accept-Language",
                    "zh-cn");

            web_add_auto_header("User-Agent",
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; .NET CLR 2.0.50727; .NET CLR 3.5.30428; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)");

    //LoadRunder自动生成
            web_reg_save_param("Siebel_Analytic_ViewState4",
                    "LB/IC=ViewState\" value=\"",
                    "RB/IC=\"",
                    "Ord=1",
                    "RelFrameId=1",
                    "Search=Body",
                    LAST);

            lr_think_time(6);

            web_submit_data("default.aspx_2",
                    "Action=http://localhost/CRMPerformanceTest/default.aspx",
                    "Method=POST",
                    "RecContentType=text/html",
                    "Referer=http://localhost/CRMPerformanceTest/default.aspx",
                    "Snapshot=t39.inf",
                    "Mode=HTML",
                    ITEMDATA,
                    "Name=__EVENTTARGET", "Value=ddlParent", ENDITEM,
                    "Name=__EVENTARGUMENT", "Value=", ENDITEM,
                    "Name=__LASTFOCUS", "Value=", ENDITEM,
                    "Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState2}", ENDITEM,
                    "Name=ddlParent", "Value=    -- Orbitel", ENDITEM,
                    "Name=txtParentDealerID", "Value=", ENDITEM,
                    "Name=txtDealerTypeID", "Value=", ENDITEM,
                    "Name=txtDealerName", "Value=", ENDITEM,
                    "Name=txtProvisionName", "Value=", ENDITEM,
                    "Name=txtDealerNameM", "Value=", ENDITEM,
                    "Name=txtProvisionNameM", "Value=", ENDITEM,
                    "Name=ddlParentT", "Value=ORBITEL", ENDITEM,
                    "Name=txtTarget", "Value=", ENDITEM,
                    "Name=txtDealerID", "Value=", ENDITEM,
                    LAST);

            lr_start_transaction("add");
            lr_think_time(7);
            web_submit_data("default.aspx_3",
                    "Action=http://localhost/CRMPerformanceTest/default.aspx",
                    "Method=POST",
                    "RecContentType=text/html",
                    "Referer=http://localhost/CRMPerformanceTest/default.aspx",
                    "Snapshot=t40.inf",
                    "Mode=HTML",
                    ITEMDATA,
                    "Name=__EVENTTARGET", "Value=", ENDITEM,
                    "Name=__EVENTARGUMENT", "Value=", ENDITEM,
                    "Name=__LASTFOCUS", "Value=", ENDITEM,
                    "Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState4}", ENDITEM,
                    "Name=ddlParent", "Value=    -- Orbitel", ENDITEM,
                    "Name=txtParentDealerID", "Value=1000150086", ENDITEM,
                    "Name=txtDealerTypeID", "Value=3", ENDITEM,
                    "Name=txtDealerName", "Value=DealerName", ENDITEM,
                    "Name=txtProvisionName", "Value=ProvisionName", ENDITEM,
                    "Name=btnSave", "Value=Save", ENDITEM,
                    "Name=txtDealerNameM", "Value=", ENDITEM,
                    "Name=txtProvisionNameM", "Value=", ENDITEM,
                    "Name=ddlParentT", "Value=ORBITEL", ENDITEM,
                    "Name=txtTarget", "Value=", ENDITEM,
                    "Name=txtDealerID", "Value=", ENDITEM,
                    LAST);
            lr_end_transaction("add", LR_AUTO);

    //新增完成以后,DealerID 才会回传到页面上,现在才能保存DealerID,为修改提供依据
              我写的保存
            web_reg_save_param("CurrentDealerID",
                    "LB/IC=txtDealerID",
                    "RB/IC=txtDealerID",
                    "Ord=1",
                    "Search=Body",
                    "RelFrameId=1",
                    LAST);


            lr_start_transaction("modify");
            lr_think_time(20);

            //自动生成的可以打印
    lr_log_message("CurrentDealerID ID is : %s", lr_eval_string("{Siebel_Analytic_ViewState4}"));
    //我写的打印不了
            lr_log_message("CurrentDealerID ID is : %s", lr_eval_string("{CurrentDealerID}"));
           
            lr_end_transaction("modify", LR_AUTO);

    [ 本帖最后由 cexowyc 于 2009-9-30 10:22 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2009-9-30 10:13:34 | 只看该作者
    web_reg_save_param 要放在查询的URL前面,不是后面
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2009-9-30 10:14:10 | 只看该作者
    default.aspx_3 的Server Response中有
                <td>
                    <input name="txtDealerID" type="text" value="1400000168" id="txtDealerID" />
                </td>

    就是这情况下,还是报
    Warning: The string 'CurrentDealerID' with parameter delimiters is not a parameter
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2009-9-30 10:17:09 | 只看该作者
    谢谢版主的回复,不过我的问题是
    页面上有一个DealerID的Textbox,并且有新增和修改按钮
    点新增按钮以后,系统会将新增的DealerID传回到页面,
    点修改的时候,系统回根据Textbox的值,修改刚增加的Dealer


    我的注册param是放在新增以后,就是在 Default.apsx_3后面,因为此时 txtDealerID 才有值
    取得该值以后,再去修改,我的修改部分代码没有贴,因为太多了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2009-9-30 10:44:22 | 只看该作者
    chimera已经说的很清楚了
    txtDealerID的值是Default.apsx_3这步操作server端返回的,所以,你把web_reg_save_param放在Default.apsx_3之前去获取该步操作server即将返回的txtDealerID的值
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2009-9-30 10:52:45 | 只看该作者

    回复 8# 的帖子

    受教,受教,问题解决 ,一直以为LR是拿到客户端以后再取,现在才知道,LR是介于客户端和服务器之间取值的,楼主与断寒
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-9-30 11:06:53 | 只看该作者
    web_reg_save_param  是注册函数吧
    在LR向服务器发这个请求函数之前就要进行注册了。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 23:50 , Processed in 0.071198 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表