发表于: 2020-06-20 23:27:43

1 1807


今天完成的事情:

1. 熟悉 jmeter



遇到的问题:

1. badboy 录制的脚本完整的无法导出为 jmeter 能识别的格式

在 badboy 内录制测试好了脚本才发现导出到 jmeter 里只有一部分。

解决方式:直接用 jmeter 录制脚本


2. 脚本的 csrf 校验无法通过

解决方法:使用正则表达式提取 csrf 信息再注入登录页的 post 参数中


3. 正则表达式提取信息错误

原因:

我的 csrf 验证信息是一个小于 1 的随机小数。原来的正则表达式是这样写的 0\.(\d){10,} 结果发现每次都只能提取到一个数字。因为 jmeter 默认只取 () 内的值,所以只拿到了一个数字。

解决方法:

重写正则表达式 (0\.[0-9]{10,})

这样的话正则表达式只有一个括号,括号内的值就是我想提取的内容。


4. cookie 无法获取

解决方法:修改 jmeter 配置文件 jmeter.properties

CookieManager.check.cookies=true

去掉上面这行的注释。



收获:

1. 了解了 jmeter 的基本用法

a,首先 jmeter 的脚本录制需要使用第三方浏览器,设置浏览器代理为 127.0.0.1:8888 (jmeter 的代理)

b,然后打开 jmeter,开始设置进入录制流程



c,开始录制脚本

然后就可以开始再浏览器中进行各种网页操作

录制完成后停止,回到 jmeter 中。


d,回到 jmeter 就可以开始编辑刚刚录制好的脚本


由于我的登录表单中使用了 csrf 校验(其实是没必要的),我需要使用正则表达式从表单页提取出 csrf 信息填入 post 数据中。

首先我在登录页添加了一个正则表达式提取器:


可能我们不知道提取的信息对不对,同样我们可以在登录页添加一个查看结果树的监听器,在这里实验一下正则表达式:(注意,这里的正则表达式实验并不能反映出我今天日报中遇到的那个问题,使用原来的正则表达式一样实验成功,可是提取的数据是不对的)


实验好了之后我们开始编辑之前添加的正则表达式提取器:

然后在提交的表单中我们就可以引用刚刚正则提取的参数:


跑一下测试,用查看结果树发现能够访问到需要登录的网页就是成功了。


2. 使用 jmeter 完成了脚本的录制,脚本中添加了用户的自动登录

脚本录制了网站的用户登录与登出以及各种其他的跳转。



明天的计划:

1. 使用脚本完整的做依次压测


今天一开始做过一次,但是当时使用的脚本没有登录功能。


返回列表 返回列表
评论

    分享到