一、项目结构
xxxx(项目名称)
|-- api
| -- xxxxxxx # 某产品(或某服务)
| -- xxxx.py # 该产品某一接口
|-- common # 相同基础通用方法
| -- dataType.py # 字符格式转换,同一封装使用
| -- emailSend.py # 测试执行后的邮件发送配置(收件人配置)
| -- HTMLTestRunner.py # unittest测试执行生成测试报告的报告文件
| -- logger.py # log输出配置
| -- readConfig.py # 读取环境变量
| -- runMain.py # 接口请求整体封装
|-- config
| -- env.py # 环境变量
|-- data
| -- data_create # 测试数据生成
| -- xx_data_create # 某产品线测试数据生成
| -- mysql # 数据库数据操作
|-- docs # 项目说明与相关文档
|-- logs # 生成的log文件存储位置
|-- reports # 生成的测试报告存储位置
|-- suitess
| -- xxxxxxx # 某产品(或某服务)
| --suite_xxxx.py # 该产品通用封装的模块
|-- testcases
| -- func_xxxxxxx # 某产品线功能逻辑测试用例
| -- api_xxxxxxx # 某产品api测试用例
| -- smoke_xxxxxxx # 某产品冒烟测试用例
| -- test_xxx.py # 测试用例文件
|-- run_case.py # 通过参数执行任一测试用例或测试用例集
|-- requirements.txt # 该文件记录所有需要用的第三方库(以便更换环境一键安装)
二、命名约定
1)项目命名:
全部采用小写方式,以中划线分隔
autotest-api:APP的接口自动化
autotest-web:WEB的UI自动化
mall-management-system:XX系统
2)目录命名:
全部采用小写方式,以中划线分隔;有复数结构时,要采用复数命名法;缩写不用复数
公共文件夹:common、public
工具代码:utils、tools、helpers源代码文件夹:data-src
文档文件夹:docs
组件文件夹:components
页面文件夹:views、pages
资源文件夹:assets
命令脚本:bin
3)文件名命名:
代码文件命名:使用小驼峰,如fileName(包括但不限于:html、js、css文件等)
index.html
signup.css
组件文件命名:如react、vue组件,使用大驼峰命名,如ComponentName
RenderDom.vue
资源文件命名:使用下划线连接命名,如asset_name(包括但不限于:图片、字体、音频、视频文件等)
activity_background.png
output:直观、语义化、可读性强;
标准变量采用驼峰式命名:大驼峰(首字母大写),小驼峰(首字母小写)
ID在变量中全大写:
const MAX_TIME = 100;
const URL ='http://www.baidu.com'
构造函数,首字母大写
function Homepage(id){
this.id = id;
}
函数命名
小驼峰命名法,可使用常见动名词约定
can:判断是否可执行某个动作
has:判断是否含有某个值
is:判断是否为某个值
get:获取某个值
set:设置某个值
load:加载
query:查询
submit:提交
handle:处理,点击、滚动等交互事件
toggle:切换状态
cancel:取消
confirm:确认
add:添加
delete:删除
函数参数
要求小于等于2个参数
超过2个考虑封装成对象
图片命名:
建议顺序命名:
图片功能类别(必选)-图片模块名称(可选)-图片功能名称(可选)-图片分辨率(可选)
图片类别:
icon:图标类
logo:logo类
btn:按钮类
bg:背景类
图片模块名称
orderdetail:订单列表
my:个人中心
图片功能名称
图片分辨率(注意:小程序构建不支持@符号)
例子:
btn-orderdetail-cancel@2x.png
icon-my-popup-close.png