2.3 理解代码
云云:接着要给你讲一下怎样理解代码录制出来的原理。LoadRunner是一个基于协议的工具,它能够使脚本录制成功的关键在于它能识别协议,当它捕获到该协议后,会尝试对其进行解析,转化为自己的C语言脚本。
恋恋:岂不是我还要学习C语言?
云云:从某些角度来说确实需要,不过现在是速成么,我尽量跳过这些麻烦的东西帮你做最常见的一些棘手的问题。
恋恋:嗯,我赞成。
云云:对于LoadRunner来说录制设置很重要,首先我来给你介绍一下怎么设置录制选项。
恋恋:来吧,时刻准备着!
云云:对于录制来说其实要配置的东西也不是很多,特别是对于你这种初学者。首先录制选项第一块Recording设置,如图2-9所示。
在这块设置中一定要按照我的这个方式来录制:
(1)选择基于HTML-based Script的录制级别来录制。
(2)选择基于A script containing explicit URLs only的请求描述方式来录制。
这样录制出来的脚本才能从协议上反应出用户行为,昨天也是让你这样设置的。
恋恋:为什么呢?
云云:如果我们选第二种录制级别URL-Based Script,那么一个页面所有的请求都会被分散在多个Web_url函数中,脚本的维护会很麻烦。如果我们选第一种A script dscribing user actions的请求描述方式来录制,那么录制的时候会看到类似Web_link和Web_submint_form的函数,这类函数只能告诉你做了什么,但是不能从底层上告诉你访问了哪个地址或者产生了什么请求,而且有时候还会导致一些错误。所以从性能测试原理的角度来说,需要按照我说的方式来录制脚本,得到最本质的东西。
恋恋:Web_link和Web_url有什么区别呢?我觉得都一样啊。
云云:先给你写个脚本你看看。
恋恋:不用录制吗?
云云:这东西不需要录制。
恋恋:哇,好厉害啊,竟然可以直接写,太任性了。
云云:解释一下这两个函数,格式都差不多,基本就是
Web_url(“这里是步骤名”,”URL=你要访问的地址”,LAST);Web_link(“这里是步骤名”,”Text=你要点击的链接名”,LAST);懂了么?
恋恋:就是背个格式么,这个我会,让我来试试。
几分钟过去后,代码写了出来;
恋恋:代码运行成功,我也会写脚本了啊,我是不是也成高手了。
云云:不错,那你现在知道录制的时候为什么要这样设置了么?
恋恋:不知道!
云云:额,那你用这两种方式再录制一遍。
恋恋:干嘛又要人家操作,你告诉人家答案就行了么!
云云:只有自己做了的才有深刻的印象,答案听了没用!
几分钟内把几个情况的脚本都录制了一遍。
云云:现在明白区别了么?
恋恋:嗯,好像明白了,用你的方式录制出来的都是直接操作的地址,这样看的比较直接,而用别的方式录制出来的东西要么复杂,要么看不到请求的地址,模模糊糊。
云云:那是,当年为了琢磨这个花了不少时间呢。
恋恋:然后呢?
云云:除了这个选项以外,还有几个选项可以适当注意一下,比如,如图2-10所示。
这里的3个Recording schemes;
恋恋:这是什么?
云云:这是脚本录制时生成代码的一些过滤和组织策略,说来话长,你也不用太关心,等你入门了有处理细节的兴趣,再看我的书吧。还有一个关于password密码内容的处理机制,建议取消掉。
恋恋:看英文是对密码做一个加密参数么?
云云:对的,这个功能是掩耳盗铃的,还是取消了比较好。
**小结
理解代码生成的规则,并且大概理解代码和被测对象的关系,能够基本阅读理解代码。**