zoukankan      html  css  js  c++  java
  • JMeter 四:建立高级web测试计划

    发送带有Header的请求

    参考:http://jmeter.apache.org/usermanual/build-adv-web-test-plan.html#header_manager

    Jmeter里面管理发送的请求的header使用 HTTP Header Manager。使用它可以添加或重写各种header属性,比如"User-Agent", "Pragma", "Referer"等等。

    添加HTTP Header Manager方法: Add –> Config Element –> HTTP Header Manager

    可以直接放到Thread Group,这样就作用于线程组里面的所有请求。也可以放到某个请求下,这样就只作用于当前请求。

    image

    添加之后运行测试计划,可以看到发送的请求有两个Connection,一个是系统自动添加的,一个就是通过HTTP Header Manager添加的请求header。

    image

    发送带有cookie的请求

    参考:http://jmeter.apache.org/usermanual/build-web-test-plan.html#adding_cookie_support

    几乎所有的Web测试都需要使用Cookie 支持,除非被测试项目不使用cookie。

    想要使用Cookie 支持,这里我们只需要给每个Thread Group 添加一个 HTTP Cookie Manager 。这样就确保了每个Thread 都会获取到属于它自己的cookie,同时可以在所有的 HTTP Request 之间共享。

    在Thread Group上 右键,Add -> Config Element -> HTTP Cookie Manager 。

    HTTP Cookie Manager会像浏览器一样自动存储和发送cookie。如果 HTTP 请求的Response中包含cookie,Cookie Manager 会自动储存cookie并且在未来对该网站的访问中使用这些cookie的值。每个用户有自己独立的cookie存储区,所以不会互相干扰。这种自动存储的 cookie 在 Cookie Manager 中看不到,但是可以在 View Result Tree中看到。

    cookie值也可以被存储到jmeter线程变量中。如果想保存cookie为变量,需要在jmeter.properties中定义属性“CookieManager.save.cookies=true”。这样假设一个cookie的名字是TEST,我们就可以使用${COOKIE_TEST}来引用它,jmeter默认会在cookie变量前面加一个前缀COOKIE,也可以使用属性 "CookieManager.name.prefix= "来自定义前缀。

    image

    如果想手动添加一些cookie,可以直接在User-Defined-Cookies里面添加。这样这些cookie会被所有线程共享使用。

    添加cookie之后,执行,然后就可以在 View Results Tree的request中看到发送的cookie。

    image

    需要注意的是,Jmeter不提倡使用多个Cookie Manager 。如果使用多个Cookie Manager 的话,jmeter无法确定哪一个会被使用。

  • 相关阅读:
    提升PHP执行效率的一些小细节
    linux文件处理命令
    C# file操作
    C# MD5
    C# guid
    C# Path类 Directory类
    MarkDown学习
    从GitHub建站迁移到服务器(Java环境)
    sonarqube在windows上软件安装,配置及使用
    【优化】记录一次方法性能优化
  • 原文地址:https://www.cnblogs.com/miniren/p/6497255.html
Copyright © 2011-2022 走看看