Jmeter(三)-简单的HTTP请求(非录制)
首先建立一个线程组(Thread Group),为什么所有的请求都要加入线程组这个组件呢?不加不行吗?答案当然是不行的。因为jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。
选中线程组(Thread Group),鼠标右键添加HTTP Request。这里不需要cookie管理器(HTTP Cookie Manager),因为这是我们手动添加的请求,不是录制的,但要求不是严格,cookie管理器可加也可不加。
我这里有2个请求
[全国]0727测试BD信息快递产品01变更03
http://p.ftuan.com/mall_quanguo_14448.shtml?s=1000&a=00011033008051010100000000010103
[海淀学院路]0727测试BD信息F券产品02
http://p.ftuan.com/xiuxian_haidian_14447.shtml?s=1000&a=00010244004076010100000000110103
先添加第一个请求,第二个请求我使用参数化URL的方法来进行(试试在path中参数化能不能成功,分析了上面2个请求,域名都是相同的,唯独不同的只有后面的URL)
然后添加聚合报告(Aggregate Report)和查看结果树(View Results Tree)
完整的脚本结构:
保存脚本,然后运行一下,看看我们发过去的请求是否可以得到服务器相应的返回数据。
第一个请求的URL:
发送URL请求后的返回:
一切返回正确。
下面来参数化另外一个页面的URL请求:
把域名后面的URL放到一个记事本中,另存为URL.txt,存放在D盘根目录
选中线程组,在其下面添加配置元件CSV Data Set Config
参数化的方法在另外一个文档中。
然后根据CSV Data Set Config中的变量名称,找到HTTP请求中的path数据
修改线程组运行次数,确保这2个URL都要被线程执行到
开始运行脚本
这两个URL都被执行到了,并且结果返回正确,测试可知在http请求的path路径上做参数化是可行的。
再看一下脚本的结构树:且要记住一点,所有任务都是由线程来执行的,所以所有任务都要分在线程下面,一个脚本个建立多个线程组。