记录一次loadrunner脚本调试过程(政务网站首页登录测试)


给我的是一个简单的登录+首页+退出首页的步骤,要求进行关联和参数化来调试脚本。

首先我打开页面,开始录制脚本,录制三次后,准备将saz文件放到loadrunner11里面转成脚本进行比对,此时来到了第一个错误点,我不知道loadrunner11是没有saz文件自动转成脚本功能的,一般都是用12版本先转,然后在放到11里面进行压测,找了半天不知道怎么打开,后来才了解到要用12打开。

12打开后,将两份脚本放到对比工具里面进行对比,找到了epoint_user_loginid这个值需要关联,还有一个是state值,此时出现了第二个错误,不知道什么原因,我的第一份脚本本来应该state数据相同的地方,莫名其妙地数据不同,导致了我对这个值的误判,没有考虑到将其关联,此刻正确的做法应该是从新再录一份。

 然后是对epoint_user_loginid进行关联,在fiddler里面找到它第一次出现的位置,在上面进行关联,然后把脚本中所有的值进行替换,这个没啥问题。

 

 参数化的话,就是对用户名进行参数化,这里涉及到了对加密用户名、密码的解密

然后我开始运行脚本,结果因为之前state没有关联,导致epoint_user_loginid这里一直报错找不到参数,我一直以为是我epoint这里关联错了,其实是state没有关联导致的,思考方向错误,浪费了很多时间

后来了解到是state也需要关联,开始找state。这里又出现了错误,我一开始是遵循着找到第一次出现的位置来关联的,所以一开始我找的是第6条消息,那个error的,然后就是一直关联不上。后来知道是要关联下面第7条的那个值。因为我需要关联的是state的值,而不是“state”。

然后对state进行关联,这里要注意的是,当你进行退出操作的时候,state会进行刷新,所以一份脚本里面有两个state值,注意都要替换。

这个时候又不对了,找了半天不知道哪儿有问题。

 这里是为什么呢?原因是我在录制脚本的时候,少录了几条信息,导致找不到关联的数据,为什么会少录呢?因为首页这个功能,我一直只是F5刷新来测,这样子是不对的,实际上应该输入网址,通过网址进入之后才算一次登录首页,不然就会少消息。

 重新录制脚本,加上了这两条消息之后,还是不对,只能找到这个

这是怎么回事呢?原来是这条消息出现的地方在Headers里面,所以搜索Body是不行的,search的范围要扩大到All,这里没考虑到,把Body改成All即可

终于能够成功找到state和epointid了,到此关联基本上算是成功了。

然后就是设置思考时间、集合点和检查点。

关于检查点的设置又遇到了问题,整个界面找不到能够检查的文本,中文是不能够检查的,最后是用了一种新的检查方法,直接检查epointloginid的返回值,但是检查点要设置在有epointloginid的数据前。

 设置成功。

到此终于算是调好了脚本