51Testing软件测试论坛

标题: 如果设置多用户信息关联 [打印本页]

作者: 豆子    时间: 2008-5-22 11:34
标题: 如果设置多用户信息关联
大家好,我录制了一段登录退出的脚本(要经过SSO,即单点登录),来查看关联的正确性,可是我发现,每次执行的过程中,我在日志上都能看到用户成功更新了,可是在录制的快照上,看到显示的登录用户始终是最初的用户。
    然后,我又录了一段用不同用户登录,然后提交数据的脚本,发现提交数据的用户始终是初始录制时候的用户,我估计是我的关联位置做的不对,可是技术有限,我都找了很长时间了,还是不得其门而入,
   在这垦请各位大侠,多多帮忙了。
附:登录退出的一小段脚本信息
Action()
{
        lr_start_transaction("登录");

        web_reg_save_param("One",//此外关联主要用以记录服务器返回的当前用户的SSo信息
                "LB=input type='hidden' name='SSOClientRequest' value=",
                "RB=",
                "Search=Body",
                LAST);

        web_submit_data("FORMLogin.aspx_2",
                "Action=http://XXX.XXX.XXX.XXX/LightSSO/FORMLogin.aspx",
                ......
                ITEMDATA,
                "Name=__EVENTTARGET", "Value=", ENDITEM,
                "Name=__EVENTARGUMENT", "Value=", ENDITEM,
                "Name=__VIEWSTATE",

"Value=/wEPDwUJNzEwOTUwMjk3DxYEHgxSZXR1cm5VcmxTdHIFK2h0dHA6Ly8xOTIuMTY4Ljg0LjQzL2d5ZHFkc21zL01haW5QYWdlLmFzcHgeDFNTT1VzZXJUeXBlcwUIVW5pcXVlSURkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQxJbWFnZUJ1dHRvbjEVSx60A+kybPDQVXvQ8feYofqaIw==", ENDITEM,
                "Name=txtUserName", "Value={UserName}", ENDITEM,//设置一个用户名参数,每次迭代将从预制表取一个用户账号
                "Name=txtPassword", "Value=1111", ENDITEM,
        "Name=__EVENTVALIDATION", "Value=/wEWBALgt++wDAKl1bKzCQK1qbSRCwLSwpnTCDf6q4130o4muVatKzKADX3Wxmyh", ENDITEM,
                ......
                LAST);

        web_reg_save_param("SSO",此外关联的主要作用,也是为了配合之前的SSO,关联服务器返回的动态的SSO及用户信息(主要是往cookie中记录的信息)
                "LB=Set-Cookie:",
                "RB/DIG=",
                "Search=All",
                LAST);

        web_submit_data("Default.aspx_2",
                "Action=http://XXX.XXX.XXX.XXX/LightSSO/Default.aspx",
                ......
                ITEMDATA,
                "Name=SSOClientRequest",
"Value=ReturnUrl=aHR0cDovLzE5Mi4xNjguODQuNDMvZ3lkcWRzbXMvTWFpblBhZ2UuYXNweA==&SSOID=V4Y1U8u+Yg0=&SSOEncryptedPart=9TADRMvEmb+Vydtw9Dl8RfD8NTe7BNZp0WXKYzaoPpbPvfaypaDhVW5mBWAZYV8uw2j+bq5a7obU+5cCvG7PkQMAK6TQPh/VhVyKSyuBYR3DQY7YuqD1uC3N1+qd1atLb7RJ7/dndaCSZw2OAxX8oA==&SSOType=0&SSOUserKeyTypes=UniqueID", ENDITEM,
                LAST);

        web_reg_find("Text={Date}",//设置了一个检查点,当登录成功后,检查当前日期
                LAST);

        web_submit_data("MainPage.aspx_2",
                "Action=http://XXX.XXX.XXX.XXX/gydqdsms/MainPage.aspx",
                ......
                ITEMDATA,
                "Name=SSOServerResponse",
"Value=SSOErrorCode=0&SSOInfo=ywyP+YnlBmgIJ0N+nAYu2V/IvjUvhQyJW+Zz5rySm7YwHGKf6GRUOdRhSlWUVdblBDZDE0QIWHmonrzcJO6gopu6NMjHfeYC", ENDITEM,
                EXTRARES,
                "URL=Css/main.css", ENDITEM,
                ......
                LAST);
        lr_end_transaction("登录", LR_AUTO);
        lr_start_transaction("退出");
        web_submit_data("head.aspx",
                "Action=http://XXX.XXX.XXX.XXX/gydqdsms/head.aspx",
                ......
                ITEMDATA,
                "Name=__SCROLLPOS", "Value=0", ENDITEM,
                ......
                LAST);

        web_submit_data("Default.aspx_3",
                "Action=http://XXX.XXX.XXX.XXX/LightSSO/Default.aspx",
                ......
                ITEMDATA,
                "Name=SSOClientRequest",
"Value=ReturnUrl=aHR0cDovLzE5Mi4xNjguODQuNDMvR3lkcWRTTVMvRGVmYXVsdC5hc3B4&SSOID=V4Y1U8u+Yg0=&SSOEncryptedPart=3e4qqNavzb0oTwvlndOMoNAWJIB4gGAVjdxFJKxQKPlC3wgVQh4fXV4y+2rwd/tKwXubZp4Et2GmyLwNbmBPoEIzw3ckJkwm&SSOType=4&SSOUserKeyTypes=", ENDITEM,
                LAST);

        web_submit_data("Default.aspx_4",
                "Action=http://XXX.XXX.XXX.XXX/LightSSO/Default.aspx",
                ......
                ITEMDATA,
                "Name=SSOClientRequest",
"Value=ReturnUrl=aHR0cDovLzE5Mi4xNjguODQuNDMvR3lkcWRTTVMvRGVmYXVsdC5hc3B4&SSOID=V4Y1U8u+Yg0=&SSOEncryptedPart=JXzA7wlbJW82aERFGni2WIvSFK4yh2kkELEmncB/gk2qHM5+6rEKmoMAdnAxShtq02oL+aTaCCf/u8d7lTQm1uPYiB3VGZDl&SSOType=2&SSOUserKeyTypes=UniqueID", ENDITEM,
                LAST);

        web_submit_data("FORMLogin.aspx_3",
                "Action=http://XXX.XXX.XXX.XXX/LightSSO/FORMLogin.aspx",
                ......
                ITEMDATA,
                "Name=ReturnUrlStr", "Value=http://XXX.XXX.XXX.XXX/GydqdSMS/Default.aspx", ENDITEM,
                "Name=SSOUserTypes", "Value=UniqueID", ENDITEM,
                EXTRARES,
                "URL=images/login_bg.jpg", ENDITEM,
                ......
                LAST);
        lr_end_transaction("退出", LR_AUTO);
        return 0;
}
作者: 森林一木    时间: 2008-5-22 12:36
你设置日志打印输出你的参数值,如果能够正确读取,那就没有问题。还有看看系统的日志,如果用户更新,就表明是没有问题。不必太在意快照里面的信息,我一般不看快照的信息。
作者: 豆子    时间: 2008-5-22 13:07
谢谢楼上的了。
我在回放日志中,可以看到,用户参数是正确读取的,但是提交的通知信息中,通知的创建人,取的始终是初始录制时的用户。
呵呵,主要是觉得这种情况肯定是有办法解决的,所以一直在意~~~,也希望各位GGMM们多多赐教
作者: aks5201314    时间: 2008-5-23 11:10
你的关联的左右边界有问题,input type='hidden' name='SSOClientRequest',单引号是需要转义的.你测试的应用是用.NET来实现的.建议录制完脚本让LR自动检测关联一下.
作者: 豆子    时间: 2008-5-23 17:20
谢谢了~~~好像是没有转义,呵呵。又学了一点。

我用Ctrl+F8自动检测关联点时,检测不到任何信息。所以才手动将自己觉得需要关联的地方给关联了一下。
作者: zealzpc    时间: 2008-5-23 18:38
一般情况是不大用自动关联
作者: liangjz    时间: 2008-5-24 00:18
深林一木的说法是正确的

你的执行在controller还是vugen?

参数化的属性值也影响脚本执行结果
作者: 豆子    时间: 2008-5-26 15:52
我是在VUGEN中,设置迭代,然后查看其回放日志中的参数替代信息,发现我设置的用户是可以正确读取,只是在提交的通知信息中,通知的创建人,取的始终是初始录制时的用户。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2