`
yeluowuhen
  • 浏览: 156838 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用wiremock模拟返回数据

 
阅读更多

       步骤如下:

  1. 下载wiremock-body-transformer-1.1.3.jar及wiremock-standalone-2.3.1.jar

       2. 在__file文件中创建一个file,存放json格式的返回数据,内容如下

       cat __file/dsp.json 

{
  "cur": "CNY",
  "seatbid": [
    {
      "bid": [
        {
          "ext": {
            "style": 3,
            "adm": [
              {
                "url": "http://img1.126.net/autoftp/yipin/7c07edc4b6822f17.jpg",
                "type": 0
              }
            ],
            "advertiser":{
                "id" : 2345,
                "industry" : "3",
                "subIndustry" : "0201"
             },
            "title": "gif_ad",
            "linkUrl":"https://www.iteye.com/"
          },
          "clickm": [
            "https://126.com"
          ],
          "crid": "3737",
          "pvm": [
            "https://126.com"
          ],
          "price": 49999,
          "impid": "210",
          "nurl": "http://test.dsp.com:8040",
          "id": "1138050_182i500_52476_0"
        },
        {
          "ext": {
            "style": 3,
            "androidUrl":"http://www.mediafire.com/download/xfvpuy6lw4aoayv/com.nianticlabs.pokemongo_0.35.0-ARM.apk",
            "title": "bigpig_download",
            "linkUrl":"https://www.zhihu.com",
            "adm": [
              {
                "url": "http://img1.126.net/autoftp/yipin/7c07edc4b6822f17.jpg",
                "type": 0
              }
            ]
          },
          "clickm": [
            "https://kaola.com"
          ],
          "nurl": "https://10.165.124.30:8040/",
          "crid": "1738",
          "pvm": [
            "https://v.admaster.com.cn/i/a17943,b200491230,c1327,i0,m202,h"
          ],
          "price": 1550,
          "impid": "240",
          "id": "1138050_182i500_52476_0"
        },
        {
          "ext": {
            "style": 16,
            "title": "bigpig",
            "linkUrl":"http://www.oschina.net",
            "adm": [
              {
                "url": "https://10.165.120.7/270202/270202.jpg",
                "type": 0
              }
            ]
          },
          "clickm": [
            "https://kaola.com_8050"
          ],
          "nurl": "http://www.xiachufang.com/",
          "crid": "265",
          "pvm": [
            "https://v.admaster.com.cn/i/a17943,b200491229,c1327,i0,m202,h"
          ],
          "price": 40002,
          "impid": "250",
          "id": "11329_182i500_52476_1"
        },
        {
          "ext": {
            "style": 3,
            "title": "threepics",
            "linkUrl":"https://www.oschina.net",
            "adm": [
              {
                "url": "http://img1.126.net/autoftp/yipin/7c07edc4b6822f17.jpg",
                "type": 0
              }
            ]
          },
          "clickm": [
            "https://baidu.com"
          ],
          "nurl": "https://www.360doc.com/",
          "crid": "1738",
          "pvm": [
            "https://weibo.com"
          ],
          "price": 3512,
          "impid": "190",
          "id": "11329_182i500_52476_3"
        }
      ]
    }
  ],
  "id": "$(id)",
  "bidid": "1138050_182500_52476"
}

  

       3. 设置mapping的json格式如下:

       cat mappings/test.json

       

{
    "request": {
        "url": "/api/dsp",
        "method": "POST"
    },
    "response": {
        "status": 200,
        "bodyFileName": "dsp.json",
        "headers": {
            "Content-Type": "text/xml; charset=utf-8"
        },
        "transformers": ["body-transformer"]
    }
}  

  4.  运行脚本如下:

java -cp "wiremock-body-transformer-1.1.3.jar:wiremock-standalone-2.3.1.jar" com.github.tomakehurst.wiremock.standalone.WireMockServerRunner --extensions com.opentable.extension.BodyTransformer --port 9990

     5. 然后访问http://xxxx:9990/api/dsp即可得到2中的返回。

分享到:
评论

相关推荐

    wiremock接口响应数据模拟 服务端模拟 实例

    下面将详细介绍WireMock如何实现接口响应数据模拟及服务端模拟。 ### 一、WireMock简介 WireMock是一款开源的Java库,它设计用于模拟HTTP服务,可以精确地控制服务器的响应。通过WireMock,我们可以创建预定义的...

    WireMock-用于模拟HTTP服务的工具

    3. **记录和重放**:WireMock具备记录功能,可以捕获真实HTTP通信并将其保存为模拟数据,以便后续测试中重放。这在开发早期阶段尤其有用,可以在真实服务不可用时使用记录的交互进行测试。 4. **JSON配置**:...

    WireMock数据使用

    在本文中,我们将深入探讨WireMock的数据使用,以及如何在无网络环境下的开发中发挥它的优势。 ### 1. WireMock的基本概念 WireMock是一个Java库,可以作为独立服务器运行,也可以嵌入到测试框架中。它允许你定义...

    模拟服务器端服务

    它允许用户定义HTTP和HTTPS请求的预期行为,包括返回固定的数据、动态生成数据、甚至抛出错误。`MockServer`支持多种语言的客户端库,便于集成到不同的开发环境中。例如,Java开发者可以使用官方提供的Java客户端,...

    springboot-test-contract-wiremock

    例如,我们可以模拟一个返回JSON数据的GET请求: ```java stubFor(get(urlEqualTo("/api/data")) .willReturn(aResponse() .withStatus(200) .withHeader("Content-Type", "application/json") .withBodyFile...

    模拟网关

    模拟网关的核心工作原理通常基于代理模式,它接收来自客户端的请求,然后根据预设的规则或逻辑返回模拟的响应。这些规则可能包括固定的数据响应、随机生成的数据、甚至是一些复杂的行为模拟。这使得开发人员能够在...

    Android 客户端与服务器端进行数据交互Demo(包含服务器端和客户端)

    10. **模拟服务器交互**: 开发阶段,开发者可能会使用工具如`MockServer`或`WireMock`来模拟服务器响应,便于测试客户端代码。 在实际开发中,这个Demo可以作为学习基础,了解客户端与服务器数据交互的基本流程,...

    MockService

    4. **集成到开发流程**:MockService应该与开发环境紧密集成,例如,可以使用工具如Mockito或WireMock,或者自建一个简单的Web服务器来托管Mock数据。 5. **测试与验证**:使用MockService后,开发者可以进行单元...

    模拟API程序

    2. 设计模拟数据:根据API的预期响应,设计相应的JSON或其他格式的返回数据。 3. 实施模拟:选择合适的工具或框架,按照API接口定义配置模拟规则。 4. 集成测试:将模拟API与你的应用程序集成,进行功能测试和性能...

    mock-server.zip

    Mock Server通常接收前端发出的HTTP请求,根据预设的规则返回模拟的数据。这些规则可以包括请求的URL、HTTP方法(GET, POST等)、请求头、请求体等信息。当匹配到特定的请求时,Mock Server会返回事先定义好的响应,...

    java接口测试

    在进行Java接口测试时,可以使用各种工具和库,如Apache HttpClient、OkHttp、Feign等进行HTTP请求,使用JSONassert、Hamcrest等进行断言,使用Mockito或WireMock进行服务模拟。同时,可以利用Spring Boot的测试框架...

    模拟API

    2. **使用Mocking框架**:如WireMock、MockServer等,它们提供了更高级的功能,如动态响应、请求匹配规则等,能够更灵活地模拟API行为。 3. **使用Mocking库**:在编程语言内部,如JavaScript中的Sinon.js,Python...

    Mock搭建资源

    为了更深入地利用这些资源,建议先了解Mock工具的使用方法,例如WireMock、MockServer、Faker.js等。同时,熟悉JSON格式和HTTP协议也是必不可少的。通过实践,你可以逐步掌握如何根据项目需求创建符合逻辑的Mock API...

    java+springboot租房网站.rar

    集成测试则可能使用Spring Boot的TestRestTemplate或WireMock来模拟HTTP请求。 11. **部署与运维**: 项目部署可能使用Docker容器化技术,便于在不同环境中快速部署。日志管理和监控工具如Logback和Prometheus可以...

    简易记账带后端_java前后端交互.zip

    2. 集成测试:模拟前端请求,测试整个系统的集成效果,可能用到Mockito、WireMock等工具。 3. 监控:利用如Prometheus和Grafana等工具,实时监控应用的性能和健康状况。 总的来说,“简易记账带后端”项目涵盖了...

    APITestFrame.zip

    标题中的"APITestFrame.zip"表明这是一个与API测试框架相关的压缩文件。...在实际应用中,可能会结合Mock服务器(如WireMock)模拟API服务,进行独立的接口测试,或者与后端服务配合,进行端到端的集成测试。

    mock-api

    Mock API 是一种在实际后端服务开发完成之前,模拟接口数据返回的技术,它极大地促进了前端开发者的工作效率。在软件开发过程中,特别是在敏捷开发环境中,Mock API 的应用变得越来越普遍。前端开发者可以使用 Mock ...

    post命令测试

    线下测试POST命令时,你可以在没有网络连接的情况下模拟服务器响应,使用本地mock服务工具如WireMock,预先定义好预期的响应,这样可以专注于验证客户端代码的行为。 总结,"post命令测试"涵盖了理解GET和POST请求...

    基于 Java 的接口自动化测试.zip

    7. **Mock服务器与Mock对象**:在某些情况下,我们可能需要模拟服务器的响应,这时可以使用Mockito或WireMock。Mockito用于创建和配置Mock对象,而WireMock可以启动一个模拟HTTP服务器,返回预设的响应。 8. **持续...

    张泽华android4.0视频 WEB项目(服务器)测试代码

    在Android应用开发中,服务器端代码的重要性不言而喻,因为它负责处理客户端(Android设备)发送的数据请求,进行业务逻辑处理,并返回结果给客户端。 以下是具体的知识点解析: 1. **Android 4.0 (Ice Cream ...

Global site tag (gtag.js) - Google Analytics