51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3156|回复: 4
打印 上一主题 下一主题

[转贴] mock 平台----zmock 第一版介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-6-22 09:22:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
zmock功能模拟出一个不存在的http接口,根据请求参数的不同返回对应的数据。
zmock应用场景
  • 在接口文档写好后,就可以mock出一个接口,以便于客户端开发,且测试人员也可以开始写测试用例。mock出来的接口也相当于一种契约,服务端与客户端都必须遵守这个mock出来的契约。
  • 当系统中有第三方接口,在做性能测试时,可以mock第三方接口,作为性能测试的档板。
  • 其它。
zmock介绍
  • 开发语言及框架:java,spring,easyui
  • web容器:tomcat
  • 部署方式:
    • 将打包好的zmock.war更名为ROOT.war
    • 将ROOT.war放在tomcat的webapps目录下面
    • 启动tomcat
  • 设置
    • 打开[url=]http://ip:port/zmock/index?role=whosyourdaddy[/url]
    • 填写mock数据保存目录,作为一个workspace。在https://github.com/zhangfei19841004/zmock 中有一个data目录,建议将mock数据保存目录指向这个data目录,里面有已经写好的mock接口,可以作为参考。
    • 一般情况下用[url=]http://ip:port/zmock/index[/url]访问即可
zmock平台使用说明
接口文档:
请求链接:/api/info/v1
请求方法:post
请求参数示例:{"name":"zhang","age":30}
请求参数说明:
参数名参数类型是否必需示例值
namestringzhang
ageint30
响应说明:
  • 当name的值为空或者age的值小于等于0时,响应:{"retCode":"300","retMsg":"参数不正确"}
  • 当name的值为zhan时,响应:{"retCode":"301","retMsg":"数据不存在"}
  • 当name值为zhang且age的值为18时,响应:{"retCode":"301","retMsg":"数据不存在"}
  • 其它情况下,响应:{"retCode":"200","retMsg":"ok.","data":{}}

以上是一份简单的接口文档,公司不同,文档的要求不同,但我相信大家都应该能看懂这份文档,现在,我们根据这份文档来mock一个http接口出来:
  • 点击左上角的+号:
  • 确定后,在菜单中选择或输入测试DEMO,在mock请求URL中填写:
  • mock请求方法选择POST:
  • 在mock请求参数模板中:
  • 在mock规则定义中点击新增:
  • 再增加一条规则:
  • 最后一条规则:
  • 保存后,mock就完成了

mock完成后,我们来测试一下这个http接口:








zmock的特点
  • 请求参数模板的定义。根据请求参数模板,来判断请求参数是否正确。mock请求参数模板说明:
    • .*表示请求参数为任意字符串,用于POST BODY
    • 如username=&password=表示POST表单提交或GET请求
    • 如{"username":"","password":""}表示POST BODY为JSON串
  • mock规则利用表达示来定义。比如/name,/age,这是json路径,具体的请参考:https://github.com/zhangfei19841004/zson表达示所支持的比较符有:==      !=      >       >=      <       <=      in      contains表达示方便扩展,如有需要,自行扩展即可。支持的连接符有:and     or      (),其中()的优先级最高,支持括号里套括号。
  • 采用文件异步保存数据的方式,且数据都放在内存里,保证接口的响应速度。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2017-6-22 09:52:07 | 只看该作者
    想请问一下,这个是用来自动化接口测试的吗?是可以百分百保证测试质量?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2017-6-22 09:52:54 | 只看该作者

    这个是mock整个接口,还是针对不同传参mock的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2017-6-22 09:53:45 | 只看该作者
    乐哈哈yoyo 发表于 2017-6-22 09:52
    想请问一下,这个是用来自动化接口测试的吗?是可以百分百保证测试质量?

    这是mock 不是来做接口自动化的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2017-6-22 09:54:08 | 只看该作者
    巴黎的灯光下 发表于 2017-6-22 09:52
    这个是mock整个接口,还是针对不同传参mock的

    MOCK整个接口,有规则定义,根据规则来响应不同的值。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 14:38 , Processed in 0.064416 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表