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

作者:天天向上327 时间:2023-12-15 06:37:00 

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,如下图:

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

成功启动mock,如下图

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

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"

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

2.访问put

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

3.访问delete

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

来源:https://www.cnblogs.com/yiwenrong/p/12664385.html

标签:Python,MOCK,SERVER,moco,接口测试
0
投稿

猜你喜欢

  • 极致之美——百行代码实现全新智能语言Lisp

    2010-07-13 13:07:00
  • MySQL过滤重复数据的两种方法示例

    2024-01-16 12:54:27
  • 处理SQL Server 2000的命名实例和多实例

    2009-01-19 13:28:00
  • Linux下安装PHP MSSQL扩展教程

    2024-03-11 10:41:47
  • python中wx模块的具体使用方法

    2023-02-02 05:40:20
  • Oracle 10G:PL/SQL正规表达式(正则表达式)手册

    2009-07-02 12:33:00
  • MySQL5.7中的JSON基本操作指南

    2024-01-27 20:38:34
  • 在ASP中使用SQL语句之2:用WHERE子句设置查询条件

    2009-04-21 13:03:00
  • python em算法的实现

    2021-09-18 11:45:30
  • Python深入浅出分析元类

    2022-01-10 09:09:00
  • python使用正则表达式匹配反斜杠\\遇到的问题

    2021-12-19 19:45:05
  • Python面向对象特殊成员

    2021-07-03 12:05:48
  • Python用selenium实现自动登录和下单的项目实战

    2021-02-04 18:29:44
  • MyBatis简介与配置MyBatis+Spring+MySql的方法

    2024-01-26 04:34:26
  • Golang控制通道实现协程等待详解

    2023-07-21 16:23:39
  • Python django框架输入汉字,数字,字符生成二维码实现详解

    2022-12-13 00:23:24
  • PHP简单实现正则匹配省市区的方法

    2023-11-14 22:24:09
  • python数据分析之聚类分析(cluster analysis)

    2022-12-28 08:24:02
  • Python中的文件和目录操作实现代码

    2022-08-30 15:12:11
  • python eval()函数使用详情

    2021-10-17 02:09:23
  • asp之家 网络编程 m.aspxhome.com