以下是通过VBScript实现的Excel数据转换成XML格式,主要用于实现Testlink1.9.3~1.9.10的测试用例导入。代码实现如下:

根据到处的测试用例xml,定义一下我的Excel的格式如下:

编号 用例名称 摘要 重要性 测试方式 前提 步骤 期望结果 实际结果
1 2 3 4 5 6 7 8 9

如果还没有开始写用例的,可以一依据这个模板,在excel中编写用例,以下脚本是按照单元格的顺序读取的,所以这里的格式要调整,脚本中也要做相应的调整。

脚本实现如下:

Dim objexcel,objworkbook,objsheet,objxml_inter,objxml,totalrow,row,id,excelStr'========================================
'创建Excel对象,关闭Excel对象--函数
'=========================================
Function getExcel(excelname, excelpath)
Set objexcel = CreateObject("excel.application")
Set objworkbook = objexcel.Workbooks.Open(excelpath)
Set objsheet = objworkbook.Sheets(excelname)
End FunctionFunction clsExcel()
objworkbook.Close
End Function
'============================================Function dealStr(excelStr)For id=2 To 8excelStr = Replace(excelStr,id&"、","<br/>"&id&"、")excelStr = Replace(excelStr,id&".","<br/>"&id&".")NextdealStr=excelStr
End Function'========================
'获取Excel单元格数据,并将XML的格式写入到对应的单元格,之后通过创建XML对象生成XML文件
'========================
Function getExcelData()
row=2
objxml_inter=""
Do While Not (objsheet.cells(row,2).value="")'internalid
objxml_inter=objxml_inter&CStr("<testcase internalid=""")  '
objxml_inter=objxml_inter&CStr(dealStr(objsheet.cells(row,1))) '内部用例编号
objxml_inter=objxml_inter&CStr(""" name=""")'caseName
objxml_inter=objxml_inter&CStr(dealStr(objsheet.cells(row,2))) '用例名称
objxml_inter=objxml_inter&CStr(""">")objxml_inter=objxml_inter&CStr("<node_order><![CDATA[0]]></node_order>")'externalid
objxml_inter=objxml_inter&CStr("<externalid><![CDATA[")
objxml_inter=objxml_inter&CStr(dealStr(objsheet.cells(row,1))) '外部用例编号
objxml_inter=objxml_inter&CStr("]]></externalid>")'summary
objxml_inter=objxml_inter&CStr("<summary><![CDATA[<p>")
objxml_inter=objxml_inter&CStr(dealStr(objsheet.cells(row,3))) '摘要
objxml_inter=objxml_inter&CStr("</p>]]></summary>")'preconditions
objxml_inter=objxml_inter&CStr("<preconditions><![CDATA[<p>")
objxml_inter=objxml_inter&CStr(dealStr(objsheet.cells(row,6))) '前置条件
objxml_inter=objxml_inter&CStr("</p>]]></preconditions>")'execution_type    '执行方式
objxml_inter=objxml_inter&CStr("<execution_type><![CDATA[1]]></execution_type>")'importance    '重要性
objxml_inter=objxml_inter&CStr("<importance><![CDATA[2]]></importance>")'steps
objxml_inter=objxml_inter&CStr("<steps>")'step
objxml_inter=objxml_inter&CStr("<step>")'step_number
objxml_inter=objxml_inter&CStr("<step_number><![CDATA[1]]></step_number>")'action
objxml_inter=objxml_inter&CStr("<actions><![CDATA[<p>")
objxml_inter=objxml_inter&CStr(dealStr(objsheet.cells(row,7))) '测试步骤
objxml_inter=objxml_inter&CStr("</p>]]></actions>")'expectedresults
objxml_inter=objxml_inter&CStr("<expectedresults><![CDATA[<p>")
objxml_inter=objxml_inter&CStr(dealStr(objsheet.cells(row,8))) '预期结果
objxml_inter=objxml_inter&CStr("</p>]]></expectedresults>")'execution_type
objxml_inter=objxml_inter&CStr("<execution_type><![CDATA[1]]></execution_type>")objxml_inter=objxml_inter&CStr("</step>")
objxml_inter=objxml_inter&CStr("</steps>")objxml_inter=objxml_inter&CStr("</testcase>")'CStr(objsheet.cells(x,1)),CStr(objsheet.cells(x,2))
'MyFile.Write(objxml_inter)
'WScript.Echo x-1
row=row+1
Loop
totalrow = row-2
End Function'========================
'创建XML文件
'========================
Sub CreateXML
Dim fileObj, XmlFile
Set fileObj = CreateObject("Scripting.FileSystemObject")
Set XmlFile = fileObj.CreateTextFile(XMLname, True)
'xml title
objxml=CStr("<?xml version=""1.0"" encoding=""GBK""?>")
objxml=objxml&CStr("<testcases>")
objxml=objxml&objxml_inter
objxml=objxml&CStr("</testcases>")
XmlFile.Write(objxml)
XmlFile.Close
End Subexcelpath = Inputbox("请输入Excel文件正确的路径名和文件名:","TestLink 1.9.10小助手: Excel转换XML工具")If excelpath = "" ThenMsgBox "文件名不能为空!"WScript.Quit
ElseIf InStr(excelpath,".xls") < 1 ThenMsgBox "文件名格式不对!"WScript.Quit
End    Ifexcelname = InputBox("请输入Excel中所要操作的表格名称:","TestLink 1.9.10小助手: Excel转换XML工具")If excelname = "" ThenMsgBox "文件名不能为空!"WScript.Quit
End IfXMLname = InputBox("请输入转换之后的XML文件保存路径和名称:","TestLink 1.9.10小助手: Excel转换XML工具")
If XMLname = "" ThenMsgBox "文件名不能为空!"WScript.Quit
ElseIf    InStr(XMLname,".xml") < 1 ThenMsgBox "文件名格式不对!"WScript.Quit
End    If'初始化excel对象
Call getExcel(excelname, excelpath)
'读入Excel数据
Call getExcelData()
'写入数据, XML
CreateXML
'关闭Excel对象
Call clsExcel()'提示信息
MsgBox "完成从Excel到XML的数据转换,总共"+CStr(totalrow)+"条!"

脚本保存本地,选择编码方式为unicode,后缀名为.vbs

2014-7-11-log:解决导入用户提示外部用例ID相同的问题,直接取excel表中的用例编号,所以excel表中的用例编号是不能相同的,应该是唯一的。

TestLink测试用例:Excel转换XML工具二实现代码相关推荐

  1. 转:TestLink1.9.3测试用例:Excel转换XML工具二实现代码

    TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码 http://blog.csdn.net/candle806/article/details/7490599 以 ...

  2. TestLink学习七:TestLink测试用例Excel转换XML工具

    TestLink对于测试用例的管理来说,是蛮强大的,但是在导入导出这块,功能有点弱,本文针对测试用例的导入,转载了一个Excel转换成xml工具. 1.根据到处的测试用例xml,定义一下我的Excel ...

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

    最近在整理测试用例,所以想找一个合适的工具来完成对测试需求.测试用例的管理.对比了一翻,发现开源工具中扩展比较好的还属TestLink,而且还可以与JIRA进行对接,这样就引起了我更大的兴趣.加上之前 ...

  4. python excel转xml 用例_测试用例Excel转XML格式教程

    运行环境: Python版本:Python2.7.15 第三方库:pywin32 Excel版本:Excel2016 1.安装Python2.7.15 1)下载Python安装包 进入Python官网 ...

  5. excel转换成html工具,Convert Excel to HTML(Excel转HTML工具) V29.11.15 官方版

    Convert Excel to HTML 是一款简洁实用的批处理HTML转换器,转换Excel到HTML和MHT格式文件.它允许您在一个或多个Excel文件中将每个Excel表转换为新的HTML和M ...

  6. Java汉字转换拼音工具类

    1. 使用pinyin4j 1.1 引入相关maven依赖 <dependency><groupId>com.belerweb</groupId><artif ...

  7. TestLink在线Excel用例转换xml

    [原文链接]:https://blog.tecchen.xyz ,博文同步发布到博客园. 由于精力有限,对文章的更新可能不能及时同步,请点击上面的原文链接访问最新内容. 欢迎访问我的个人网站:http ...

  8. java对象转excel_Java对象和Excel转换工具XXL-EXCEL

    一.简介 概述 XXL-EXCEL 是一个灵活的Java对象和Excel文档相互转换的工具. 一行代码完成Java对象和Excel之间的转换. 特性1.Excel导出:支持Java对象装换为Excel ...

  9. 把Excel转换成xml文件

    /*** 读取Excel并转换* @param file 获取到的文件* @return Map<String,List<String>> 把表头和表体以键值对的形式保存*/p ...

最新文章

  1. 高精度垃圾分类模型开发与硬件集成
  2. centos python 安装
  3. [Python图像识别] 四十八.Pytorch构建Faster-RCNN模型实现小麦目标检测
  4. C/C++基本类型字节
  5. TWebBrowser的常见属性和方法
  6. PAT1036.跟奥巴马一起编程
  7. MySQL下xtrabackup与MTS造成的死锁
  8. 一分钟教程:注册谷歌邮箱
  9. 新手织梦建站教程:设置网页文档默认点击数为0方法
  10. Android NDK jint和jstring转换 以及jstring转换成jint的详解
  11. 超级简单的私有云笔记+私有云网盘
  12. 剑指offer2.1
  13. windows下kafka环境完整搭建,Python调用kafka构建完整实例分析与应用
  14. 银河麒麟V10 SP2 server 搭建 ntp服务端
  15. uIP宏定义的详细配置
  16. 人性的弱点摘录和感悟
  17. activiti使用详解
  18. SDK、API、MDK、RTK有关系吗?到底是什么东西呢?
  19. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 BertViz
  20. C++ 获取本机ip地址

热门文章

  1. 舍选法抽样matlab,12 重要抽样法 | 统计计算
  2. linux查看注册表信息,linux登录档(日志)相关简介
  3. 神策数据与 IPIP.NET 强强联合,精准 IP 让用户行为分析更精确
  4. SPringBoot+mybatis 框架搭建例子
  5. 《Log4j 2 官方文档》Scripts
  6. 常见浏览器兼容性问题与解决方案
  7. 【解决办法】安装Exchange2010时报错 - “UserMailbox 必须强制使用Database”
  8. 聚集索引和非聚集索引(整理)
  9. 有关SQL server connection Keep Alive 的FAQ(2)
  10. C#调用WebService