如果设置多用户信息关联
大家好,我录制了一段登录退出的脚本(要经过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;
} 你设置日志打印输出你的参数值,如果能够正确读取,那就没有问题。还有看看系统的日志,如果用户更新,就表明是没有问题。不必太在意快照里面的信息,我一般不看快照的信息。 谢谢楼上的了。
我在回放日志中,可以看到,用户参数是正确读取的,但是提交的通知信息中,通知的创建人,取的始终是初始录制时的用户。
呵呵,主要是觉得这种情况肯定是有办法解决的,所以一直在意~~~,也希望各位GGMM们多多赐教 你的关联的左右边界有问题,input type='hidden' name='SSOClientRequest',单引号是需要转义的.你测试的应用是用.NET来实现的.建议录制完脚本让LR自动检测关联一下.:) 谢谢了~~~好像是没有转义,呵呵。又学了一点。
我用Ctrl+F8自动检测关联点时,检测不到任何信息。所以才手动将自己觉得需要关联的地方给关联了一下。 一般情况是不大用自动关联 深林一木的说法是正确的
你的执行在controller还是vugen?
参数化的属性值也影响脚本执行结果 我是在VUGEN中,设置迭代,然后查看其回放日志中的参数替代信息,发现我设置的用户是可以正确读取,只是在提交的通知信息中,通知的创建人,取的始终是初始录制时的用户。
页:
[1]