前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何手写LR脚本?

如何手写LR脚本?

作者头像
张树臣
发布2018-08-16 15:20:14
9810
发布2018-08-16 15:20:14
举报
文章被收录于专栏:软件测试经验与教训

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

教学网址:http://computer-database.gatling.io/computers

说明:

  1. 这是个对电脑信息增删查改的网站。
  2. 任何人都可以访问,这个系统每天会恢复,所以不用担心用多了之后产生太多脏数据。这个网站有安装包,若有需要,可以在本地部署一下。

使用chrome查看请求

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

  1. 点击“Add a new computer”按钮加载新增页面
  2. 填写信息并保存
  3. 返回列表页并自动刷新

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

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

步骤:

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

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

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

写脚本

3、看到这些信息以后,我们就可以开始写脚本了。打开LR ,新建脚本,选择HTTP协议。不同协议的介绍可以看这里。

LR11一般自动弹出录制配置框,点击取消按钮关闭,然后点击上面的脚本菜单,切换到写脚本的页面。

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

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

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

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

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

说明:

  1. 不添加失误,在controller中就无法统计TPS,
  2. 不添加检查点,就不知道我们的脚本是否真正的执行成功了,
  3. 不添加集合点,controller中设置的vuser数就不等于并发数,
  4. 不进行参数化,执行新增动作添加的数据就都是重复数据,影响我们后期的压测。

9、参数化参考如下:

10、检查点设置参考:

注意点

注意事项:

  • 每个动作对应一个事务,如新增电脑添加3个事务,便于出问题时排查原因;
  • 检查点放在事务的开头还是末尾,参考F1帮助中的说明;
  • 检查点中的内容用什么,可以通过runtimesetting中日志级别设置为
  • 集合点放在lr_start_transaction的上面,不能放在事务中间,否则影响TPS;

压测需了解的HTTP知识

1、http请求的状态码

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

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

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

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

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

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

  1. get重点在从服务器上获取资源,post重点在向服务器发送数据;
  2. get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
  3. Get传输的数据量小,因为受URL长度限制,但效率较高,Post可以传输大量数据,所以上传文件时只能用Post方式;
  4. post较get安全性较高,get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等.
  5. get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码,post支持标准字符集,可以正确传递中文字符。

工具下载链接

LR11的下载地址:

链接:https://pan.baidu.com/s/1VrGKd-cCFzLQONlRPorBJQ 密码:ij60

LR12的下载地址:

链接:https://pan.baidu.com/s/1HF9_-EWEfQappNfty4EdkA 密码:xtgo

LR基础的视频:

链接:https://pan.baidu.com/s/1P64DV4AXR29LOlDAxsjtng 密码:yl0r

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试经验与教训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档