如何手写LR脚本?

目录

本文主要是为我的学生们写的,因为课堂上讲的很细了,所以这里就没有再详细写。大家凑合看看吧。

目录:

chrome浏览器如何查看请求

性能测试需要知道的http知识

手写LR脚本的流程方法

LR脚本增强

环境:win7 64位操作系统 IE8 LR11

说明:

这是个对电脑信息增删查改的网站。

任何人都可以访问,这个系统每天会恢复,所以不用担心用多了之后产生太多脏数据。这个网站有安装包,若有需要,可以在本地部署一下。

使用chrome查看请求

以新增电脑为例,在这个网站中,新增一条电脑信息包括三步:

点击“Add a new computer”按钮加载新增页面

填写信息并保存

返回列表页并自动刷新

篇幅所限,我们先以第二步为例讲一下写脚本的过程。

写脚本需要了解请求发生的整个过程,这需要借助工具。常用的抓包工具都可以。对于普通的http请求,用谷歌浏览器查看即可,很方便。

步骤:

1、打开新增页面后,按一下F12,打开浏览器的控制台,然后点击network标签,如图。

2、填写信息并保存,此时观察控制台中的列表。点击第一条进去,切到head标签下查看请求报文。图中圈出了需要重点观察的部分。

从图中我们可以看到这是一个post请求,状态码是303。(文末有注解)

写脚本

4、写post请求使用的函数有两个,web_submit_form和web_submit_data,这里两个都可以,我们选择第二种。

5、按下F1,在索引列中输入web_submit_data,然后找到对应的方法并复制。

6、将复制的内容粘贴到action方法体中,然后替换url和表单信息。

7、替换完之后,执行。 控制台提示成功,然后我们再到网站上搜一下我们添加的信息,可以搜到,说明我们的脚本是ok的。

8、接下来进行脚本增强,即添加事务、检查点、集合点、参数化。

说明:

不添加失误,在controller中就无法统计TPS,

不添加检查点,就不知道我们的脚本是否真正的执行成功了,

不添加集合点,controller中设置的vuser数就不等于并发数,

不进行参数化,执行新增动作添加的数据就都是重复数据,影响我们后期的压测。

9、参数化参考如下:

10、检查点设置参考:

注意点

注意事项:

每个动作对应一个事务,如新增电脑添加3个事务,便于出问题时排查原因;

检查点放在事务的开头还是末尾,参考F1帮助中的说明;

检查点中的内容用什么,可以通过runtimesetting中日志级别设置为

集合点放在lr_start_transaction的上面,不能放在事务中间,否则影响TPS;

压测需了解的HTTP知识

1、http请求的状态码

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

2、http有哪些请求方式,get和post请求有什么区别?

get重点在从服务器上获取资源,post重点在向服务器发送数据;

get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;

Get传输的数据量小,因为受URL长度限制,但效率较高,Post可以传输大量数据,所以上传文件时只能用Post方式;

post较get安全性较高,get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等.

get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码,post支持标准字符集,可以正确传递中文字符。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726G02CQA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券