数据工厂系列(31)使用文档

84 阅读6分钟

大家好~我是小方,欢迎大家关注笋货测试笔记体完记得俾个like

回顾

上篇大概介绍了数据工厂,今天这篇教程主要给大家讲述如何快速编写一个脚本(场景)以及项目的配置

一、创建项目

首先,我们的造数脚本都是跟随项目来的,所以在编写脚本的时候,得先创建一个项目

  1. 点击【创建项目】,输入项目相关的数据,项目如果是私有,则除了超级管理员、项目负责人、项目组长、组员以外的其他成员都无法访问你的项目

  1. 点击【确定】即可完成项目的创建

此时我们可以看到项目已经成功建立了,我们可以点击项目卡片进入项目,进行配置项目权限。

  1. 配置项目权限

这里添加成员,选择用户和用户角色,点击确定即可,目前角色有组长和组员

二、gitlab项目配置

ssh key配置(非必须)

此步骤为ssh key配置,如果你在数据工厂上配置的项目,拉取方式为ssh方式,此时需要手动复制公钥ssh key到个人设置中

以gitee为栗子

git webhooks配置

上述步骤为git webhooks配置,简单来说就是,你的项目更新了,不用到平台里手动执行同步项目进行更新,这里会自动触发更新项目脚本;此步骤如果不配置,需要自己到平台手动执行同步项目进行更新脚本

备注:配置git webhooks同步项目,平台上必须先初始化项目!!!

三、脚本项目编写

创建目录

首先先在项目的根目录创建脚本运行的目录,接着在运行目录下创建业务线目录,脚本按业务线进行归类

创建脚本

在业务线目录下,创建你的造数脚本,xxx.py,注意的是,造数脚本以方法为维度,不支持类,譬如下图的创建项目,入参为username和password

维护造数方法(注释)

如何维护造数方法呢?这里相当于维护脚本的注释,这一步很重要,一定要维护好,才可以在平台上生成界面,维护配置可看下面

  • @api(脚本信息)

@api {method} path title

@api {post} /create_project 自动创建项目
  • @apiGroup(业务线)

@apiGroup name

@apiGroup 项目
  • @apiDescription(脚本描述)

@apiDescription text

@apiDescription  自动创建pity项目
  • @apiPermission(脚本负责人)

@apiPermission name

@apiPermission fang
  • @apiParam(脚本入参参数) @apiParam [{type}] [field=defaultValue] description

注意:这里字段名,必须与方法的入参名保持一致

# 示例1(常规维护)
@apiParam {String} username=tester 用户名
@apiParam {String} password=tester 用户密码
 
# 示例2(非必传字段时维护)
@apiParam {String} username=tester 用户名
@apiParam {String} password=tester 用户密码
@apiParam {String} [project] 项目名
 
# 示例3(字段类型为嵌套对象数组)
@apiParam {Number} [orderType]       订单类型
@apiParam {Object[]} productList     商品数组
@apiParam {String} productList.productCode     商品编码
@apiParam {String} productList.buyNum        购买数量
  • @apiParamExample(脚本请求示例)

@apiParamExample {type} title

@apiParamExample {json} 请求示例
    {
         "username": "tester",
         "password": "tester"
      }

注意:这里的请求示例必须维护好,且为json格式,平台执行脚本时,使用的是这里的数据

  • @apiSuccess(脚本请求返回数据)

@apiSuccess [(group)] [{type}] field [description]

备注:这里的维护跟apiParam一样

@apiSuccess (200) {Number} code=200 服务器码
@apiSuccess (200) {Object} data 造数成功返回相关的数据
@apiSuccess (200) {String} data.project_name="demo_1664550976" 项目名称
@apiSuccess (200) {String} msg="造数成功" 提示语
  • @apiSuccessExample(脚本返回示例)

@apiSuccessExample {type} title

注意:这里的返回示例必须维护好,且为json格式,平台里脚本中的返回示例展示,使用的是这里的数据

@apiSuccessExample {json} 返回示例
    {
        "code": 0,
        "msg": "请求成功",
        "data": {
        "project_name": "demo_1664550976"
        }
    }

维护可参考apidoc官方文档:apidocjs.com/

完整维护示例

@api {post} /create_project 自动创建项目
@apiGroup 项目
@apiName create_project
@apiDescription  自动创建pity项目
@apiPermission fang
@apiParam {String} username=tester 用户名
@apiParam {String} password=tester 用户密码
@apiParamExample {json} 请求示例:
{
     "username": "tester",
     "password": "tester"
  }
@apiSuccess (200) {Number} code=200 服务器码
@apiSuccess (200) {Object} data 造数成功返回相关的数据
@apiSuccess (200) {String} data.project_name="demo_1664550976" 项目名称
@apiSuccess (200) {String} msg="造数成功" 提示语
@apiSuccessExample {json} 返回示例:
{
    "code": 0,
    "msg": "请求成功",
    "data": {
    "project_name": "demo_1664550976"
    }
}

编写脚本

维护好造数方法的注释后,继续编写脚本,需要注意以下几点:

  1. 造数方法必须return返回值,如果需要返回日志数据,第一个返回值必须为字典类型,如果没有日志数据,直接返回字典类型的数据即可
  2. 且字典中必须含有responseCode或者code字段
  3. 如果执行成功,请将responseCode或者code赋值0或者200,这里就代表造数脚本执行成功
  4. 对于造数脚本来说,有执行成功、执行失败、执行异常这三种说法,异常时responseCode或者code赋值不等于0或者不等于200即可,反之为成功,失败则造数脚本无法运行

简单的示例可看下图,统一用装饰器包装整段逻辑代码

推送脚本

我们编写好脚本之后,执行git命令将代码push到gitlab中。每次编写完之后,需要push代码,不然别人也看不到你写的脚本

初始化项目

上面的步骤我们只是配置好了项目,编写了脚本项目,但是在平台上还没对项目进行初始化,所以我们需要在项目卡片上,执行初始化项目···

备注:初始化这个步骤,只需要执行一次就好了,之后就不用进行初始化

同步项目

在第四个步骤中,我们已经初始化了项目,接着我们来同步项目里面的造数脚本

备注:如果在第二个步骤中,已经配置了git webhooks,这里就不用手动执行同步

运行造数脚本

  1. 点击造数脚本卡片,进入到卡片详情

  1. 点击请求示例tab,在编辑框里输入入参,再点击【运行】按钮,即可执行造数脚本

  1. 其他脚本运行方式,可看上篇的介绍文档==>场景操作介绍