• 【测试开花】七、接口测试-前端-模块树和接口列表


    基于 springboot+vue 的测试平台开发继续更新。

    一、功能简介

    今天的目标是画一个接口管理列表的前端页面。本来我也想去弄个简单的原型图先,但是搜了个网页工具一时半会也不会用,作罢。

    最终决定直接用 elementUI 的组件拼一个出来。直到最后完成用了大半天时间,很显然这个页面对我来说还是有点复杂的。

    比起项目管理的一个table页,这里的内容多了很多。自然也就遇到了不少之前不太会的前端知识,通过查看 elementUI 官方文档、搜索引擎等方式,逐个去解决,也算有些收获。

    先放出初版完成的页面,简述一下页面功能。

    整个页面分为 2 个区域:

    左侧区域

    是一个模块树。

    • 一个项目对多个模块
    • 一个模块下可以有多个子模块
    • 一个模块对多个 API、CASE
    • 一个 API 下有多个 CASE

    另外还可以快速搜索模块结点,搜索框右侧还有一个按钮,用来创建接口,新增页面我还没画,这个后续再说。

    右侧区域

    这里主要就是列表的展现了。

    可以在【项目管理】列表里直接点击一个项目跳转过来。如果直接进入到接口列表页,会自动选择一个默认的项目。右上角也有个查询框,支持多种条件的查询。

    至于那 2 个按钮:API 和 CASE,我是想点击之后可以切换展示对应的列表,因为对应的模块树是一样的,所以觉得没必要再整一个新页面。

    最后在列表记录的最右固定住了操作栏,里面共有 5 个按钮,其中每样都对应不同的功能:

    • 【执行】:可以用来调试接口,类似于使用 postman 。
    • 【编辑】:可以修改接口内容。
    • 【用例】:点击跳转到此接口的 CASE 列表页。
    • 【删除】:用来删除接口,连带删除此接口下的 CASE,届时估计后端是做逻辑删除。
    • 【复制】:复制当前记录的接口内容,方便快速创建。

    这里的每个功能都不简单,后续充满了挑战,对应的收获肯定也会满满。

    二、拼页面思路

    主要思路还是到 elementUI 找组件,然后复制代码,修改代码。但是这个期间遇到的注意点值得记录一下,仅供参考。

    1. 布局容器

    最开始就是要如何实现左右的这种布局了,打开组件网址最上面第二个就是 Container 布局容器。

    用于布局的容器组件,方便快速搭建页面的基本结构。往下翻可以看到好几种布局示例图,说实话最开始没怎么看懂。

    不过继续往下翻,有唯一的一个页面代码示例,刚好符合我左右布局的需求,先拷过来。

    大概要修改的内容就有眉目了,接下来就是找对应的组件,复制粘贴改代码了。

    流水账就不记了,有问题需要交流的可以私信我。下面是使用各组件时关注到的知识点。

    2. Tree 树形控件

    使用的是右边的控件,复制代码的时候注意要复制对应的。

    • show-checkbox 属性,就是结点前的勾选框,不需要就去掉。
    • default-expand-all ,默认展开全部
    • :expand-on-click-node="false",默认是 true,当新增一个节点后不自动展开。我这需要自动展开,改成 false。

    另外我把按钮换成了图标,用法超简单:

    class 里具体用哪个图标到组件里找即可:

    横向滚动条

    当节点名称过长,超过侧边区域的宽度,需要可以横向滚动。之前网上搜了不少办法,都不行。

    最后发现在 style 里加上display: flex就可以了。

    Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

    后面还给左侧加了点样式,比如分割线、阴影:

    <style>
      .el-aside {
        color: #333;
        border-right-style: solid;
        border-color: #f4f4f5;
        box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)
      }
    </style>
    

    其实这种也不太美观,但是目前不考虑这些,先完成功能,后期再迭代优化。

    3. div与span

    拼右侧也很简单了,分别对应着 2 个标签:<el-header><el-main>,把对应的组件放到对应的标签里即可。

    但是在给<el-header>添加一个查询输入框的时候,发现页面确看不出来。

    不显示输入框。

    后来发现不应该再包一个div,改成span就好,或者放到2个按钮的 span 标签里也可以。

    <div>元素是块级元素,它是可用于组合其他 HTML 元素的容器。用标签把多个元素包起来,就相当于他们是一伙儿的了,改样式啥的直接对标签修改,全部受用。

    <span>元素是内联元素,可用作文本的容器。

    这2个标签通常可以理解为没有什么区别,但注意的是div占用一行,span不会占用一行,内容占多大宽度,span就有多宽

    接下来就是对应各种功能的后端实现,有得搞了。

    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    基于SpringMVC框架使用ECharts3.0实现堆叠条形图的绘制(下篇)
    使用Poi对EXCLE的导入导出
    使用JXL对EXCLE的导入导出
    在线API
    Java中使用poi导入、导出Excel
    SpringMVC框架下使用jfreechart绘制折线图,柱状图,饼状图
    让div在屏幕中居中(水平居中+垂直居中)的几种方法
    如何使用Canvas及动画实现
    $state、$watch、$scope、$rootScope分别是什么?
    【修真院“善良”系列之三】技术面试的时候该怎么样介绍自己?
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/15336157.html
Copyright © 2020-2023  润新知