大家好~我是小方,欢迎大家关注笋货测试笔记体完记得俾个like呀
回顾
上篇大概介绍了数据工厂,今天这篇教程主要给大家讲述如何快速编写一个脚本(场景)以及项目的配置
一、创建项目
首先,我们的造数脚本都是跟随项目来的,所以在编写脚本的时候,得先创建一个项目
- 点击【创建项目】,输入项目相关的数据,项目如果是私有,则除了超级管理员、项目负责人、项目组长、组员以外的其他成员都无法访问你的项目
- 点击【确定】即可完成项目的创建
此时我们可以看到项目已经成功建立了,我们可以点击项目卡片进入项目,进行配置项目权限。
- 配置项目权限
这里添加成员,选择用户和用户角色,点击确定即可,目前角色有组长和组员
二、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"
}
}
编写脚本
维护好造数方法的注释后,继续编写脚本,需要注意以下几点:
- 造数方法必须return返回值,如果需要返回日志数据,第一个返回值必须为字典类型,如果没有日志数据,直接返回字典类型的数据即可
- 且字典中必须含有responseCode或者code字段
- 如果执行成功,请将responseCode或者code赋值0或者200,这里就代表造数脚本执行成功
- 对于造数脚本来说,有执行成功、执行失败、执行异常这三种说法,异常时responseCode或者code赋值不等于0或者不等于200即可,反之为成功,失败则造数脚本无法运行
简单的示例可看下图,统一用装饰器包装整段逻辑代码
推送脚本
我们编写好脚本之后,执行git命令将代码push到gitlab中。每次编写完之后,需要push代码,不然别人也看不到你写的脚本
初始化项目
上面的步骤我们只是配置好了项目,编写了脚本项目,但是在平台上还没对项目进行初始化,所以我们需要在项目卡片上,执行初始化项目···
备注:初始化这个步骤,只需要执行一次就好了,之后就不用进行初始化
同步项目
在第四个步骤中,我们已经初始化了项目,接着我们来同步项目里面的造数脚本
备注:如果在第二个步骤中,已经配置了git webhooks,这里就不用手动执行同步
运行造数脚本
- 点击造数脚本卡片,进入到卡片详情
- 点击请求示例tab,在编辑框里输入入参,再点击【运行】按钮,即可执行造数脚本
- 其他脚本运行方式,可看上篇的介绍文档==>场景操作介绍