Xmind用例导入到TAPD的解决方案

 更新时间:2022年07月28日 08:44:28   作者:测试超有范  
这篇文章主要介绍了Xmind用例导入到TAPD的方案,大家都知道XMind2TestCase ,该工具基于 Python 实现,通过制定测试用例通用模板,然后使用 XMind 这款广为流传且开源的思维导图工具进行用例设计,需要的朋友可以参考下

概述

本方案使用的是,参考开源项目XMind2TestCase的实现逻辑,按照TAPD导入的格式,把XMind2TestCase项目的表头以及数据做一定修改,使生成的数据符合tapd的导入要求。

XMind2TestCase项目介绍

XMind2TestCase ,该工具基于 Python 实现,通过制定测试用例通用模板
然后使用 XMind 这款广为流传且开源的思维导图工具进行用例设计。
其中制定测试用例通用模板是一个非常核心的步骤(具体请看(附件包里面doc/readme)),有了通用的测试用例模板,我们就可以在 XMind 文件上解析并提取出测试用例所需的基本信息,
然后合成常见测试用例管理系统所需的用例导入文件。这样就将 XMind 设计测试用例的便利常见测试用例系统的高效管理结合起来了!
当前 XMind2TestCase 已实现从 XMind 文件到 TestLink 和 Zentao(禅道) 两大常见用例管理系统的测试用例转换,同时也提供 XMind 文件解析后的两种数据接口
(TestSuites、TestCases两种级别的JSON数据),方便快速与其他测试用例管理系统打通。

项目地址:XMind2TestCase
项目介绍及使用(网盘包里面):xmind2testcase-master\README.md(这个必看,不然不知知道怎么实现喔!!!)

百度网盘链接

链接: https://pan.baidu.com/s/1VDTyBd5_QDPc7kfgjuvWHw?pwd=e15m 提取码: e15m 

具体修改点

#修改表头
def xmind_to_zentao_csv_file(xmind_file):
    """Convert XMind file to a zentao csv file"""
    xmind_file = get_absolute_path(xmind_file)  #路径处理
    logging.info('Start converting XMind file(%s) to zentao file...', xmind_file)
    testcases = get_xmind_testcase_list(xmind_file) #解析xmind文档,得到原始数据
    # print("testcases",testcases)
    #fileheader =      ["所属模块","用例标题","前置条件","步骤", "预期", "关键词>用例状态", "优先级", "用例类型", "适用阶段?"]
    fileheader_tapd = ["用例目录","用例名称","需求ID","前置条件","用例步骤","预期结果","用例类型","用例状态","用例等级","创建人","测试结果","备注说明"]
 
    zentao_testcase_rows = [fileheader_tapd]
    for testcase in testcases:
        #row = gen_a_testcase_row(testcase)
        row = gen_a_testcase_row_tapd(testcase)
        zentao_testcase_rows.append(row)
    zentao_file = xmind_file[:-6] + '.csv'
    if os.path.exists(zentao_file):  #判断括号里的文件是否存在
        os.remove(zentao_file)
        # logging.info('The zentao csv file already exists, return it directly: %s', zentao_file)
        # return zentao_file
 
    with open(zentao_file, 'w', encoding='utf8') as f:
        writer = csv.writer(f)
        writer.writerows(zentao_testcase_rows)
        logging.info('Convert XMind file(%s) to a zentao csv file(%s) successfully!', xmind_file, zentao_file)
 
    return zentao_file
    
#修改为tapd的数据格式、增加获取需求ID
def gen_a_testcase_row_tapd(testcase_dict):
 
    #用例标题
    case_title = testcase_dict['name']
    #需求ID         产品名称里的目录获取  
    requirement_id, product_catalog = gen_requirement_id(testcase_dict['product'])
    # 所属模块
    case_module =product_catalog +"-" + gen_case_module(testcase_dict['suite'])
 
    #前置条件
    case_precontion = testcase_dict['preconditions']
    #步骤       预期结果
    case_step, case_expected_result = gen_case_step_and_expected_result(testcase_dict['steps'])
    #用例类型
    case_type = gen_case_type(testcase_dict['execution_type'])
    # case_type = "功能测试"
    #用例状态
    case_status = "正常"
    #用例等级
    case_priority = gen_case_priority(testcase_dict['importance'])
    #创建人
    case_created_by = ""
    #测试结果
    case_actual_result= ""
 
    row = [case_module,case_title,requirement_id,case_precontion,case_step,case_expected_result,case_type,case_status,case_priority,case_created_by,case_actual_result]
    return row
 
#修改用例类型
def get_execution_type(topics):
    labels = [topic.get('label', '') for topic in topics]
    labels = filter_empty_or_ignore_element(labels)
    exe_type = 1
    for item in labels[::-1]:
        if item.lower() in ['性能测试', '性能']:
            exe_type = 2
            break
        if item.lower() in ['功能测试', '功能']:
            exe_type = 1
            break
        if item.lower() in ['安全测试', '安全','安全性测试']:
            exe_type = 3
            break
        if item.lower() in ['其他']:
            exe_type = 4
            break
    return exe_type

使用方法

1、安装库:pip3 install xmind2testcase
2、xmind模板及说明(格式要求里面描述很清晰了):xmind2testcase-master\docs\zentao_testcase_template.xmind
3、运行方式:①运行zentao.py ②使用webtool工具(可放再服务器上多人使用)

 其他:

使用案例,好久之前写的,基本能用,最终没有在项目推行,这里共享给大家。

链接: https://pan.baidu.com/s/1VDTyBd5_QDPc7kfgjuvWHw?pwd=e15m 提取码: e15m 

特别说明:
1、标签的测试方式已改成:功能测试、性能测试、安全测试、其他
2、根名称做了适用tapd的处理,如下图结构:【ID1016373】SIT-V2.6.3 - 2021春节活动二-
【ID1016373】是需求ID,要需求ID则必须要带【】,且放在前面,没有需求ID则不写这个【】,则结果为空
SIT-V2.6.3 - 2021春节活动二:是在TAPD的目录路径

到此这篇关于Xmind用例导入到TAPD的方案的文章就介绍到这了,更多相关Xmind导入到TAPD内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Grafana 系列之统一展示Prometheus数据源

    Grafana 系列之统一展示Prometheus数据源

    这篇文章主要为大家介绍了Grafana 系列之统一展示Prometheus数据源配置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • hadoop迁移数据应用实例详解

    hadoop迁移数据应用实例详解

    这篇文章主要介绍了hadoop迁移数据应用实例,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • git合并部分提交的实现

    git合并部分提交的实现

    在进行Git合并某一次提交时,有时会出现冲突,本文主要介绍了git合并部分提交的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • 微信报警 zabbix实现详解

    微信报警 zabbix实现详解

    这篇文章主要介绍了微信报警 zabbix方法的相关资料,需要的朋友可以参考下
    2016-09-09
  • HTTP缓存之ETag使用经验及效果

    HTTP缓存之ETag使用经验及效果

    服务器首先产生ETag,服务器可在稍后使用它来判断页面是否已经被修改。本质上,客户端通过将该记号传回服务器要求服务器验证其(客户端)缓存。这种机制允许缓存更有效并节省带宽,因为如果内容没有更改,Web 服务器不再需要发送完整的响应。
    2023-05-05
  • 多种语言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的网页编码切换解决方案归纳

    多种语言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的网页编码切换解决方案归纳

    多种语言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的网页编码切换解决方案归纳
    2012-06-06
  • 分享下网站开发人员应该知道的61件事

    分享下网站开发人员应该知道的61件事

    有人在Stack Overflow上发问,动手开发网站之前,需要知道哪些事情,这里简单为大家整理下,方便需要的朋友
    2014-03-03
  • Vscode ChatGPT插件使用(无需代理注册)

    Vscode ChatGPT插件使用(无需代理注册)

    本文主要介绍了Vscode ChatGPT插件使用(无需代理注册),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Elasticsearch在应用中常见错误示例解析

    Elasticsearch在应用中常见错误示例解析

    这篇文章主要为大家介绍了Elasticsearch在应用中常见错误示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Ceph分布式存储集群Pool资源池简介及使用小结

    Ceph分布式存储集群Pool资源池简介及使用小结

    这篇文章主要介绍了Ceph分布式存储集群Pool资源池的概念以及使用,Pool资源池是Ceph存储数据的逻辑分区,起到Namespace命名空间的作用,本文给大家介绍的非常详细,需要的朋友参考下吧
    2022-06-06

最新评论