高级性能测试系列《9.脚本增强》上篇

声明: 由于上篇文章,写完复制到公众号后,文章内容格式发生了变化。无序列表不能显示第三级,第三级都显示成了第2级。但是文章中的技术内容无误。看文章时别被误导了就好,下次我也会注意的。高级性能测试系列《8.脚本写法》

目录

  • 一、没有接口文档怎么办

  • 二、写脚本方法扩展

  • 三、脚本功能增强

    • 1.定义用户变量

    • 2.用户参数

    • 3.用户定义变量(全局变量)和用户参数(局部变量)的区别

一、没有接口文档怎么办

抓包:F12fiddlerwiresharkCharles

高级性能测试系列《9.脚本增强》上篇_第1张图片 为什么登陆的密码错误,http请求也是显示绿色的

绿色仅仅代表网络是成功的,网络失败就是红色的了。

如果加了断言,预期结果和实际结果不一致,也会是红色的。

二、写脚本方法扩展

录制脚本:

1.badboy: 只支持windows,只能录制web网站,录制用的浏览器是本机的默认浏览器。

很多网站用的新的框架等,它就录制失败。

导出的脚本导入jmeter也不能保证就能打开,可能出现脚本缺少内容。

曾经很流行,现在已经不维护,已经被遗弃。

2.代理录制: 用于脚本参数比较多,或者用手动编写脚本,一时半会写不出来。

代理服务器: 自己启动一个代理服务器。

1、添加线程组。

2、测试计划 > 非测试元件 > http代理服务器。

ip就是你自己电脑的ip,port是可以修改,默认8888。

目标控制器,一定要修改,修改为测试计划>线程组。

添加过滤器。

高级性能测试系列《9.脚本增强》上篇_第2张图片 会排除这些,但是不保证百分百

3、启动代理服务器时,会出现一个证书的弹窗。

如果要抓取https信息时,就必须使用证书。

4、本地浏览器使用代理服务器上网。

本地要使用代理服务器的ip和端口。

三、脚本功能增强

关联: 前面接口的响应信息,有动态值作为后续接口的传入参数。

我想把手机号码发生变化:

变量: 1.用户定义变量;2.用户参数。

  • 1.用户定义变量:

    • 1.配置元件;2.测试计划。

    • 是全局变量。

    • 作用域:作用于整个测试计划

    • 在启动运行时,获取一次值。在运行过程中,不会动态获取值。在运行过程中,值一直都不变。

  • 2.用户参数:

    • 前置处理器。

    • 是局部变量。

    • 作用域:作用于当前线程组或当前的取样器。

    • 在启动运行时,获取一次值。在运行过程中,可以动态获取值

1.定义用户变量

var_user: 1888888888

引用变量:${var_user}

高级性能测试系列《9.脚本增强》上篇_第3张图片 例1:如果这里没写引号 高级性能测试系列《9.脚本增强》上篇_第4张图片 运行结果 高级性能测试系列《9.脚本增强》上篇_第5张图片 运行结果报错了

json的这种数据,key和value,value如果是string类型,要有引号引起来

如果没有引号,例如这个是数字的,就会是个整型了。

高级性能测试系列《9.脚本增强》上篇_第6张图片 例2:也可以在这里加引号

这里加了引号,消息体数据那里的这个字段就可以不加引号了。

2.用户参数

用户参数是个前置处理器,在取样器被执行之前来调用。

高级性能测试系列《9.脚本增强》上篇_第7张图片 高级性能测试系列《9.脚本增强》上篇_第8张图片 高级性能测试系列《9.脚本增强》上篇_第9张图片 运行结果

3.用户定义变量(全局变量)和用户参数(局部变量)的区别

高级性能测试系列《9.脚本增强》上篇_第10张图片 添加调试取样器,运行结果

可以看出:用户参数是局部变量,所以没获取到对应的值。


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。

欢迎关注 “清菡软件测试”,进群加v:qhtester,备注:学校(公司名)+姓名(昵称),否则不予通过,感谢点赞与分享!

你可能感兴趣的:(网络,java,python,编程语言,软件测试)