LR自学笔记—基础思路(更新于2012-03-23)

上一篇 / 下一篇  2010-04-01 16:57:48 / 个人分类:Loadrunner

用1个星期的时间终于跑成功了这个脚本,趁热打铁记录下整个过程、思路和收获。

1、系统如果有使用JS、ActiveX、DataGrid、HTTPS等,应该使用URL-based的方式录制。

   起初用HTML-based录制,脚本中存在2次关联,调试成功,回放也成功,但数据库中就是没有插入这条记录。于是,换思路,改用URL-based的方式,脚本中就变成了3处需要关联。增加的1处出现在登录的情况下。问题的关键就是:html方式录制时,其中1处关联错放到了登录页面前,所以虽然读到了匹配的参数,却不是正确的参数。(其实,也是因为对关联函数的理解不正确)   

2、手工关联web_reg_save_param

    对于这个函数的理解一直是似懂非懂。很多人都会跟你说,LR可以自动关联。但就我所在接触的项目中,能自动关联的情况很少。通常都需要手工关联。手工关联要通过录制2份一模一样操作的脚本,进行比对,进行定位。

    找到需要关联的地方不难,但是注册函数放的位置非常关键。从日志中找到第一次出现这个参数的位置是比较有用的办法。

     三个关联中,有二个关联的规则是一样的,但对应的页面是不同的。于是,产生了一个困惑:是不是可以用ord=ALL,来读取?通过这次调试,我的理解是:  web_reg_save_param的ord是对最近的那个页面有用,也就是说,注册以后,读取接下来这张页面上所有匹配规则的值,但是对于同一段代码里其他页面上的不读取。

    通常定位好参数位置以后,关联函数只需要放在该页面出现的语句之前。关联失败,不一定是位置不对,还有可能是边界难以识别。

     一段代码有多处手工关联的时候,最好一个个地调试找位置。调试的时候开启extended log里的parameter项,便于监视是否读取成功。

    脚本运行中那些看不懂的错误,什么highest level之类的,通常就是没做好关联。


常见的思路:
1)录制脚本;
2)自动关联;
3)比对脚本,进行手动关联。定位好代码中的参数后,再去日志里定位。日志里第一次出现这个参数的地方,通常就是对应的页面。
一个页面可能多次出现这个参数,但是边界值不同,则可以选取容易识别的边界。
如果两边都是其他的参数,导致边界距离参数很远,那么可以通过SaveOffset和SaveLen进行定位。

p.s.录制时的好习惯:
1)一遍录制,一遍添加注释说明点到哪里了,增加可读性。
2)一遍录制,一遍添加transaction来标注重要的点击操作。

3、回放中,虽然登录成功了,但后续的操作始终是“你的帐号已在别处登录”的提示页面,没有出现期望的页面。

    这次调试的情况,基本上就是关联函数没读到。

4、LR不是回归测试工具,所以最好是分成一小段一小段地录脚本,这样也更便于调试。(长长的代码里看到10来处需要关联的,实在可怕)

5、LR不是回归测试工具,所以它不是模拟页面点击,而是跟服务器进行程序语言上的发送和接受请求。

    所以,很多代码可以删掉。一些填写页面上,需要在弹出页面上选择部门什么的——其中展开树目录的代码,就不是必须的。只要填写页面在提交时,含有这个参数值就可以了。

6、跟开发人员交流,了解系统页面跳转、参数传递、以及一些隐藏参数的产生机制等,会有帮助。

 


TAG:

 

评分:0

我来说两句

Open Toolbar