自动化测试平台开发(十一):接口测试 - 在线文档 - VuePress
这里简单介绍通过VuePress构建项目在线文档。
一、VuePress
官方地址: https://vuepress.vuejs.org/zh/
一个Vue 驱动的静态网站生成器,以 Markdown 为中心的项目结构。
VuePress 有很多优点:
- 界面简洁优雅
- 容易上手(半小时能搭好整个项目)
- 更好的兼容、扩展 Markdown 语法
二、开始搭建
# 1. 创建并进入一个新目录 mkdir tpDocs && cd tpDocs
# 2. 使用你喜欢的包管理器进行初始化
yarn init # npm init
# 3. 将 VuePress 安装为本地依赖 不推荐全局安装
VuePress yarn add -D vuepress # npm install -D vuepress
# 4. 创建你的第一篇文档mkdir docs && echo '# Hello VuePress' > docs/README.md
# 在p5. ackage.json
中添加一些 scripts
{
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}
}
# 6. 在本地启动服务器
yarn docs:dev # npm run docs:dev
# 此时文件夹结构
tpDocs
+--docs
+----README.md
+--package.json
三、配置
- tpDocs\docs目录下多了个 .vuepress文件夹
tpDocs +--docs +----.vuepress +------ dist //打包后的文件夹 +----README.md +--package.json +--node_modules
- 在.vuepress 创建config.js 文件, 添加
module.exports = { base: '/auto-test-platform/', port: 9529, theme: '', plugins: [ '@vuepress/back-to-top', //此处是添加返回顶部的插件 '@vuepress/medium-zoom' ], title: 'testPlatform.docs', head: [ // 设置 favicon.ico ['link', {rel: 'icon', href: '/assets/img/logo.png'}], ], themeConfig: { logo: '/assets/img/logo.png', // 右上角搜索框后面的菜单导航 nav: [ {text: '首页', link: '/'}, {text: '工单分析', link: '/order/'}, {text: '精准测试', link: '/precise/'}, { text: '接口测试', link: '/api_test/', items: [ {text: '指南', link: '/api_test/guide/'}, {text: '进阶篇', link: '/api_test/advanced/'}, {text: '注意事项', link: '/api_test/attentions/'}, {text: '开发手册', link: '/api_test/develop/'} ] }, {text: 'GitLab', link: 'https://github.com/txu2k8/auto-test-platform.git'} ], //左侧菜单 sidebar: [ { title: '接口测试', path: '/api_test/', collapsable: true, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ { title: '指南', path: '/api_test/guide/', collapsable: true, children: [ {title: '快速上手', path: '/api_test/guide/quick_start/', collapsable: true, sidebarDepth: 2}, {title: '第一个测试', path: '/api_test/guide/first_test/', collapsable: true, sidebarDepth: 2}, ] }, { title: '进阶篇', path: '/api_test/advanced/', collapsable: true, children: [ {title: '权限管理', path: '/api_test/advanced/permission/', collapsable: true, sidebarDepth: 2}, {title: '全局配置', path: '/api_test/advanced/global_config/', collapsable: true, sidebarDepth: 2}, {title: '项目管理', path: '/api_test/advanced/project_manager/', collapsable: true, sidebarDepth: 2}, { title: '接口管理', path: '/api_test/advanced/api_manager/', collapsable: true, children: [ {title: '接口操作', path: '/api_test/advanced/api_manager/api_opt/', collapsable: true, sidebarDepth: 2}, {title: '接口详情', path: '/api_test/advanced/api_manager/api_detail/', collapsable: true, sidebarDepth: 2}, {title: '统计分析', path: '/api_test/advanced/api_manager/api_sa/', collapsable: true, sidebarDepth: 2}, {title: 'YAPI同步', path: '/api_test/advanced/api_manager/yapi_sync/', collapsable: true, sidebarDepth: 2}, {title: '查重工具', path: '/api_test/advanced/api_manager/api_duplicate/', collapsable: true, sidebarDepth: 2}, ] }, { title: '用例管理', path: '/api_test/advanced/case_manager/', collapsable: true, sidebarDepth: 2, children: [ {title: '用例操作', path: '/api_test/advanced/case_manager/case_opt/', collapsable: true, sidebarDepth: 2}, {title: '用例设计', path: '/api_test/advanced/case_manager/case_design/', collapsable: true, sidebarDepth: 2}, ] }, {title: '测试执行', path: '/api_test/advanced/run_test/', collapsable: true, sidebarDepth: 2}, {title: '测试结果', path: '/api_test/advanced/test_result/', collapsable: true, sidebarDepth: 2}, {title: '附1:数据校验方法', path: '/api_test/advanced/validate_rules/', collapsable: true, sidebarDepth: 2}, {title: '附2:内建方法', path: '/api_test/advanced/builtin_functions/', collapsable: true, sidebarDepth: 2}, ] }, { title: '注意事项', path: '/api_test/attentions/', collapsable: true, children: [ {title: '需要处理的事', path: '/api_test/attentions/reclaim/', collapsable: true, sidebarDepth: 2}, {title: '用例设计规范', path: '/api_test/attentions/case_design_standard/', collapsable: true, sidebarDepth: 2}, ] }, { title: '开发手册', path: '/api_test/develop/', collapsable: true, children: [ {title: '背景', path: '/api_test/develop/background/', collapsable: true, sidebarDepth: 2}, {title: '技术栈与设计', path: '/api_test/develop/tech_design/', collapsable: true, sidebarDepth: 2}, { title: '后端接口实现', path: '/api_test/develop/backend/', collapsable: true, sidebarDepth: 2, children: [ {title: '表设计', path: '/api_test/develop/backend/models/', collapsable: true, sidebarDepth: 2}, {title: '过滤器', path: '/api_test/develop/backend/filters/', collapsable: true, sidebarDepth: 2}, {title: '序列化', path: '/api_test/develop/backend/serializers/', collapsable: true, sidebarDepth: 2}, {title: '接口响应', path: '/api_test/develop/backend/response/', collapsable: true, sidebarDepth: 2}, {title: 'DRF封装', path: '/api_test/develop/backend/drf/', collapsable: true, sidebarDepth: 2}, {title: 'DRF自定义', path: '/api_test/develop/backend/drf_custom/', collapsable: true, sidebarDepth: 2}, {title: '批量处理', path: '/api_test/develop/backend/drf_bulk/', collapsable: true, sidebarDepth: 2}, {title: '路由注册', path: '/api_test/develop/backend/urls/', collapsable: true, sidebarDepth: 2}, {title: '测试', path: '/api_test/develop/backend/test/', collapsable: true, sidebarDepth: 2}, ] }, {title: '执行引擎', path: '/api_test/develop/execution_engine/', collapsable: true, sidebarDepth: 2}, {title: '自定义内建方法', path: '/api_test/develop/new_builtin_functions/', collapsable: true, sidebarDepth: 2}, {title: '自定义校验方法', path: '/api_test/develop/new_validate_rules/', collapsable: true, sidebarDepth: 2}, {title: '任务管理', path: '/api_test/develop/task_manager/', collapsable: true, sidebarDepth: 2}, {title: 'YAPI同步', path: '/api_test/develop/yapi_sync/', collapsable: true, sidebarDepth: 2}, {title: '导入导出', path: '/api_test/develop/import_export/', collapsable: true, sidebarDepth: 2}, ] }, { title: '常见问题解答', path: '/api_test/qa/', collapsable: true, sidebarDepth: 2 } ] } ] } }
四、代码发布
关于发布问题:首先我们知道在打包后的文件都是静态文件之前的MD文件都被打包成html静态文件了,其次在文件config.js中 base至关重要。
-
通过服务器发布
在服务器上安装Apache或者nginx 这里拿nginx举例:至于nginx 安装 以及配置文件的解读使用 我这里就不详述了,不了解的可以自己查阅相关文件//为了简单明了 我们把打包好的文件放入nginx中html文件下 之前的文件可以清空 server { listen 8081; //监听8081端口 server_name localhost; //localhost:8081即可指向也可写别名如local.vuepress.com.cn 那我们访问这个端口的别名加端口就可以 location / { root /nginx/nginx-1.9.15/html; //至关重要你的入口文件在本机的位置 index index.html index.htm; //入口文件 } }
- 发布到GitHub,通过链接打开
详见 自动化测试平台开发(十二):部署 VuePress到 GitHub Pages
-------- THE END --------