性能测试第三课-脚本录制、web_url、web_submit_data
1、loadrunner工作原理
通过通过agent进程监视各种协议的client和server的通信。三个action的区别
init(有50个用户,并发50个,可以在init里面参数化(只取一次))和end不进行迭代 只有action才能迭代(参数放在action参数化才有作用)HTML与URL的区别
HTML(基于浏览器):录制的代码只会生成一个函数,代码看起来会比较简洁
user action:
脚本中的每一个函数直接对应用户的一个操作,创建的函数主要有URL(web_url)、link(web_link)、image(web_image)以及表单提交(web_submit_form)等; 基于解释用户行为的脚本,注重描述用户做了什么操作,脚本简洁,基于用户操作模拟,且自身包含了对象检查过程,无需校验。URLs:
将所有的URL、link、image都用web_url函数同一处理,在表单提交时则用web_submit_data来处理。以至脚本没有user action直观,但如果网页中存在较多相似类型的链接时,urls更容易处理脚本中的参数化和关联问题。 这种方式不考虑用户的操作,只考虑客户端发送的请求,注重于系统实际上做了什么。URL(基于C/S架构、javascript、HTTPS):
基于URL请求,每个操作都会有一个函数,生成多个函数,不会有遗漏,接近于请求-响应模式两种录制的优缺点
HTML-based优缺点:
1)资源从内存中取出且在回放是下载。因此脚本更小且更容易阅读; 2)由于只有较少的硬编码脚本,因此只有较少的动态值需要关联; 3)可以插入图片检查之类的语句以检查结果是否正确; 4)因为HTML模式回放时需要积极地解析返回的信息,因此可能会比其他录制模式更加占用资源。URL-based优缺点:
1)适用于非browser的应用程序; 2)录制来自sever的所有请求和资源,甚至抓取非HTML应用程序,因此需要做更多关联,脚本看起来也相当复杂。综上,两种录制的选择
1、基于浏览器的应用程序推荐使用HTML-based script,使用HTTP的非web应用推荐使用URL-based script; 2、如果基于浏览器的应用程序中包含了javascript且该脚本向服务器发送了请求,也使用URL-based script; 3、基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based script。函数:
web_url(主要用在get请求中): int web_url( const char *StepName, const char *url, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST ); name:请求内容名 url:请求内容地址 List of Attributes:(支持下列属性) 1)TargetBrower or TargetBrowserOrdinal 2)TargetFrame -浏览器打开方式,打开新窗口、顶部、底部、打开父进程 3)Resource -指定一个值说明URL是否是一个资源,0-不是资源,1-是资源 4)RecContenType -在录制期间响应的报头文本类型(test/html,application/x-JavaScript),确认目标URL是否是可录制的资源 5)Referer -要提交页面请求的URL(获得当前页面,如果明确指出了位置,那么这个属性无效或者忽略。URL中写明了,要获取的页面) 6)Snapshot -快照,快照文件名,用来关联用的 7)Mode -录制的等级,是否是HTML或者HTTP模式。 List of Resource Attributes:下载的资源属性 1)URL -通过URL地址(资源统一定位器)要下载的web资源 2)Referer -发送下载请求的页面。eg:一个swf要下载一个图片,那么swf就是referer 3)ENDITEM -列表中每个资源的结束标志 返回值:成功时返回LR_PASS(0),失败时返回LR_FAIL(1)。 EXTRARES后的资源是由script、active、Java applet、flash、CSS产生的请求 可以使用web_url模拟从ftp服务器上下载文件。web_url函数会使ftp服务器执行文件被真实下载的操作。除非手工制定了"FtpAscii=1",下载会以二进制模式完成。




更多精彩