接口管理与数据模拟

Who am I

  • 谭德生/广目
  • 03年5月加入
  • 一直做前端
  • 关心前端发展

前后端沟通尴尬

  • 沟通基本靠吼
  • 翻脸不认账
  • 鸟枪当大炮用
  • 测试数据不全

RAP是什么

  • Rigel Automation Platform
  • 阿里妈妈团队开源
  • 可视化接口管理,数据自动化模拟
  • http://rap.zbjwork.com

接口管理

可视化编辑

  • 简单直观的操作
  • 完整的数据类型
  • 强大的批量操作

版本管理

  • 4级推进层级
  • 历史记录
  • 版本切换

项目组织

  • 团队→产品线→项目
  • 模块→页面→请求

数据模拟

  • 数据模板语法
  • 数据占位符

后端模板

$rap_api = "http://rap.zbjwork.com/mockjsdata/13/index?page=1";
$rap_data = file_get_contents($rap_api);

$fis_data = json_decode($rap_data,true);

浏览器拦截异步请求

<script src="http://t6.zbjimg.com/??/jquery/jquery171.js"></script>
<script src="http://rap.zbjwork.com/rap.plugin.js?projectId=13"></script>
<script type="text/javascript">
    $(function(){
        $.getJSON("/index", function(data){
            console.log(data);
        });
    });
</script>

NodeJS插件

var rapnode = require('rap-node-plugin');
 
global.RAP_FLAG = 1;  // 开启RAP 
 
获取13项目下的 `/perf/2014.json`  
rapnode.getRapData({
    url: '/perf/2014.json',         // action url 
    projectId: '13',                // 项目ID,默认请参见config 
    port: 80,                       // 端口,默认请参见config 
    host: 'rap.zbjwork.com',    // 主机,默认请参见config 
    rap: false                      // 本次调用关闭rap 
}, function() {
    return {a: 1, b: 2}
}, function(err, r) {
    var data = r;
    console.log(data);
});

后端自动化测试?

谁来写RAP?

用过的怎么说?

下班早点回家吃饭不是梦

Made with Slides.com