前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从0到1开发测试平台(十五)性能测试用例管理页面的编写

从0到1开发测试平台(十五)性能测试用例管理页面的编写

作者头像
周辰晨
发布2021-03-19 17:59:42
7610
发布2021-03-19 17:59:42
举报

| 前言

上一讲讲解了测试管理页面对应的后台接口,这一节我们主要讲解测试用例管理页面的编写,先上一张写完之后的效果图

该页面主要的功能包括:执行增删改查测试用例,运行测试用例,监控测试用例执行过程。这一讲我们讲解测试用例的增删改查页面实现。

| 添加性能测试用例管理组件

(1)添加性能测试用例管理页面路由

代码语言:javascript
复制
import PerformanceTestCaseManage from '../components/performance/PerformanceTestCaseManage.vue'
{path:'/performanceTestCaseManage',component:PerformanceTestCaseManage}

(2)添加性能测试管理页面

代码语言:javascript
复制
<template>    <div>        <h3>Performance Testcase Manage</h3>    </div></template><script>    export default {}</script><style lang="less" scoped></style>

| 添加面包屑组件

什么是面包屑呢?说白了就是面包屑导航的缩写,从下面截图你便能很好的理解

(1)导入面包屑组件

代码语言:javascript
复制
import { Button,Form,FormItem,Input,Message,Container,Header,Aside,Main,Menu, Submenu,MenuItem, Breadcrumb, BreadcrumbItem } from 'element-ui'
Vue.use(Breadcrumb)Vue.use(BreadcrumbItem)

(2)在性能测试用例管理页面添加面包屑代码

代码语言:javascript
复制
<el-breadcrumb separator="/">            <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>            <el-breadcrumb-item><a href="/">性能测试</a></el-breadcrumb-item>            <el-breadcrumb-item>用例管理</el-breadcrumb-item>        </el-breadcrumb>

| 添加内容卡片

那么什么是卡片呢?就是用来放管理页面的表格的大白色块,如下图

(1)导入卡片组件

代码语言:javascript
复制
import { Button,Form,FormItem,Input,Message,Container,Header,Aside,Main,Menu, Submenu,MenuItem, Breadcrumb, BreadcrumbItem, Card } from 'element-ui'
Vue.use(Card)

(2)在性能测试用例管理页面添加卡片代码

| 添加页面头部搜索区域

(1)导入行和列组件

代码语言:javascript
复制
import { Button,Form,FormItem,Input,Message,Container,Header,Aside,Main,Menu, Submenu,MenuItem, Breadcrumb, BreadcrumbItem, Card, Row,Col } from 'element-ui'
Vue.use(Row)Vue.use(Col)

(2)在性能测试用例管理页面添加搜索区域代码

代码语言:javascript
复制
<el-card>            <el-row :gutter="20">                <el-col :span="8">                    <el-input placeholder="请输入内容">                        <el-button slot="append" icon="el-icon-search"></el-button>                    </el-input>                </el-col>                <el-col :span="4">                    <el-button type="primary">添加用例</el-button>                </el-col>            </el-row>        </el-card>

| 获取列表数据

代码语言:javascript
复制
export default {        data(){            return {                queryInfo:{                    pageNum: 1,                    pageSize: 10                },                performanceCaseList:[],                total:0            }        },        created() {            this.getPerformanceCaseList();        },        methods:{            async getPerformanceCaseList(){                const {data:res} = await this.$http.get('performance/queryAll',{params: this.queryInfo})                if (!res.success) return  this.$message.error(res.message);                this.$message.success(res.message);                this.performanceCaseList = res.data                this.total = res.pageInfo.total                console.log("performanceCaseList:" + this.performanceCaseList)            }        }    }

| 渲染列表数据

(1)导入表格相关组件

代码语言:javascript
复制
import { Button,Form,FormItem,Input,Message,Container,Header,Aside,Main,Menu, Submenu,MenuItem, Breadcrumb, BreadcrumbItem, Card, Row,Col,Table,TableColumn } from 'element-ui'
Vue.use(Table)Vue.use(TableColumn)

(2)编写列表渲染相关代码

代码语言:javascript
复制
<el-table :data="performanceCaseList" stripe border>                <el-table-column type="index"></el-table-column>                <el-table-column label="用例名" prop="caseName"></el-table-column>                <el-table-column label="项目名" prop="projectName"></el-table-column>                <el-table-column label="模块名" prop="moduleName"></el-table-column>                <el-table-column label="脚本名称" prop="scriptName"></el-table-column>                <el-table-column label="脚本数据名称" prop="scriptName"></el-table-column>                <el-table-column label="操作人" prop="operator"></el-table-column>                <el-table-column label="创建时间" prop="createDate" width="140px"></el-table-column>                <el-table-column label="修改时间" prop="lastUpdateDate" width="140px"></el-table-column>                <el-table-column label="操作" width="120px">                    <template slot-scope="scope">                        <el-button type="primary" icon="el-icon-edit" size="mini"></el-button>                        <el-button type="danger" icon="el-icon-delete" size="mini"></el-button>                    </template>                </el-table-column>            </el-table>

| 实现分页显示效果

(1)引入分页组件

代码语言:javascript
复制
import { Button,Form,FormItem,Input,Message,Container,Header,Aside,Main,Menu, Submenu,MenuItem, Breadcrumb, BreadcrumbItem, Card, Row,Col,Table,TableColumn,Pagination } from 'element-ui'
Vue.use(Pagination)

(2)编写分页相关代码

代码语言:javascript
复制
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryInfo.pageNum" :page-sizes="[1, 2, 5, 10]" :page-size="queryInfo.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
代码语言:javascript
复制
methods:{            // <!--监听pagesize变化-->            handleSizeChange(newSize){                console.log(newSize)                this.queryInfo.pageSize = newSize                this.getPerformanceCaseList()            },            // <!--监听页码值变化-->            handleCurrentChange(newPage){                console.log(newPage)                this.queryInfo.pageNum = newPage                this.getPerformanceCaseList()            }        }

| 实现点击搜索按钮搜索出匹配文本框内容的用例

给搜索按钮绑定获取用例列表方法,并且给输入框绑定queryInfo.query属性

代码语言:javascript
复制
<el-input placeholder="请输入用例名" v-model="queryInfo.query">                        <el-button slot="append" icon="el-icon-search" @click="getPerformanceCaseList"></el-button>                    </el-input>

| 清空搜索内容并返回所有用例

(1)为Input添加clearable属性

(2)添加input clear事件,并且绑定方法getPerformanceCaseList

| 用例添加对话框实现

(1)导入dialog组件

代码语言:javascript
复制
import { Button,Form,FormItem,Input,Message,Container,Header,Aside,Main,Menu, Submenu,MenuItem, Breadcrumb, BreadcrumbItem, Card, Row,Col,Table,TableColumn,Pagination,Dialog } from 'element-ui'
Vue.use(Dialog)

(2)dialog代码编写

代码语言:javascript
复制
<el-dialog title="添加性能测试用例" :visible.sync="addDialogVisible" width="50%">            <span>这是一段信息</span>            <span slot="footer" class="dialog-footer">                <el-button @click="addDialogVisible = false">取 消</el-button>                <el-button type="primary" @click="addDialogVisible = false">确 定</el-button>            </span>        </el-dialog>

(3)data里添加addDialogVisible属性

(4)添加用例按钮绑定addDialogVisible=true

代码语言:javascript
复制
<el-button type="primary" @click="addDialogVisible = true">添加用例</el-button>

| 结尾

前端的页面写法大同小异,需要组件的时候直接去element-ui官网找下,都有现成的例子,至此前端界面的编写这节结束,不过多赘述,下一节(也是本系列最后一节)主要讲述性能测试用例平台怎么借助jmeter提供的api来实现性能测试的主要代码。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师影响力 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
测试管理
CODING 测试管理(CODING Test Management,CODING-TM)为您提供井然有序的测试协同管理工具服务,从测试用例库管理、制定测试计划,到协作完成测试任务,为测试团队提供敏捷测试工作方式,提高测试与研发团队的协同效率。提供可视化的工作视图以及数据报告,随时把控测试进度和规划。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档