用loadrunner 12录制一个目前正在开发的一个项目的web页面的登录脚本,回放时一直提示以下错误信息:
  1、Token was wrong ,The server encountered an internal error
  2、Error -26612: HTTP Status-Code=500
  3、web_custom_request("login") highest severity level was "ERROR",2531 body bytes,204 header btyes
  看到500错误,想到是代码问题,经过与开发确认后,请求头中的token,cookie都没有问题。由于我对脚本中怎样处理token、cookie等也不熟悉,所以录制另一个我们正在使用的系统的登录脚本,和我的脚本进行对比。发现正在使用的系统录制后的脚本能获取到cookie值,并会自动添加web_add_cookie()函数,并进行自动关联;正在开发的系统脚本中怎么都找不到cookie相关的内容。所以可以确定录制时并没有获取到服务器响应的token或cookie。
  然后去看录制配置信息时无意中解决了这个问题。具体方法如下:
  1、进入Recording Options > HTTP Properties > Advanced的页面
  2、打你Recording schemes中的Headers按钮,进入Headers弹出页面
  3、选择“Record headers not in list",在下面的列表框中勾选“Csrf-Token”(对照你的HTTP请求头,将请求头中有的参数这里都勾选上。)
  4、单击OK
  设置好后重新去录制脚本,你会发现新录制的脚本中多了一个函数web_add_header("x-token","具体的值"),在回放脚本前先选中token值单击鼠标右键选择“Correlate Selection”进行关联,然后回放成功了。
  说明:如果不进行这些设置,录制完后直接在请求脚本前面添加web_add_header("x-token","具体的值")函数应该也可以。?类似的cookie,session也可以这样处理。