Python MOCK SERVER moco模拟接口测试过程解析

 更新时间:2020年04月13日 09:17:25   作者:天天向上327  
这篇文章主要介绍了Python MOCK SERVER moco模拟过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

MOCK的意义

1.接口测试等待开发完成接口开发之后再进行,不符合测试的尽早测试的基本原则,我们可以利用MOCK工具来模拟接口,减少对开发的依赖,从而可使测试与开发同步进行

2.接口存在很多依赖关系,现实中,由于一些客观的原因,我们在测试环境所要的测试条件可能无法满足,此时就需要我们用MOCK工具来进行模拟,如网上商城有个支付业务,与工商银行做对接,工商银行只提供正式环境的对接,没有测试环境支持,那我们在测试环境测试就需要利用MOCK工具进行模拟,完成支付业务流

mock工具-moco

官网地址

1.安装配置jdk1.8

2.下载moco jar包:moco-runner-0.10.0-standalone.jar

3.新建配置config.json,在jar包所在目录输入cmd,cmd 输入:java -jar moco-runner-0.10.0-standalone.jar http -p 9999 -c config.json,启动moco mock

jar下输入cmd,如下图:

成功启动mock,如下图


config.json 内容:

[
 {
  "request" :
   {
    "method": "get",
    "uri" : "/1"
   },
  "response" :
   {
    "text" : "mock mo ren"
   }
 }
]

4.浏览器输入http://127.0.0.1:9999/1,打印“mock mo ren”,说明:9999为运行配置的端口,/1为配置文件请求的url,“mock mo ren”为访问url的响应的内容

5.一般mock启动不要用https,https需要证书的,配置起来麻烦

模拟-get

(confing.json配置文件,duocs.json有两条记录,dancs.json有一条记录),执行http://127.0.0.1:9999/cs/duo 显示duocs.json两条记录;

执行http://127.0.0.1:9999/cs/dan 显示 dancs.json一条记录

执行http://127.0.0.1:9999/temp?zw=9 返回:“返回参数中文9”,其中zw=9 ,zw为动态参数,注意返回的值是text类型,目前moco的josn格式不支持中文,text格式可以返回中文,但是意义不大。

如config.json 内容:"text" : {
"template": "返回参数中文${req.queries['zw']}"
}

config.json 内容:

[
 {
  "request" :
   {
    "method": "get",
    "uri" : "/cs/duo"
   },
  "response" :
   {
    "file" : "duocs.json"
   }
 },
 {
  "request" :
   {
    "method": "get",
    "uri" : "/cs/dan"
   },
  "response" :
   {
    "file" : "dancs.json"
   }
 },
 {
  "request" :
   {
    "method": "get",
    "uri" : "/temp"
   },
  "response" :
   {
    "text" : {
     "template": "返回参数中文${req.queries['zw']}"
    }
   }
 }
]

dancs.json 内容:

{
	"name": "yiqiao",
	"age": "30"
}

duocs.json 内容:

[
 {
  "name": "zhangshan",
  "age": "28"
 },
 {
  "name": "lishi",
  "age": "38"
 }
]

模拟-post

config.json 内容:

[
 {
  "request" :
   {
    "method": "post",
    "uri" : "/posts",
    "file": {
     "json": "requestcs.json"
    }
   },
  "response" :
  {
   "json": {"success": "true"}
  }
 }, 
 {
  "request" :
   {
    "method": "put",
    "uri" : "/puts",
    "file": {
     "json": "requestcs.json"
    }
   },
  "response" :
  {
   "json": {"success": "puttrue"}
  }
 },
 {
  "request" :
   {
    "method": "delete",
    "uri" : "/deletes"
   },
  "response" :
  {
   "json": {"success": "deletetrue"}
  }
 }
]

requestcs.json 入参文件内容:

{
	"usename": "test",
	"password" : "test"
}

1.访问post:结合配置文件config.json 内容:url:/posts;入参格式为:"json": "requestcs.json",返回json格式值 "success": "true",如下图postman操作:选择body-raw,选择josn(application/josn),输入URL:http://127.0.0.1:9999/posts,返回 "success": "true"

2.访问put

3.访问delete

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python--pip--安装超时的解决方案

    python--pip--安装超时的解决方案

    这篇文章主要介绍了python--pip--安装超时的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python考拉兹猜想输出序列代码实践

    Python考拉兹猜想输出序列代码实践

    这篇文章主要介绍了Python考拉兹猜想输出序列代码实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 浅析Python实现DFA算法

    浅析Python实现DFA算法

    DFA全称为Deterministic Finite Automaton,即确定有穷自动机。特征:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边标记有一个符号,其中一个状态是初态,某些状态是终态。不同于不确定的有限自动机,DFA中不会有从同一状态出发的两条边标志有相同的符号
    2021-06-06
  • python生成器generator:深度学习读取batch图片的操作

    python生成器generator:深度学习读取batch图片的操作

    这篇文章主要介绍了python生成器generator:深度学习读取batch图片的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python读取csv文件做K-means分析详情

    Python读取csv文件做K-means分析详情

    这篇文章主要介绍了Python读取csv文件做K-means分析详情,基于时间序列的分析2D读取时间列和高程做一下分析。下文更多详细介绍需要的小伙伴可以参考一下
    2022-03-03
  • 通过Python实现控制手机详解

    通过Python实现控制手机详解

    如今python是非常多人学习的,而手机也几乎人手一部。对于很多Python学习者,想用python来完成android手机中各种炫酷的的控制,adb是必不可缺少的工具之一
    2021-10-10
  • Python多进程的使用详情

    Python多进程的使用详情

    本篇重点介绍Python多进程的使用,主要介绍其的一些方法及进程的创建等,想进一步了解的小伙伴请跟小编一起进入下文吧
    2021-09-09
  • YOLOv5车牌识别实战教程(一)引言与准备工作

    YOLOv5车牌识别实战教程(一)引言与准备工作

    这篇文章主要介绍了YOLOv5车牌识别实战教程(一)引言与准备工作,在这个教程中,我们将一步步教你如何使用YOLOv5进行车牌识别,帮助你快速掌握YOLOv5车牌识别技能,需要的朋友可以参考下
    2023-04-04
  • 对Python中GIL(全局解释器锁)的一点理解浅析

    对Python中GIL(全局解释器锁)的一点理解浅析

    首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,下面这篇文章主要给大家介绍了关于对Python中GIL的一点理解,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Python使用turtule画五角星的方法

    Python使用turtule画五角星的方法

    这篇文章主要介绍了Python使用turtule画五角星的方法,运行该程序可以看到箭头间歇移动绘制五角星的效果,涉及Python使用turtle及time模块绘制图形的相关技巧,需要的朋友可以参考下
    2015-07-07

最新评论