历经千辛万苦,终于看完了这本书的第五章。今天看完让我由一个很大的感触就是:书上得来终觉浅 得知此事须躬行。有这个感触是因为我是一边阅读,一边躬身实践的。
最近我完成了一个脚本,这个脚本为了实现的是,一个计费运营系统,客户从登记个人资料,到购买商品开户,到缴费的全过程。其实这个脚本并不是为了做任何一个性能测试,但是在制作这个脚本的过程中,我学到了很多解决问题的方法。
1. 我到底要录什么样的脚本?
首先,我选择的是Web(HTTP/HTML)协议.
在开始录制整个脚本的时候,我对脚本根本没有任何规划,录就是了。于是,从登陆->创建客户->客户开户->缴费->退出系统都是放在一个脚本的同一个Action中。后来,我把登陆和退出系统放在了vuser_ini和vuser_end中;最后,我把不同的功能点都放在了不同的Action中。这样分开的好处是,最后我们在Controller中看到是对Action的统计数据,这样我们就可以清晰地看到哪个Action出错了,那个Action跑得最慢。
以上的这个过程让我明白了,不管是什么样的脚本都需要规划。一个规划好的脚本可以使你在调试脚本和以后分析结果中事半功倍。
说道规划脚本,我有以下两个拙见:
a.把Login和Logout放在ini和end的Action中(可能对于大家来说是废话)
b.根据功能点去区分Action。这样的区分的好处,一个是可以让人一眼就看出脚本的目的,它所需要完成的功能点;第二就是,可以让你在精简脚本的时候,清晰地知道自己在修改的是哪个功能点,这个特别有用when你录制的是URL-based的脚本时;最后,你这样区分是可以方便你在Controller中分析结果的。
c.在录制过程中,在适当的地方或者在你需要的地方,写下你需要注释。这个很重要阿!
2.base哪个录制你的脚本呢?
在VU中,LR给我们提供了两种选择,一个是HTML-based,一个是URL-based的脚本。
一般的录制脚本都会默认使用HTML-based的脚本,因为HTML-based的脚本不会把同一个页面的多个请求都独立地分开生成脚本,这样看起来就会比较简洁。
URL-based的脚本,就连一个图片和一个js文件的请求都会单独地编写成一个URL请求,显示在脚本中,这样看起来整个脚本就很复杂。举个例子,我在录制登陆脚本一个简单的动作就已经要形成64个url请求。
重要提示,当你要使用web_reg_save_param这个函数时,最好使用URL-based来录制脚本。
<待续>
今天是牛年的大年初一,祝大家新年快乐!