python接口测试之mock(一)

在现在的软件开发过程中,特别是app的部分,需要的很多数据以及内容,都是来自server端的API,但是不能保证在客户端开发的时候,api在 server端已经开发完成,专门等着前端来调用,理想的情况是前端在开发的时候,已经有人写好了接口,直接调用就可以了,但是这仅仅是理想的情况,很多 时候,现实总是比理想多一层思考和磨难,如果在前端开发的时候,提供api的同学没有提供,那么怎么办?等待还是自己先开发,等待肯定是愚蠢的做法,那么 自己开发怎么来解决api提供数据的这个问题,那么使用mock就可以很好的解决,什么是mock?mock简单的理解就是开发在开发的过程中,需要依赖 一部分的接口,但是对方没有提供或者环境等等情况,总之是没有,那么开发使用mock server自己来mock数据,方便自己正常的进行开发和对编写的功能进行自测。在http://central.maven.org/maven2/com/github/dreamhead/moco-runner/0.12.0/moco-runner-0.12.0-standalone.jar 地址中可以下载到moco-runner-0.12.0-standalone.jar,下载下来就是一个jar,在该地址中,作者对这部分有详细的说明和启动mock server方法,这里不在重复的再次说明。

下面我们简单的编写一个登录的,见编写的login.json字符串:

[
  {
    "request":
    {
      "method":"post",
      "uri":"/login",

      "json":
      {
        "username":"admin",
        "password":"admin",
        "roleID":22
      }
    },
    "response":
    {
     "json":
      {
    "username":"xiaowangzi",
    "stuNo":001,
    "token":"asdgfhh32456asfgrsfss"
        }
    }
  }
]    

在运行命令前,最好让mock server与编写的login.json文件是在同一个目录下,见执行的命令:

 java -jar  moco-runner-0.12.0-standalone.jar http -p 12306 -c login.json

在如上的命令中,java -jar  moco-runner-0.10.0-standalone.jar是启动jar,没什么可说的,http表示进行的是http协议,-p后面跟的是端口号,这里端口号指的是12306,-c后面跟编写的json文件,这里是login.json,见执行如上的命令后出现的信息(切记无任何的错误信息表示OK,如果有错误,慢慢的进行检查错误),见截图:

OK,下来我们使用Fiddler来验证下,我们mock的登录接口是不是OK的,见Fiddler中填写的信息,点击Excute发送请求. 见截图:

 

在Inspectors下查看响应:

这样我们就可以自定义请求的响应, 而不必等到该响应正式开发完成了.

同时我们可以使用httpclient或者 是requests来发送请求, 进行测试咯.

 

posted on 2018-01-01 22:00  小王子1110  阅读(670)  评论(0编辑  收藏  举报

导航