JMeter是Apache组织使用纯java语言开发的一款用于性能测试、接口测试的开源测试工具。它的特点有:
- 完善的性能测试工具的框架、能够胜任几乎所有的性能测试需求。
- 对于主流的通信协议的支持,适用于主流的接口测试的需要。
- 开源,支持自定义请求、自定义函数、二次开发等需求,更方便的打造企业级的测试工具。
JMeter的下载和使用主要要关注以下几点:
建议从官网下载,下载地址分别如下。
端口号:填写是URL中的端口部分。如果服务器使用的端口为http默认对应的80或者https协议默认对应的443,则可以留空。
请求方法:根据实际的接口所使用的方法进行选择即可。
路径:URL中的路径部分。
对于get方法的请求,URL地址参数可以选择填写在路径中,也可以选择填写在下方的参数页中。
对于post方法的请求,URL地址参数部分只能填写在路径中。
内容编码:用来指定post方法时,request body的内容的编码。这表示JMeter在发送数据时会按照指定编码对内容进行编码之后再发送。
自动重定向:表示JMeter会自动根据响应头等信息进行重定向操作,且在结果中不会记录重定向的中间过程,只会记录最后一次请求的结果。
跟随重定向:表示JMeter会自动根据响应头等信息进行重定向操作,且在结果中会会记录重定向的中间过程。
使用KeepAlive:表示支持长连接。
对 POST 使用 multipart/form-data:该选项用于需要做文件上传类的请求时。一旦勾选了该选项,则JMeter会自动将参数和文件页的内容组装为混合表单格式的数据,且会自动生成Content-Type请求头(在勾选该选项的时候,切记不要手动添加Content-Type请求头)。
参数:一般分为两种情况。
当使用get方法时,可以在此处实现URL地址参数的设置,然后JMeter会自动进行URLencode处理进行发送。
消息体数据:这个选项和参数选项不能同时使用。该选项表示用户自己指定需要发送的请求主体,相当于是raw数据,仅适用于post方法。使用该选项来发送数据时,一定要手动指定请求头Content-Type。
一般来说,像json、xml这样格式的请求数据是必须使用消息体数据选项的。
参数名称:接口中用来传递文件的参数名称,一般就叫"file",具体以实际接口为准。
MIME类型:即要上传的文件类型,比如image/jpeg之类,具体以实际情况为准。
超时:分连接超时和响应超时。注意单位是毫秒。
从HTML文件嵌入资源:
一旦勾选从HTML文件获取所有内含的资源,则表示Jmeter将从http模式转换为HTML模式。
http模式:表示请求仅仅是一个http的请求,拿到http响应即结束。
html模式:表示会自动获取一个html页面中相关的静态资源。
并行下载:不勾选则是串行,勾选则是模拟浏览器的资源下载行为,并行请求静态资源,可以根据实际情况指定并行的数量。
PS:一般来说,接口测试是不需要获取html静态资源的。
性能测试角度,静态资源也主要是受到服务器的连接数和带宽的制约,一般也不建议进行测试。
网址必须匹配:URLs must match,这是用来限制静态资源的下载的,通过正则表达式的方式来进行限制。表示符合正则表达式的资源请求才会被下载。
URLs must not match:网址不匹配,这也是用来限制静态资源的下载的,通过正则表达式的方式来进行限制。表示符合正则表达式的资源请求不会被下载。
Source IP:源地址,该选项是用来实现IP欺骗的。该选项仅适用于HTTPclient4的实现,不适用于java的实现类型。
代理服务器:如果希望JMeter通过代理服务器去访问被测服务器,则可以在此处指定相关的代理服务器设置选项。
保存响应为MD5哈希:这表示不将响应直接保存到sampler result中,而是保存响应为对应32bit的MD5加密数据,该选项主要用于有大量响应数据的性能测试。
以上就是关于HTTP请求组件详解的全部内容了,希望对你们有帮助~
最后,关于软件测试学习,面试题模板等等,需要学习资料。关注公众号“特斯汀软件测试”,里面涵盖很多精彩免费视频或干货知识