Testlink导入Excel原理

背景

Testlink本身只能够收符合特定格式的XML文件的导入,而通常用于编辑的用例文档是Excel。该工具主要的目的就是文件的格式转换使用方法在其页面的链接上有使用帮助,此处不多加描述。这里主要介绍一下实现方式和原理。

导入原理

导入根本原理根据Testlink自身可接xml格式文件xls用例文件转换为符合其格式要求的xml,再进行导入。想要获知Testlink可接收何种格式的xml文件,可以Testlink中手动创建测试用例,然后将其xml格式导出即可。

这里使用的是第三方插件PHPExcel读取xls格式文件,然后将每个单元格的内容通过拼接字符串的形式构成一份xml文件。需要注意的是,虽然这里生成的是xml文件,但代码中并未使用到PHP自带的一些xml函数,因导入的格式颇为复杂,直接使用字符串拼接可能会更加方便些。

XML分析

<?xml version="1.0" encoding="utf-8"?>
    <testsuite name="用例表1">
    <node_order><![CDATA[]]></node_order>
    <details><![CDATA[]]></details>
    
    <testsuite name="用例集1">
    <node_order><![CDATA[]]></node_order>
    <details><![CDATA[]]></details>
    
    <testsuite name="用例集2">
    <node_order><![CDATA[]]></node_order>
    <details><![CDATA[]]></details>
    
<testcase internalid=" " name="用例名称1">
    <node_order><![CDATA[]]></node_order>
    <externalid><![CDATA[]]></externalid>
    <version><![CDATA[]]></version>
    <summary><![CDATA[<p>摘要1</p>]]></summary>
    <preconditions><![CDATA[<p>前提条件1</p>]]></preconditions>
    <execution_type><![CDATA[1]]></execution_type>
    <importance><![CDATA[3]]></importance>
    <estimated_exec_duration>15</estimated_exec_duration>
    <status>1</status>
    <steps>
        <step>
            <step_number><![CDATA[1]]></step_number>
            <actions><![CDATA[<p>1、操作1
</p><p>2、操作2</p>]]></actions>
            <expectedresults><![CDATA[<p>1、结果1
</p><p>2、结果2</p>]]></expectedresults>
            <execution_type><![CDATA[1]]></execution_type>
        </step>
    </steps>
    <custom_fields><custom_field>
    <name><![CDATA[编写人]]></name>
    <value><![CDATA[]]></value>
    </custom_field></custom_fields>
    <requirements><requirement>
        <doc_id><![CDATA[A-TR00-010]]></doc_id>
        </requirement></requirements></testcase></testsuite></testsuite></testsuite>

以上是一层文件夹下的一条用例。在转换格式时,不论上面的标签有用没用,一个也不能少,下面介绍每个标签的含义:

<testsuite>:表示用例集的标签,如果有多层用例集,可以直接包含。属性name是用例集名称。

<node_order>:导入时无用,但不可缺少。

<details>:用例描述。

<testcase>:表示测试用例的标签。其属性name是用例名称。

<version>:用例版本,导入可为空。默认1.0

<summary>:用例摘要。

<preconditions>:用例的前提条件。

<execution_type>:执行的方式,1表示手动,2表示自动。

<importance>:优先级123分别代表高低。

<estimated_exec_duration>:预估用时,单位为分钟。

<status>:用例状态,可默认为1

<steps>:操作步骤组一个组可包含多个步骤。

<step>:操作步骤,Testlink可支持多个操作步骤。我们这里只使用一个操作步骤,即所有步骤都写在步骤1一个操作步骤包含以下几个标签:序号、内容、预期结果、单个步骤执行方式。

<step_number>:操作步骤序号。

<action>:操作步骤内容。

<expectedresults>:预期结果

<execution_type>单个操作步骤的执行方式。

<custom_fields>:自定字段组,可包含多个自定义字段。

<custom_field>:自定义字段标签。

<name>:自定义字段名称。

<value>:自定义字段的值。

<requirements>:需求组,一条用例可能关联多个需求。

<requirement>:需求标签。

<doc_id>:需求的编号。

以上介绍了测试用例的标签结构,测试需求的标签结构和测试用例类似,都可以通过标签的英文名知道其含义

实现流程

  在线转换xls至xml的网站:convertx.messv.com

原文地址:https://www.cnblogs.com/east2-100/p/7664917.html