51Testing软件测试论坛

标题: 登录功能cas认证问题 [打印本页]

作者: littlevine68    时间: 2015-4-21 12:41
标题: 登录功能cas认证问题
本帖最后由 littlevine68 于 2015-4-21 12:49 编辑

Action.c(74): Warning -26612: HTTP Status-Code=500 (Internal Server Error) for "http://192.168.1.147:8080/platformserver//keepSession.action?ticket=ST-277-Uf7b1IYiSFcGBzwtkmq6-cas"  
是刚录制完脚本,回放的时候就会有这样的500错误,

不过在应用程序中手工检验该功能是没有任何问题的..用LR回放就有500错误.

作者: saharaqs    时间: 2015-4-21 13:00
目测需要把ticket=ST-277-Uf7b1IYiSFcGBzwtkmq6-cas关联。
作者: littlevine68    时间: 2015-4-21 14:14
saharaqs 发表于 2015-4-21 13:00
目测需要把ticket=ST-277-Uf7b1IYiSFcGBzwtkmq6-cas关联。

了解,像会话ID可以坐打开浏览器那里获取,那这个ticket的值从哪来呢?
作者: luming    时间: 2015-4-21 19:25
这两天我也在测试一个使用cas的系统,只是说下我所用的系统.
1.ticket可以使用关联抓出来,但是每次请求,都会生成不同的ticket,至少我在测试的系统,无论是否使用ticket都可以正常使用.
2.我用的cas系统,关键的是session,我使用的时候,使用web_add_cookie添加session,就可以办理业务了,登录系统本身是无法测试的.
3.我测试的系统,cas的cookie中储存的jsessionid,这个可以关联,但是服务器端不认loadrunner生成的sessionid,只能先使用IE登录,在IE中查session,再用web_add_cookie硬写入到loadrunner中.

当然了,你用的cas可能和我用的不同,只是如果相同,可以避免一些坑.
作者: littlevine68    时间: 2015-4-22 12:39
luming 发表于 2015-4-21 19:25
这两天我也在测试一个使用cas的系统,只是说下我所用的系统.
1.ticket可以使用关联抓出来,但是每次请求,都 ...

我测试的系统,录制后都无法正常回放,无法正常登录,提示票根不对,这个票根好像是登录后才给的,太郁闷了,可否留下大师的QQ,交流交流?
作者: saharaqs    时间: 2015-4-22 13:04
这个票根做了关联了没?

脚本能不能贴一些上来看看
作者: littlevine68    时间: 2015-4-22 13:16
saharaqs 发表于 2015-4-22 13:04
这个票根做了关联了没?

脚本能不能贴一些上来看看

到了,这个就报警告了,票根没关联,不知道怎么获取票根,查了cas工作原理如下(是说登录成功后才会有票根,问题我现在就是验证回放的时候都登录不了呢):
CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进行身份合适,以确保 Service Ticket 的合法性。
作者: littlevine68    时间: 2015-4-22 13:26
saharaqs 发表于 2015-4-22 13:04
这个票根做了关联了没?

脚本能不能贴一些上来看看
  1. vuser_init()
  2. {

  3.         web_set_max_html_param_len("1024");

  4.         web_reg_save_param("PeopleSoftJSessionID2",
  5.                 "LB/IC=jsessionid=",
  6.                 "RB/IC=?",
  7.                 "Ord=1",
  8.                 "Search=Body",
  9.                 LAST);

  10.         web_url("bsm",
  11.                 "URL=http://192.168.1.147:8080/bsm",
  12.                 "Resource=0",
  13.                 "RecContentType=text/html",
  14.                 "Referer=",
  15.                 "Snapshot=t1.inf",
  16.                 "Mode=HTML",
  17.                 LAST);

  18.         return 0;
  19. }

  20. Action()
  21. {

  22.         web_submit_data("login;jsessionid=8D6A263474FA22D8CF5FDE4F8FBDE68D",
  23.                 "Action=http://192.168.1.147:8082/cas-server-webapp-3.4.11/login;jsessionid={PeopleSoftJSessionID2}?service=http%3A%2F%2F192.168.1.147%3A8080%2Fbsm%2Fj_spring_cas_security_check%3Bjsessionid%3D4E0D8EF5BC5F5296BD350BF33ECDF6E9",
  24.                 "Method=POST",
  25.                 "RecContentType=text/html",
  26.                 "Referer=http://192.168.1.147:8082/cas-server-webapp-3.4.11/login?service=http%3A%2F%2F192.168.1.147%3A8080%2Fbsm%2Fj_spring_cas_security_check%3Bjsessionid%3D4E0D8EF5BC5F5296BD350BF33ECDF6E9",
  27.                 "Snapshot=t3.inf",
  28.                 "Mode=HTML",
  29.                 ITEMDATA,
  30.                 "Name=username", "Value=Nacy", ENDITEM,
  31.                 "Name=password", "Value=7e4777839775c41a1312a43e1d146b8af53738219ce851eae63050cf731cd47dcc59866451eb097dcc1ff7b4d013c5a13bb092220b7067881d1e000b4dc9c759e00d1f5e4458520645783a5e0979f0b9818dfe4d0e36a4b591cca8f8a64bbc43a5a5908581b55348b842c831177360fde18dc34cb0655aa3c4d764f3756dd960",  ENDITEM,
  32.                 "Name=j_captcha_response", "Value=", ENDITEM,
  33.                 "Name=lt", "Value=LT-4230-NDyZbjcztO3vwZcUd9UtWwVIHHzpIG", ENDITEM,
  34.                 "Name=execution", "Value=e1s1", ENDITEM,
  35.                 "Name=_eventId", "Value=submit", ENDITEM,
  36.                 LAST);

  37.         web_custom_request("__System.pageLoaded.dwr",
  38.                 "URL=http://192.168.1.147:8080/bsm/dwr/call/plaincall/__System.pageLoaded.dwr",
  39.                 "Method=POST",
  40.                 "Resource=0",
  41.                 "RecContentType=text/javascript",
  42.                 "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159",
  43.                 "Snapshot=t4.inf",
  44.                 "Mode=HTML",
  45.                 "EncType=text/plain",
  46.                 "Body=callCount=1\nwindowName=\nc0-scriptName=__System\nc0-methodName=pageLoaded\nc0-id=0\nbatchId=0\npage=%2Fbsm%2Findex.html%3Frandom%3D0.5430841207891159\nhttpSessionId=\nscriptSessionId=\n",
  47.                 EXTRARES,
  48.                 "Url=/bsm/com.ghca.platform.desktopcore.EVDesktopEntry/clear.cache.gif", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  49.                 "Url=/bsm/com.macaufly.gwt.hostpage.Hostpage/clear.cache.gif", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  50.                 "Url=/bsm/resources/js/My97DatePicker/skin/WdatePicker.css", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  51.                 "Url=/bsm/common/images/bg.jpg", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  52.                 "Url=/bsm/resources/sc/skins/Enterprise/load_skin.js?isc_version=7.1.js", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  53.                 "Url=/bsm/platform/sc/skins/Enterprise/skin_styles.css", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  54.                 "Url=/bsm/platform/platform.nocache.js", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  55.                 "Url=/bsm/resources/js/UnityObject2.js", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  56.                 "Url=/bsm/platform/clear.cache.gif", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  57.                 LAST);

  58.         web_url("My97DatePicker.htm",
  59.                 "URL=http://192.168.1.147:8080/bsm/resources/js/My97DatePicker/My97DatePicker.htm",
  60.                 "Resource=0",
  61.                 "RecContentType=text/html",
  62.                 "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159",
  63.                 "Snapshot=t5.inf",
  64.                 "Mode=HTML",
  65.                 EXTRARES,
  66.                 "Url=skin/default/datepicker.css", ENDITEM,
  67.                 "Url=lang/zh-cn.js", ENDITEM,
  68.                 "Url=skin/whyGreen/datepicker.css", ENDITEM,
  69.                 "Url=skin/default/img.gif", ENDITEM,
  70.                 LAST);

  71.         web_url("19F8C1C81764ED9324115A5C777C67C7.cache.html",
  72.                 "URL=http://192.168.1.147:8080/bsm/com.macaufly.gwt.hostpage.Hostpage/19F8C1C81764ED9324115A5C777C67C7.cache.html",
  73.                 "Resource=0",
  74.                 "RecContentType=text/html",
  75.                 "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159",
  76.                 "Snapshot=t6.inf",
  77.                 "Mode=HTML",
  78.                 LAST);

  79.         web_url("86BCADD1F6F2759145B1F984DE1C30E0.cache.html",
  80.                 "URL=http://192.168.1.147:8080/bsm/com.ghca.platform.desktopcore.EVDesktopEntry/86BCADD1F6F2759145B1F984DE1C30E0.cache.html",
  81.                 "Resource=0",
  82.                 "RecContentType=text/html",
  83.                 "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159",
  84.                 "Snapshot=t7.inf",
  85.                 "Mode=HTML",
  86.                 LAST);

  87.         lr_end_transaction("head", LR_AUTO);

  88.         web_url("88F324DD65369063D69374AE0DC0EE55.cache.html",
  89.                 "URL=http://192.168.1.147:8080/bsm/platform/88F324DD65369063D69374AE0DC0EE55.cache.html",
  90.                 "Resource=0",
  91.                 "RecContentType=text/html",
  92.                 "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159",
  93.                 "Snapshot=t8.inf",
  94.                 "Mode=HTML",
  95.                 EXTRARES,
  96.                 "Url=../resources/images/default/s.gif", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  97.                 "Url=../resources/themes/appplatform/css/xtheme-appdefault.css", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  98.                 "Url=../resources/desktop/images/lock_16.png", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.5430841207891159", ENDITEM,
  99.                 "Url=/platformserver//keepSession.action?ticket=ST-272-zh1hggnPbCHpctGS1nq1-cas", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.6954241412752125|1|2|3|4|1|5|5|7|0|0|0|6|0|7|0", ENDITEM,
  100.                 "Url=../common/images/button.gif?random=0.4441484458665714", ENDITEM,
  101.                 LAST);
  102. …………
  103. return 0;
  104. }
复制代码

到了“web_url("88F324DD65369063D69374AE0DC0EE55.cache.html"”这里就提示警告了,票根没有关联,因为我不知道如何获取
作者: saharaqs    时间: 2015-4-22 13:45
哦,看了现在问题是在登陆没成功。

我看你第一个截图上有个验证码,验证码处理了吗
作者: littlevine68    时间: 2015-4-22 14:12
saharaqs 发表于 2015-4-22 13:45
哦,看了现在问题是在登陆没成功。

我看你第一个截图上有个验证码,验证码处理了吗

处理了,不用输入验证码的
作者: saharaqs    时间: 2015-4-22 15:54
littlevine68 发表于 2015-4-22 13:26
到了“web_url("88F324DD65369063D69374AE0DC0EE55.cache.html"”这里就提示警告了,票根没有关联,因 ...

在web_submit_data("login;jsessionid=8D6A263474FA22D8CF5FDE4F8FBDE68D", 这一个步骤的response里能找到ticket值吗
作者: littlevine68    时间: 2015-4-22 17:09
是提交用户名和密码后才有这个生成(如图),那没登录前怎么获取票根呢?
作者: littlevine68    时间: 2015-4-22 17:26
saharaqs 发表于 2015-4-22 15:54
在web_submit_data("login;jsessionid=8D6A263474FA22D8CF5FDE4F8FBDE68D", 这一个步骤的response里能找 ...

在web_submit_data("login;jsessionid=8D6A263474FA22D8CF5FDE4F8FBDE68D", 这一个步骤的response找不到ticket的值,但有个“lt”值:“LT-6810-4LGJYM1DdUryt4mnN5CbIYRNvrVVcg”,不知道是不是跟这个有关
方便加QQ讨论吗?我QQ:442523794
作者: saharaqs    时间: 2015-4-22 17:37
本帖最后由 saharaqs 于 2015-4-22 17:40 编辑
littlevine68 发表于 2015-4-22 17:09
是提交用户名和密码后才有这个生成(如图),那没登录前怎么获取票根呢?

这个图是请求标头的,你看那个响应标头、响应正文的内容。
作者: littlevine68    时间: 2015-4-22 18:31
响应头和响应正文都没ticket
作者: luming    时间: 2015-4-22 19:38
在我测试的系统中,返回的页面中有ticket,没有记错的话是这样的,你的系统可能和我的不一样.

      web_reg_save_param("ticket",
                "LB=name=\''lt\" value=\"",
                "RB=\"",
                LAST);

实际上,我登录的时候,没有使用ticket,也能正常获取到页面.

你可以试试我使用的方法,跳过登录.
1.打开IE,登录系统,使用httpwatch或直接IE8以上的开发人员工具,看cookies,里面有jsessionid=8D6A263474FA22D8CF5FDE4F8FBDE68D.
2.记录后面的8D6A263474FA22D8CF5FDE4F8FBDE68D值,直接在lr中使用函数web_add_cookie("jsessionid=8D6A263474FA22D8CF5FDE4F8FBDE68D"),具体的内容,请打开retry中的详细log,看看请求的cookie是什么样子的.
3.不要登录部分,在你的script中,直接执行web_url("88F324DD65369063D69374AE0DC0EE55.cache.html", 后面的内容.

我就是这样测试的.
作者: littlevine68    时间: 2015-4-23 11:03
luming 发表于 2015-4-22 19:38
在我测试的系统中,返回的页面中有ticket,没有记错的话是这样的,你的系统可能和我的不一样.

      web_re ...

可能系统不一样,我按照你的方法把直接存cookies,访问web_add_cookie("JSESSIONID=5A6AF523A2F2E7330DB127F3AB0C55EB; DOMAIN=192.168.1.147");

        web_url("88F324DD65369063D69374AE0DC0EE55.cache.html",
                "URL=http://192.168.1.147:8080/bsm/platform/88F324DD65369063D69374AE0DC0EE55.cache.html",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.16253219280832687",
                "Snapshot=t7.inf",
                "Mode=HTML",
                EXTRARES,
                "Url=../resources/images/default/s.gif", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.16253219280832687", ENDITEM,
                "Url=../resources/themes/appplatform/css/xtheme-appdefault.css", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.16253219280832687", ENDITEM,
                "Url=../resources/desktop/images/lock_16.png", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.16253219280832687", ENDITEM,
                "Url=/platformserver//keepSession.action?ticket=ST-450-T9hL1vIexLFJIkOjECDU-cas", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.16253219280832687", ENDITEM,
                LAST);

        web_custom_request("personality!personalityInfoMap.action",
                "URL=http://192.168.1.147:8080/platformserver/personality/personality!personalityInfoMap.action?t=C549C91F57A1366404D16E8F2FFD9CA92B0194824D5DFEB1F8D9D4E76295CA34&encrypFlag=9ED7D92CCB4C48D4",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/json",
                "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.16253219280832687",
                "Snapshot=t8.inf",
                "Mode=HTML",
                "EncType=",
                EXTRARES,
                "Url=/bsm/iepngfix.htc", "Referer=", ENDITEM,
                "Url=../mysession/mysession!querySession.action?eventtype=2E1F558C641462B75E2053B6E6AFEC0722185BD477C71C5B&random=4B70B7C8A92619068B5ED0CB2AD471DE60CE50773DE9787C6D4AF875FF9402994A3250362202D1DA&encrypFlag=9ED7D92CCB4C48D4&callback=__gwt_jsonp__.P0.onSuccess", "Referer=http://192.168.1.147:8080/bsm/index.html?random=0.16253219280832687", ENDITEM,
                LAST);
…………
        return 0;
}
[/code]
作者: liyao19891231    时间: 2015-9-14 15:29
亲,我也有这个问题,纠结死了。能否方便给个qq,探讨下。
作者: fyy2016    时间: 2015-12-30 11:26
luming 发表于 2015-4-22 19:38
在我测试的系统中,返回的页面中有ticket,没有记错的话是这样的,你的系统可能和我的不一样.

      web_re ...

我现在的单点登录系统和你的好像啊。我现在的问题是:
1.单点登录完全跑不通。关联也不行。怎么办?你当时的系统单点登录不用做性能测试吗?
2.web_add_cookie的方法能模拟多用户场景测试吗?
3.能不能加我QQ探讨下,3109304550
作者: luming    时间: 2015-12-30 12:40
fyy2016 发表于 2015-12-30 11:26
我现在的单点登录系统和你的好像啊。我现在的问题是:
1.单点登录完全跑不通。关联也不行。怎么办?你当 ...

很久之前的东西了,具体的内容我也忘记了。当时没有测试登录的部分,直接跳过去了,测试里面的功能而已。




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