当前位置: 首页 > 编程日记 > 正文

TestLink1.9.3测试用例:Excel转换XML工具一

最近在整理测试用例,所以想找一个合适的工具来完成对测试需求、测试用例的管理。对比了一翻,发现开源工具中扩展比较好的还属TestLink,而且还可以与JIRA进行对接,这样就引起了我更大的兴趣。加上之前本来就接触过此工具,只是源于各种原因没能深入去研究来着,这次也就是决心于此!于是就找来了Testlink的最新版1.9.3,将其搭建在Ubuntu Server上,很快我们就可以正常方访问了。不过说实话,Testlink界面确实很难看,不过毕竟它不是商业工具,而且可以自己去扩展并定制开发,这就是最大的优点了。

Testlink平台完成之后,接下来就要面临的是测试用例的管理,面临大量的测试用例excel表格,当然最便捷的就是能够快速的通过导入方式将所有的用例都导入到Testlink中,不过即便走到这一步,才发现原来开源的软件真是可爱有可恨。虽然1.9.3版本中导入用例选项中提供了XML和XLS两种格式来导入,但试过之后发现XLS格式导入excel,并不能导入成功,至于为何导不成功,我想基本是我们自己的excel文档格式与testlink内部定义不一致导致的,与其去研究他哪些格式不对,还不如尝试另一种方式XML导入。说到这里,便立刻去网上翻了一翻,发现没有现成可以用的工具以及方法,即便有一个,居然还是收费的~其实,Excel转换XML,基本思路都差不多,也就是将Excel单元格的数据取出来,然后通过一些拼凑,成为与XML格式一致,然后生成XML即可,不过这个中间的转换还是比较麻烦的,基本步骤如下:

1、首先,在Testlink中手动编写一个测试用例

2、然后,将刚才编写的用例导出一份XML格式

3、通过编辑工具打开XML文件,取其格式

4、通过脚本读取Excel文件以及单元格的内容

5、接着将读取的Excel单元格内容对应XML格式进行拼接,完成符合XML的格式

6、最后生成XML文件

思路基本上就是这样了,经过一番周折,我这里通过VBS来模拟完成了此过程,而且还有辅助界面,这样避免了因为不同文件不同路径而需要每次都修改源代码,界面基本实现如下:

1、先获取文件,这里需要输入绝对的文件路径和名称,如下图:

2、按照如上步骤,确定之后,需要输入读取的Excel中目标表格的名称,如下图:

3、接着以上步骤,确定之后,需要输入转换之后的XML文件保存的路径以及名称,如下图:

4、确定后待转换结束,会给出提示,并提示总共完成多少条数据的转换,如下图所示:

基本上通过如上四个步骤就能快速完成Excel转换XML,然后就可以通过转换之后的XML格式的文件导入TestLink的测试用例中,如果导入成功,则说明脚本正确地完成此了此功能~

下一章节中将会详细介绍代码的实现,并贴出源代码~

相关文章:

MYSQL 使用自定义表变量

mysql 用户自定义表变量,ENGINEMyISAM DEFAULT CHARSETgb2312; 制定编码方式,防止乱码 DROP TABLE IF EXISTS p_temp; create temporary TABLE p_temp ( RowIndex int ,PRIMARY KEY (RowIndex))ENGINEMyISAM DEFAULT CHARSETgb2312; 转载于:https:/…

early EOF fatal: index-pack failed

early EOF fatal: index-pack failed 原文链接: https://stackoverflow.com/questions/21277806/fatal-early-eof-fatal-index-pack-failed 内容: First, turn off compression: git config --global core.compression 0 Next, let’s do a partial clone to truncate the a…

linux下运行python unitest_Python unittest打印日志可以在Linux上运行,但在Windows上不行...

我正在尝试编写一个unittest,它将stdout和stderr重定向到一个写在Windows网络驱动器上的文件。出于某些原因,相同的脚本(只有diff.是目录路径)可以在Linux上工作,但在Windows上不行。在Windows上运行时,不会将任何内容写入日志文件…

emacs 探索之五:latex配置

最近需要使用Latex写论文,之前一直在用emacs,而且渐渐理解emacs的思想之后发现大多数事情都能够在emacs中完成,那么自然会想到emacs是否能够与latex相结合。Google一下发现好多方式,当前前提是需要安装latex软件,然后e…

自动填充脚本使用及注意事项

网站开发需要,找了几个js脚本,最后选择了jQuery Autocomplete Mod(http://www.pengoworks.com/workshop/jquery/autocomplete.htm) 稍作修改,改动处见中文注释 1 jQuery.autocomplete function(input, options) {2 …

FFmpeg 与媒体文件关系

1. 容器/文件(Container/File):即特定格式的多媒体文件,比如MP4,flv,mov等。 2. 媒体流(Stream):表示在时间轴上的一段连续的数据,比如一段声音数据、一段视频…

一些可能没用过的调试窗口

首先说明:如果没有进入调试模式的话,默认的调试窗口如下: 开始前的准备: 新建控制台程序DebugWindowDemo: 修改Program.cs 的代码为: using System; using System.Threading; using System.Threading.Tasks…

linux 系统崩溃完全没有操作空间的系统修复

linux 系统崩溃完全没有操作空间的系统修复 1、通过U盘系统启动 2、修复文件系统 https://editor.csdn.net/md/?articleId106213788 此时硬盘会被挂在到U盘系统下作为一个目录, 例如/dev/sda2 修复它: fsck -y /dev/sda2很多时候都有效 3、修复grub

搜索进程内存地址_Linux编程 6 (查看进程 ps 及输出风格)

一.查看进程命令ps1.1 默认ps 命令在默认情况下,ps命令只会显示运行在当前控制台下,属于当前用户的进程,在上图中,我们只运行了bash shell以及ps命令本身。 上图中显示了程序的进程ID(1538,1583),它们运行在…

关于最大子段和线性算法的证明

重复题目: 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。 此题最初载于 http://blog.csdn.net/v_JULY_v/article/details/6444021 我在文…

SQL Server使用侦听器IP访问时遇到The target principal name is incorrect. Cannot generate SSPI context...

SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context" 原文:SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context"在测试SQL Server 2016 Alwa…

linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

linuxQt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html D-Bus概述 什么是D-Bus? D-Bus是一种进程间通信的机制,它被设计成为一种低开销、低延迟的IPC,并被多种桌面环…

xbmc-12.0稳定版代码初探 (2) —— XBMC_HOME

XBMC工程在debug时要设置XBMC_HOME的环境 用于指定ffmpeg的Dll文件位置,语言等等 xbmc/filesystem/SpecialProtocol.cpp 定义了一些如: CSpecialProtocol::SetXBMCPath();的函数 xbmc\Application.cpp InitDirectoriesWin32(); -> CUtil::GetHomePat…

python是最好的语言 永远二十岁_Python是世界上最好的语言吗?

编程语言的选择是IT圈子永远的争议。在任意一个程序员聚集的场合,喊一句类似于“PHP是世界上最好的语言”这样的话,肯定会惹来不少人和你争论得面红耳赤。那么,python是世界上最好的语言吗?这个我不敢说,但是至少他应该…

(转)Android笔记--handler机制

一、重要参考资料 【参考资料】目前来看,下面的几个网址中的内容质量比较不错,基本不需要再读别的网址了。1、android消息机制一http://xtfncel.javaeye.com/blog/6635172、Android消息机制二http://xtfncel.javaeye.com/blog/6635183、Android线程间通信…

自制操作系统Antz(9)——实现内核 (下) 实现图形化界面

Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs.com/LexMoon/category/1267413.html Github项目地址:https://github.com/CasterWx/AntzOS 在前几天的任务中&#xff…

python迷宫万花筒代码_利用广度优先遍历搜索迷宫的python源代码

广度优先遍历简称为DFS,是数据结构中比较常用的一个算法,主要原理是采用队列先进先出的规则,一层一层的访问图的节点。而迷宫问题接近与遍历,但是不同于遍历,主要考虑是采用栈的形式标记路径,并对当前节点和…

联想拯救者Y9000-ubuntu-nvidia-驱动安装

概述 由于联想拯救者Y9000的硬件都比较新,所以在安装ubuntu 的时候会有很多驱动的问题,本文主要讲解安装nvidia驱动的问题,如网卡、触摸板无效的其他问题请在我的其他文章中查找 友情提示 安装完系统之后先插网线装ssh服务, 确…

修改远程桌面端口

修改远程桌面端口需要两个步骤:  1、打开注册表 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],修改右边PortNamber的值,其默认值是3389,修改成所希望的端口即可,例如3…

开发管理 CheckLists(4) -风险管理

本文章主要介绍在项目启动前怎么样分步骤的去识别风险,才去什么方式去识别风险. 有需要做风险识别的朋友可以按照下面的步骤简单的走上一遍,或者可以提高项目的成功率 注意:本文章只是你做风险识别的chekcLists ,上面提到的一些分析方法都只是简单的介绍…

python的深拷贝与浅拷贝

对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量. 并不是复制⼀份内容. 两个变量的内容其实为一个地址,如果要在复制的同时分配新的地址则需要用到深拷贝和浅拷贝的命令 lst1 ["何炅", "杜海涛","周渝⺠", ["麻花藤", …

safari post 请求接收不到_我是谁?我在哪?我要到哪去?——HTTP请求头

各位小白帽们好又到了新一期的知识点咯在正片开始之前再次提醒一下各位因为联盟管理的需要本周五(12月4日)5点半将会对各位在平台的答题分数进行统计筛选部分排名靠前的童鞋作为核心的正式会员考核压力来了大家是不是有点紧张呢只要积极学习知识积极参与答题向本AI卖萌要flag相…

SharePoint 2013 配置开发环境,需安装VS2012插件

SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有SharePoint 2013开发的支持,如下图: 然后,去网上查找资料,VS2012对SharePoin…

联想拯救者Y9000-ubuntu-U盘启动失败解决方法

注意事项 1、U盘要是USB3.0的U盘,否则基本会失败 安装到最后的时候报一个 cd/dvd 设备 low speed的故障 2、bios 设置 硬盘模式 选择 AHCImode 模式, 否则刷机不成功 3、 U盘镜像的烧录方式, 实测windows 下的rufus工具有效

RedHat Enterprise 5.1下OpenLDAP的配置及PAMNSS的配置

服务器端 192.1.0.160 客户机端 192.1.0.221 一、在服务器端配置LDAP服务: 1.下载 openldap-2.4.11.tar.gz和db-4.7.25.tar.gz 2.安装BerkeleyDB #rpm -qa|grep db # tar xvf db-4.7.25.tar.gz # cd db_4.7.25# cd build_unix/# ../dist/configure -prefix/usr/loca…

pwn with glibc heap(堆利用手册)

前言 ​ 对一些有趣的堆相关的漏洞的利用做一个记录,如有差错,请见谅。 ​ 文中未做说明 均是指 glibc 2.23 ​ 相关引用已在文中进行了标注,如有遗漏,请提醒。 简单源码分析 ​ 本节只是简单跟读了一下 malloc 和 free 的源码&am…

COCO KeyPoints关键点数据集准备

COCO KeyPoints关键点数据集准备 概述 网上搜了一圈,coco关键点数据集准备的内容比较少,这里写一篇完成的标注流程到数据集准备的文章,以备后忘 标注工具 coco官方标注工具: coco–annotator https://github.com/jsbroks/coco-annotator …

Boost 1.53.0 发布,可移植的C++标准库

Boost 1.53.0 发布了,包含了 5 个新的库,修复了一些安全漏洞以及 Boost.Locale 组件的 bug 。 新增的 5 个库包括: Boost.AtomicBoost.CoroutineBoost.MultiprecisionBoost.Numeric.OdeintBoost.Lockfree完整改进记录说明请看 changelog 下载…

华为云客户端_从技术角度解读华为云手机之于普通用户的可行性

9月1日,华为云宣布,华为首创全球首个ARM芯片的“云手机”正式公测。此消息一出,普通消费市场一片赞美之声,想必大家更多的想法是终于让华为找到了一个应对当前手机困局的解决方案了。据悉,华为云鲲鹏手机早在今年3月就…

c#获取应用程序目录

string str1 Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。//备注 按照定义,如果该进程在本…