记录一次loadrunner脚本调试过程(浑南智慧项目)
测试要求:
1、 新增工单登记
由于只给了我一个账号,所以参数化账号的工作可以不做,直接进行state和epoint_user_login的关联,这个是基础的关联,几乎每个脚本都需要
(这里不知道为什么,一开始我只设置了这两个关联,脚本就跑通了,所以我就没接着看了,后来过了两天,就突然跑不通了,这才接着开始对比)
对比关键请求里面的数据
对比后发现:
cguid、cliengguid:需要关联
accordtype:是需求内容里输入的数据,不需要关联
rowguid:数据和cguid一致,所以只要关联cguid即可
gridcode:是网格代码,输入的数据,不需要关联
operatedate、rqsttime、registertime:时间相关,需要关联,如果不关联,则无法取到最新的时间,注意这里的三个参数一致,所以只需要关联一个即可,如果不一致的话,则需要挨个关联。
casecode:工单编号,一开始我以为不需要关联,后来运行的时候,发现如果不关联,那新增的数据编号全部都一致,严谨考虑,还是需要关联为好
rqstcontent:输入的数据,不需要关联
gisx、gisy: 表示坐标,不关联
keywordtext:Unicode编码转的中文,不需要关联
--------------------------------------------------------------------------------------------------------------------------
弄清关联后,开始设置关联
然后设置检查点,这里我选择在新增界面,设置 “电话举报” 为检查点,在fiddler对应的请求里面找到电话举报对应的Unicode编码
注意要进行转译!注意要进行转译!注意要进行转译!
再设置一个,这个是新增数据成功后的检查点。用于检查user_epoint_id
脚本调试完成
总结:这个脚本需要关联的地方有点多,在对比的时候要使用工具慢慢对比,我一开始使用的工具看的比较粗糙,很难看出哪里不一致,多换几个工具多看看
二、综合查询
在这个界面搜索工单编号
录制脚本,因为是搜索功能,所以没有添加数据那么复杂,进行简单的关联即可,state和epoint_uer_loginid
设置检查点,一开始只设置了“DH”这一个字符串,后来经过指点知道,搜索功能中,检查点的设置,可以使用参数化
目的是提高准确率和更加严谨
可以看到搜索成功,但是通过页面可以得知一页只有10个DH,为什么能搜索到12个?
fiddler代理一下,进入fiddler的请求里面看一看
查找一下
发现确实多出来两个,所以没问题。
总结:注意检查点的设置,我们这里搜索的是工单号,所以直接按工单号进行检查就行,注意参数化的时候,要把请求里我们的搜索值给替换掉。不然会出现搜索A但是检查B的情况。
三、住户信息查询
和上一个脚本一样,需要进行搜索,但是不同的是,这次我们搜索的是人名,中文字符。
关联的部分和上面一样 state和epoint_user_loginid
模糊搜索 “金” 这个姓,抓包抓到请求
发现这里是Unicode格式,进行转译后知道:\u91D1 就是汉字 金。所以我们只要在响应里面检查\u91D1就可以了
但是这里出现了一个问题,那就是在loadrunner中,请求里的汉字是乱码,但是响应里面的值是Unicode编码,也就是说,对它进行参数化,参数化列表里的值是乱码,无法和响应中的Unicode编码相匹配
(这里是需要参数化修改的部分,原意是金)
如下图所示:我想参数化金、刘两个姓,来模拟脚本的输入,但是可以看到这里是乱码格式。如果我把这里的金替换成\u91D1,那么就等于是我没有输入金这个汉字,输入的是编码,那么就搜索不到金了
只用一个文件来参数化,如果这里填乱码进去,那么检查不到;如果填Unicode编码进去,那么搜索不到,都是失败
重点来了:
所以,我们需要进行参数之间的转换。再新建一个参数化文件check,这里的参数设置成Unicode格式,然后,select next row里面,要选择和乱码参数化文件里的数据对应,还要注意转译的问题
然后,我们检查点去检查Unicode编码的文件,网页中去搜索乱码文字
这样问题就解决了
总结:如果遇到需要参数化汉字的情况,一般都需要设置search和check两个参数化文件,分别负责 请求里面的搜索 和 响应里面的转译。如果只是参数化数字和英文,就和第二个脚本一样,不需要这么麻烦。
---------------------------------------------------------------------
另外,fiddler中录制脚本,host不匹配的部分直接删除就可以了。
这种开头的也可以删掉
一般来说,脚本只留下关键的步骤就行,一个点击算一次事务。