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

2020-09-27 0 399

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模拟接口测试过程解析

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

遇见资源网 Linux Python MOCK SERVER moco模拟接口测试过程解析 http://www.ox520.com/29490.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务