Xena 知识库
XML报告规范
概述
本页介绍了Xena2544、Xena1564、Xena3918和Xena2889测试应用程序生成的XML报告格式。
每个XML报告都包含一个测试结果部分和一个测试配置部分。结果部分将包含实际结果,而配置部分则包含用于执行测试的全部配置。
XML报告不包含任何XML模式定义,所以XML报告的用户需要参考这个wiki页面。
XML标题和顶部标签
XML报告文件以一个标准的标题开始,如下所示:
报告的最高标签是 。
测试结果
结果部分被封装在标签.中。该部分包含以下子部分:
部分标签 | 解释 |
---|---|
包含整个测试套件的汇总数据。 | |
包含吞吐量测试的结果。 | |
包含损失测试的结果。 | |
包含延时和抖动测试的结果。 | |
包含背对背测试的结果。 |
摘要
本节包含测试套件的摘要数据。定义了以下子标签:
标签本身并不带有价值。它包含以下属性:
测试公司 | 进行测试的公司名称 |
客户 | 客户的姓名 |
客户访问权限(CustomerAccessID | 为测试指定的客户访问ID |
客户服务ID | 为测试指定的客户服务ID |
标签本身并不带有价值。它包含以下属性:
测试日期时间 | 以 "YYYMMDD-HHMMSS "的形式表示测试的时间戳。使用生成报告的PC的当地时间。 |
测试时间 | 整数,测试的总持续时间,以秒为单位。 |
没有端口 | 整数,测试中使用的端口数 |
拒绝接受 | 整数,测试中使用的运行数量 |
这个标签包含一个CDATA值,是为测试指定的注释。它没有任何属性。
测试类型的具体章节
该报告将包含四种测试类型中的每一种的章节,这些测试类型分别为 、 、 和 。
每个测试类型部分将包含一些结果。每个结果将被包含在一个标签中。结果的总数将被报告为结果标签的属性,而特定端口的结果将被报告在一个子标签中。
结果属性
该标签可以包含以下属性。有些属性只对某些测试类型有效,这用图例表示:
- THR:吞吐量
- LOS: 损失、
- LAT:延迟/抖动
- B2B: 背对背
- 全部:以上都是
属性名称 | 类型 | 解释 | 对测试类型有效 |
---|---|---|---|
框架尺寸 | 数量 | 该测试使用的框架尺寸。 | 所有 |
总价 | 数量 | 以数据包/秒为单位的总速率 | THR |
速率百分比(PassedRatePcnt | 数量 | 合格率,占最大可能比率的百分比。 | THR |
总流量包 | 数量 | 传输的数据包总数。 | 所有 |
总的RxPackets | 数量 | 收到的数据包总数。 | 所有 |
已接受 | 是/否 | 结果是接受还是不接受? | 所有 |
最大速率 | 数量 | 使用的最大速率,占最大可能速度的百分比。 | LOS, B2B |
最大速率Pps | 数量 | 使用的最大速率,以每秒钟的数据包为单位。 | LOS, B2B |
最大速率Mbps | 数量 | 使用的最大速率,单位是Mbps。 | LOS, B2B |
港口属性
属性(有些属性只对某些测试类型有效):
属性名称 | 类型 | 解释 | 对测试类型有效 |
---|---|---|---|
命名 | 字符串 | 端口的全称,形式为 "P-" | 所有 |
速率 | 数量 | 使用的速率,单位是数据包/秒。 | THR |
汇率指数(RatePcnt) | 数量 | 使用的比率为最高比率的百分比 | THR |
速率Mbps | 数量 | 使用的速率为Mbps | THR |
损失率 | 数量 | 数据包丢失,占总传输数据包的百分比。 | 洛斯 |
延迟平均数 | 数量 | 平均延迟(微秒 | 纬度 |
延迟最小值 | 数量 | 最小延迟(微秒 | 纬度 |
延迟时间(LatencyMax | 数量 | 最大延迟(微秒 | 纬度 |
抖动指数(JitterAvg | 数量 | 平均抖动,以微秒计 | 纬度 |
抖动最小值 | 数量 | 最小抖动,以微秒为单位 | 纬度 |
JitterMax | 数量 | 以微秒为单位的最大抖动 | 纬度 |
爆破尺寸 | 数量 | 突发大小,以字节为单位 | B2B |
延迟和抖动率
延迟和抖动测试是以不同的速率进行的。每一个速率的结果都会被报告。因此,延迟和抖动部分包含另一个部分,称为封装了结果部分。这个标签包含一个名为 "Value "的单一属性,它以数字形式提供所使用的速率。
测试配置
配置部分被封装在标签.中。该格式遵循与配置文件相同的结构。然而,配置文件是以JSON格式保存的,但XML报告使用的是相同的标签值。关于JSON配置文件语法的细节,请参考这一页。
脚本样本
Xenas2544应用程序与一些Python脚本样本一起分发,解释了如何启动Xena2544应用程序并从命令行执行配置,还使用内置的xml.dom.minidom Python包解析了生成的XML报告。当然,也可以使用任何其他符合标准的XML解析包。
例子
下面的示例片段显示了该格式的使用方法:
version="1.0" encoding="utf-8"?>
<xena2544></xena2544
<testresults>
<summary>
<identification< span=""> TestCompany="Xena Networks ApS" Customer="Xena Networks" /></identification<>
<metrics< span=""> TestDateTime="20120627-091018" TestDuration="123" /></metrics<>
<comment></comment>
>
<throughput>
<result< span=""> FrameSize="64" TotalRate="1488095" PassedRatePcnt="100,00"></result<>
<port< span=""> Name="P-0-10-1" Rate="1488095" RatePcnt="100" RateMbps="1000" /></port<>
>
<result< span=""> FrameSize="128" TotalRate="844594" PassedRatePcnt="100,00"></result<>
<port< span=""> Name="P-0-10-1" Rate="844594" RatePcnt="100" RateMbps="1000" /></port<>
>
>
<loss></loss
>
>
<testconfiguration>
>
></testconfiguration</throughput</summary</testresults