开源一个 vue 版的脑图编辑器,数据上已兼容 agiletc 的测试结果格式

本文主要是介绍开源一个 vue 版的脑图编辑器,数据上已兼容 agiletc 的测试结果格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文由 陈恒捷 发表于TesterHome社区网站,原文链接

背景

由于公司测试平台前端框架用的是 vue ,且年初 agiletc 还不支持百度脑图原生支持的从 xmind 复制粘贴至脑图组件,快捷键也不够好用,且前端组件没开源。因此基于社区内其他已有的开源脑图组件,再仿照 agiletc 的脑图组件包了一层。

很早就确认了可以开源,但一直有别的事情忙没空弄。刚好这周末又有同学私聊我,所以花了点时间把公司私库相关信息改为外部 npm 的,进行开源。

支持功能:

1、百度脑图原有功能(节点编辑、优先级设置、自定义标签设置)
2、测试结果登记,数据格式和 agiletc 现有脑图组件的格式一致,即可以直接正确展示和编辑现有 agiletc 自带编辑器设置的测试结果
3、当前选中节点个数统计,在顶部标题栏加了个当前选中节点个数统计数据的文字

相比 agiletc 少了的功能:

1、脑图本身自带的导入导出功能(agiletc 服务端有提供,所以前端就不提供了)
2、添加图片(百度脑图本身就没有)
3、实时上报及更新脑图数据

在此特别感谢 fudax、MeYoung 两位前辈的开源贡献,我只是站在大家的肩膀上补充了一些边角功能而已

开源地址

GitHub - chenhengjie123/vue-testcase-minder-editor: 基于百度脑图的用例编辑器组件,支持记录测试结果

效果

也可以本地跑起来体验,克隆完代码后,在根目录下:

# 安装依赖
npm --registry=https://registry.npm.taobao.org install# 本地运行
npm run lib && npm run serve

运行后,按照提示的地址打开即可,例如

App running at:
- Local:   http://localhost:8081 

表示通过 http://localhost:8081 可以打开

项目中使用

安装本组件

npm --registry=https://registry.npm.taobao.org install vue-testcase-minder-editor

在 main.js 中

import 'vue-testcase-minder-editor/lib/VueTestcaseMinderEditor.css'
import VueTestcaseMinderEditor from 'vue-testcase-minder-editor'Vue.use(VueTestcaseMinderEditor)

本组件依赖 vuex 进行部分全局配置管理。如果没有用 vuex ,可直接在 main.js 加入下面代码。

Vue.use(Vuex)
const store = new Vuex.Store({modules: {caseEditorStore: VueTestcaseMinderEditor.caseEditorStore}
})

如果有,可以仿照下面代码,动态注册对应 module

const store = new Vuex.Store({...})// 动态注册用例编辑器项目的 store 模块到项目中
store.registerModule('caseEditorStore', {...VueTestcaseMinderEditor.caseEditorStore
})

在页面的 .vue 文件中

<template><VueTestcaseMinderEditor :initJson="initJson"  // 初始化数据,加载脑图时自动更新。同时也会监听数据变化,数据一更新就重新加载ref="minderEditor"    // 组件应用名称:allowEditPriority="true"  // 是否允许增删改优先级,实时更新状态:allowEditLabel="true"     // 是否允许增删改标签,实时更新状态:allowEditResult="true"    // 是否允许增删改测试结果,实时更新状态:allowEditNode="true">     // 是否允许增删改节点内容,实时更新状态</VueTestcaseMinderEditor>
</template>
...<scripts>export default {...data() {return {// 测试数据,实际可不必引入initJson: {'data': {'id': 2,'text': 'Design project','image': 'https://testerhome.com/uploads/user/avatar/6109.jpg','imageSize': { 'width': 200, 'height': 200 }}}}},methods: {// 示例方法,实际可根据需要绑定到其他元素事件中,比如 v-on:click="logCurrentData"logCurrentData: function(event) {console.log("编辑器中的最新用例内容:", this.$refs.minderEditor.getJsonData())}}
}
<scripts>

完整示例可查看 examples 下面的 2 个文件

更多信息

更多信息,请查看 GitHub - chenhengjie123/vue-testcase-minder-editor: 基于百度脑图的用例编辑器组件,支持记录测试结果

最后

有些 eslint 之类的问题因为本身原有代码就有比较多问题,不影响功能但会有一堆红线。修复起来比较耗时所以暂时没动,请大家见谅。

如果代码方面有什么优化建议,也欢迎提出,甚至直接提 PR 优化哈!


收获前沿测试开发技术 · 学习先进质量管理方法 · 结识测试大咖行业精英

这篇关于开源一个 vue 版的脑图编辑器,数据上已兼容 agiletc 的测试结果格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/424108

相关文章

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加