接口自动化学习--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的更多相关文章
- 接口自动化学习--testNG
一个月一更的节奏~ testNg是一个开源的自动化测试框架..具体那些什么特点的就不想打了- -,贴张图(虽然也看不懂): 学习网站:https://www.yiibai.com/testng 一样是 ...
- 【接口自动化】mock
mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法. 1.在测试接口时使用mock #from unittest import mock d ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-学习mock(7)
学习mock # learn_mock_7.py # 单元测试结合mock思路 import unittest from mock import mock from day_20200208_mooc ...
- JMeter接口自动化学习笔记(一)
实例教程:https://blog.csdn.net/kasijia/article/details/79405815 https://www.cnblogs.com/rd-ddddd/p/95782 ...
- 华为测试大牛Python+Django接口自动化怎么写的?
有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者 ...
- jmeter接口自动化和性能学习目录
目录黑色代表未完成的,绿色代表已完成的文章.目录的作用的为了引导和总结自己的学习,也是为了更好的分享给大家. 一.接口自动化 jmeter解决登录token获取 jmeter五种提取器 之 正则表达 ...
- python学习笔记(接口自动化框架 V2.0)
这个是根据上次框架版本进行的优化 用python获取excel文件中测试用例数据 通过requets测试接口.并使用正则表达式验证响应信息内容 生成xml文件测试报告 版本更新内容: 1. 整理了Cr ...
- Pytest学习(六) - conftest.py结合接口自动化的举例使用
一.conftest.py作用 可以理解成存放fixture的配置文件 二.conftest.py配置fixture注意事项 pytest会默认读取conftest.py里面的所有fixture co ...
- ython学习笔记(接口自动化框架 V2.0)
这个是根据上次框架版本进行的优化 用python获取excel文件中测试用例数据 通过requets测试接口.并使用正则表达式验证响应信息内容 生成xml文件测试报告 版本更新内容: 1. 整理了Cr ...
随机推荐
- iis和apache共用80端口,IIS代理转发apache
为什么共用80端口应该不用多说了,服务器上程序运行环境有很多套,都想抢用80端口,所以就有了共用80端口的解决方案. 网上很多的教程一般都是设置APACHE使用默认80端口,代理转发IIS的网站,II ...
- Asp.net MVC 控制器扩展方法实现jsonp
项目需要,在使用KendoUI,又涉及到jsonp数据格式的处理,网上看到这样一种实现方法,在此小记一下(其实是因为公司里只能上博客园等少数网站,怕自己忘了,好查看一下,哈哈哈) 1. 新建控制器扩展 ...
- 微信小程序的开发(一)
我现在在学习,微信小程序开发,刚刚看看一篇对我特别有用的博客文章,我就把摘抄过来了,好好的学习一下. 序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」 ...
- 论文笔记 Robust face landmark estimation under occlusion
1. Abstract 现实世界中的人脸很多时候都存在遮挡以及大的形状变化,而目前的人脸关键点检测方法在这种情况下表现欠佳, 因为它们未能提供一种系统的方法来处理异常.因而authors提出一种新的方 ...
- python 内置常用函数
import os def set(o): return set(o) # =={o} def reverseObject(it): it.reverse() return it def sortOb ...
- PAT乙级1026
1026 程序运行时间 (15 分) 要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时 ...
- JavaScript小例子
1. alert.html <html> <head> <title></title> <script type="text/javas ...
- python为什么叫胶水语言?python为什么是系统脚本?
python为什么叫胶水语言?python为什么是系统脚本? 特点是什么? python现在最广为闻名的形容大概有这些: 他是很好的胶水语言.什么是胶水语言?反正当时的我不知道. 他是新一代的系统 ...
- MySql修改WordPress密码
首先,需要几样东西:Xshell,MySql的密码 具体过程:这里我的服务器用的是Vultr, 登上数据库: 使用的语句是:mysql -u root -p 出现的结果如下图: 接着输入语句:show ...
- Homebrew 使用指南
Homebrew 是 MacOSX 上的软件包管理工具. 安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.co ...