接口自动化学习--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

  

  

  

  

  

原文地址:https://www.cnblogs.com/kingxyt06/p/10389920.html

时间: 2024-11-09 07:40:49

接口自动化学习--mock的相关文章

接口自动化学习笔记

虫师的接口自动化学习笔记(虫师原创----http://fnng.cnblogs.com) web应用接口测试分为: 1.模块接口测试:主要测试模块之间的调用与返回 2.web接口: a.服务器接口:测试浏览器与服务器的接口 b.外部接口:指调用的接口由第三方系统提供 接口测试的意义: 1.保证系统的稳定性 2.将bug控制在项目前期 3.检查服务器的异常处理能力 我们通常把前端的验证称为弱验证,因为它很容易被绕过,这个时间如果只站在功能的层面时行测试,就很难发现一些安全的问题.不以前功能为入口

华为测试大牛Python+Django接口自动化怎么写的?

有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运. 最近被几个公司实习生整自闭了,没有基础,想学自动化又不知道怎么去学,没有方向没有头绪,说白了其实就是学习过程中没有成就感,所以学不下去.出于各种花里胡哨的原因,今天给大家整一个简单又有成就感的接口自动化学习吧. 不皮了,进入正题.本文中用到的技术点有:Python

python接口自动化之openpyxl学习

python接口自动化之openpyxl学习 由于接口自动化测试需要用到python的第三方库--openpyxl库,运用openpyxl库可以进行exl的读和写,再结合unittest测试框架,就能进行接口自动化测试. 一:openpyxl库的安装:pip install openpyxl   二:查看openpyxl库的属性 import openpyxldir1= dir(openpyxl)print(dir1) ['DEFUSEDXML', 'LXML', 'NUMPY', 'PANDA

学习接口自动化后的总结(一)

一.1.首先学习接口自动化需要具备的知识: (1)python基础知识: 掌握数据类型:字符串.列表.字典.数值及函数.类和面向对象编程的思想 (2)学习requests库 (3)读取测试用例需要用到Excel,所以还需要掌握python的openpyxl或者xlrd去封装获取数据的方法 (4)unittest单元测试 (5)loging日志模块的封装 (6)jenkins做持续集成 2.接口自动化框架的实现思路 (1)首先我们需要封装一个requests的方法支持‘post’.‘get’请求方

2020年第二期《python接口自动化+测试开发》课程,预售!

2020年第二期<python接口自动化+python测试开发>课程,12月15号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:12月15号-3月29号,每周六.周日晚上20:30-22:30 报名费:报名费3000一人(周期3个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.fiddler抓包与接口测试(测试基础必备) 2.python+pytest框架实现接口自动化测试(pytest框架甩unittest几条街) 3.httpr

2020年第三期《python接口自动化+测试开发》课程,4月5号开学(火热报名中!)

2020年第三期<python接口自动化+python测试开发>课程,4月5号开学(火热报名中!) 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:4月5号-6月27号,每周六.周日晚上20:30-22:30 报名费:报名费3000一人(周期3个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.fiddler抓包与接口测试(测试基础必备) 2.python+pytest+allure框架实现接口自动化测试(pytest框架甩unittest几条

python接口自动化2-发送post请求

前言 发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去百度什么的,直接用help函数就能查看相关注释和案例内容. >>import requests >>help(requests) 2.查看python发送get和post请求的案例 >>> import requests       >>> r

【金阳光测试】Android自动化 -- 学习历程:MonkeyRunner原理初步

章节:自动化基础篇——MonkeyRunner原理初步 网易云课堂: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877115&courseId=712011 主要讲解内容及笔记: 一.理论知识和脚本演示 最佳方式是上官网文档去查看monkeyrunner的介绍,官网上不去,就找了一个本地的android 4.2 的查看,基本内容没啥变化 First,什么是MonkeyRunn

Python+excel实现的简单接口自动化 V0.1

好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态”列: 执行通过的话,如果返回的json有message写入“response”列,如果执行失败,则会将返回的json也写入其中 前期准备: 在excel中依次填上接口.请求类型.需要传的数据.期望返回的状态码以及该接口的说明 代码如下,写的很简陋,甚至都没定义方法什么的,姑且称之为V0.1   后面