zoukankan      html  css  js  c++  java
  • 接口测试实例

    目标: 获取城市的天气数据:

    第一步: 发送request 获取城市的城市代号
    http://toy1.weather.com.cn/search?cityname=上海 

    从这个请求的response 中获取到上海的城市代码. 比如:

    上海的地区代码是101020100

    上海动物园的地区代码是:  10102010016A

    第二步:  发送request 到: http://www.weather.com.cn/weather2d/101020100.html   可以得到该城市的天气数据

    第一步: 新建一个Thread Group

    必须新建一个Thread Group,  jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。

     

    第二步:新建一个 HTTP Request

     

    比如我要发送一个Get 方法的http 请求: http://toy1.weather.com.cn/search?cityname=上海 

    可以按照下图这么填

     

    第三步 添加HTTP Head Manager

    选中上一步新建的HTTP request. 右键,新建一个Http Header manager. 添加一个header

     

     

    第四步: 添加View Results Tree

    View Results Tree 是用来看运行的结果的

     

    第五步:运行测试,查看结果

     

     

    到这里。 我们已经成功运行起来了。

    第六步:添加Assertion和Assert Results

     选择HTTP Request, 右键 Add-> Assertions(断言) -> Response Assertion(响应断言).  添加 Patterns To test

     

    然后添加一个Assetion Results 用来查看Assertion执行的结果. 

    选中Thread Group 右键  Add -> Listener -> Assertion Results. 

    运行后, 如果HTTP Response中没有包含期待的字符串。 那么test 就会Fail. 

     

     

    7步: 使用用户自定义变量

    我们还可以在Jmeter中定义变量。 比如我定义一个变量叫 city.    使用它的时候用  ${city}

    添加一个 User Defined Variables.  选中Thread Group: 右键 Add -> Config Element -> User Defined Variables.

    我们添加一个变量: city

     

    然后在Http Request中使用这个变量

     

    第八步:关联

    所谓关联, 就是第二个Requst, 使用第一个Request中的数据

    我们需要在第一个Http Requst 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http Request 使用

    选择第一个Http Request, 右键 Add -> Post Processors -> Regular Expresstion Extractor

     

    现在新建第二个Http Request,    

    发送到: http://www.weather.com.cn/weather2d/${citycode}.html 

    ${citycode} 中的数据, 是从Regular Expression Extractor 中取来的

     

    到这, 脚本就全部写好了, 运行下,看下最终结果

     

    --------------------------------------------------------------------厦门APP软件测试交流QQ 群: 417713155   --------------------------------------------------------------------------------

  • 相关阅读:
    [原]【实例化需求】1.FitNesse工具应用简介
    [原][问题解决]常见问题的5种解决办法(由Jenkins问题解决谈起)
    [原][自动化测试]Robot Framework Selenium基本使用
    [原]好玩的Linux,关于时间cal命令
    [原][问题解决]Romote Control 图形化界面显示问题解决办法
    【SBE】由需求管理谈起
    [Robot]关于robot的几个学习网站
    coolite中在UserControl中使用Coolite.AjaxMethods方法
    javascript实现页面加载进度条(转)
    coolite 在前台更新Window中控件的值
  • 原文地址:https://www.cnblogs.com/guaimao123/p/7372824.html
Copyright © 2011-2022 走看看