接口自动化学习--mock


   好久没有写学习的总结,都正月十二了,但还是要来个新年快乐鸭。

   一直都在看imooc的一套java接口自动化实战课程,现在看到了尾部了,然后想到之前那些testng,mock,httpclient等都没有做小结,所以就还是怕会学了看过了,没有实战就忘记了。。。

          简介

   mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。mock用来模拟接口的,课程中学习mock用的是moco框架,moco框架是github上的一个开源项目,可以模拟一些http,https,Socket协议。

  实际使用场景

  比如项目开发中,前后台分离,如果后台接口还没有开发完,前端需要调用后台的接口来进行调试,此时就可以使用moco来模拟自己想要的接口和数据。

  启动

  moco框架是github上的一个开源项目,可以把这个项目源码拿下来使用 gradle编译为一个jar,也可以网上直接找 jar 包下载。这里提供一个jar的下载 地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0/moco-runner-0.11.0-standalone.jar 里面也有很多个版本,选择最大的那个包即可。

  启动的命令:java -jar moco-runner-0.11.0-standalone.jar  [协议类型] -p [端口号] -c [json配置文件]

  demo示例:

  新建一个文件夹后,直接将moco框架的jar包丢进去,然后就可以直接创建json文件,如demo.json

  执行->命令行->cd Chapter7->java -jar moco-runner-0.11.0-standalone.jar http -p 8899 -c demo.json

  

  执行成功,然后之前在浏览器打开,http://localhost:8899/demo

  

  demo.json

  

  *执行过后,浏览器会因为编码问题出现乱码,所以在response块加上headers信息,可以保证执行后中文不出现乱码的情况。

  上面是个demo  之后又结合cookie进行了练习

  带cookie的请求(get&post)

  GET

  

   POST

   

  *post请求的接口一般是在第三方的接口工具中执行,如postman和jmeter。

   如图,输入url后,选择请求方式,然后输入参数,注意选择参数文本形式,如图是json类型。

   还有cookie,这是携带cookie发起的请求,所以还需要配好cookie再访问。

      最后点击send,发起请求得到相应结果。

  

       

  moco还有带headers,redirect重定向的一些方法,课程中最主要的还是讲了几个get,post,cookie例子。

   贴上重定向redirect的demo

   

  ①访问第一个http://localhost:8899/redirect,页面就会跳转到百度

   ②访问http://localhost:8899/topath,就会跳转到我们自己定义的网页myhome上面~

  That's all lalalalalalalala~~~

  实战中学到关于mock这块的就是这些了,好的,我又荒废了这个周末T T