接口自动化学习--mock
Posted kingxyt06
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化学习--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
以上是关于接口自动化学习--mock的主要内容,如果未能解决你的问题,请参考以下文章