使用接口mock辅助测试 - 51ste软件测试部落-中国软件测试者的乐园
登录|注册

使用接口mock辅助测试

作者:TinaGao  发布时间:2018-10-10 13:10:49  关键字:mock与接口 

在工作中遇到了一些场景不方便测试,例如:与第三方合作,未联调时就需要提前介入测试我方的接口;app上有调用到第三方的接口;接口的前置场景的接口不易于执行到。于是,今天学习了如何使用mock,在测试过程中,对于某些不容易构造或者第三方的接口,创建一个虚拟的接口以便测试的方法。
学习了两种方式:
第一种是使用easy mock(这种方式适合于服务器端调用):
1、官方地址是https://easy-mock.com/  首先创建一个项目,然后创建一个接口,填写请求方法,url,接口返回值,在填写url时与实际接口上的url一致。创建成功后,可复制接口地址到post上执行,可执行成功,并响应出所填写的接口返回值。这时候mock就创建好了。
2、再到实际所测的开发项目中将spring-config.properties文件中地址设置为本地,例如项目名称是test,则设置为:url.test=http://localhost:8080/test
在本地启动项目。
3、如果测试对象是接口,以上步骤就已经可以成功使用mock了;如果测试对象是app,可以使用charles连上手机代理,再在charles上设置:Tools -》Map Remote -》勾选Enable Map Remote -》设置Map From为项目原来的地址,设置Map To为localhost的地址。设置成功后,在app上操作时,使用的就是本地的代码。(当然,也可以使用fidder)
第二种是使用moco的jar包(这种方式适合于本地调用,可模拟单个接口):
1、下载jar包:moco-runner-0.9.2-standalone.jar
2、 将要mock的接口内容写成json文件,例如payment.json文件,里面mock两个接口,写法如下:
[

  {

    "request": {

      "uri": "/baofoo",

      "queries": {

        "param": "pay"

      }

    },

    "response": {

      "json":{"biz_type":"0000",

          "resp_code":"BF00113",

          "txn_type":"0431"

        }

    }

  },

  {

    "request": {

      "uri": "/yee",

      "queries": {

        "param": "validation"

      }

    },

    "response": {

      "json": 

      {

      "codesender":"CUSTOMER", 

      "enhancedtype":"abc",

      "errorcode":"TZ1001033"

     }

    }

  }]
3、执行语句:
java -jar moco-runner-0.9.2-standalone.jar start -p 12306 -c payment.json
(-jar是执行后面的jar包,start -p设置端口号,-c指定json文件)
4、在本地开发项目中设置spring-config.properties,内容为
bf.requestUrl=http://localhost:12306/baofoo?param=pay
5、到postman中或者浏览器中进行验证,输入http://localhost:12306/baofoo?param=pay。可得到响应值:
 {

      "json":{"biz_type":"0000",

          "resp_code":"BF00113",

          "txn_type":"0431"

        }

    }

本文由51ste.com网友编辑,未经授权,不得转载使用上述作品盈利;个人转载,需标明原文作者及出处。

说说看法查看全部评论(0)

微信二维码

部落微信公众号

QQ二维码

部落QQ群二维码