Vector - CAPL - 测试报告函数介绍

测试报告是我们开发脚本中必备的一个模块,今天我们介绍一下测试报告中的常用函数,让我们开发出更加清晰、美观的报告,让我们的测试工作更加轻松。

Vector - CAPL - 测试报告函数介绍_第1张图片

TestCaseComment

Vector - CAPL - 测试报告函数介绍_第2张图片

功能:在测试脚本中,添加一段描述,并在测试完成后的报告中查询

说明:在测试脚本中会用该函数,仅仅在测试报告中添加说明,并不会影响最终得出测试判断结果。

aComment:显示在报告中的说明信息

aMsg:CAN、GMLAN、LIN报文信息加入到测试报告中

aRawString:输入任意ASCII字符。它们将按以下方式添加到注释中:<给定字符的十六进制值>(<给定字符ASCII显示>)。在ASCII显示中,特殊字符将替换为“.”。

testcase CheckLockingOnCrash ()
{
   TestCaseTitle("TC 1.0", "Check unlock of central locking system on crash");
   TestCaseDescription("This test case simulates a crash during drive. The central locking system has to be unlocked on crash!");
   // 初始化信号
   $CrashDetected = 0;
   $LockState = Locked;
   TestWaitForTimeout(200);
   TestCaseComment("Initialization of system completed");
}
Vector - CAPL - 测试报告函数介绍_第3张图片

testGetCurrentTestCaseTitle

功能:获取当前测试用例的名称

说明:返回当前测试用例的名称。调用此函数后,名称将位于字符数组testCaseTitle中。名称的最大长度是字符数组的长度。此长度将保存在bufferSize中。

testCaseTitle:存放返回测试用例名称的字符串数组

bufferSize:存放测试用例名称数组的长度

testcase TCExample()
{
  char title[100];

  testCaseComment("Test Case:");
  testGetCurrentTestCaseTitle(title, elcount(title));
  testCasecomment(title);
}

testGetTestConfigurationName

功能:返回测试配置的名称

说明:返回测试配置的名称。调用此函数后,名称将位于字符数组testConfigurationName中。名称的最大长度是字符数组的长度。此长度将保存在bufferSize中。

testConfigurationName:存放测试配置名称的字符串数组

bufferSize:testConfigurationName字符串数组的大小

testcase TCExample()
{
  char name[100];

  testCaseComment("Test Configuration:");
  testGetTestConfigurationName(name, elcount(name));
  testCaseComment(name);
}
Vector - CAPL - 测试报告函数介绍_第4张图片

testGetTestUnitName

功能:获取测试单元的名称

说明:返回测试单元的名称。调用此函数后,名称将位于字符数组testUnitName中。名称的最大长度是字符数组的长度。此长度将保存在bufferSize中。

testUnitName:获取当前测试用例所在测试单元的名称字符串数组

bufferSize:testUnitName字符串数组的大小

testcase TCExample()
{
  char name[100];
  testCaseComment("Test Unit:");
  testGetTestUnitName(name, elcount(name));
  testCaseComment(name);
}

TestReportAddExtendedInfo

功能:添加报告信息到htm中,且不受CANoe处理信息

说明:使用此功能,可以将不受CANoe处理的信息接收到协议中。例如,通过这种方式,任何HTML代码都可以直接复制到协议中。相应的类型规范指定了信息的类型(例如HTML)

type:添加的信息文本类型

html

HTML代码

text

无格式说明的纯文本

other

其他文本,被转换到XML报告中,但未显示在HTML报告中。

text:要写入报告的信息文本;文本可以选择包含作为附加参数提供的值。为此,可以将相应的格式字符串插入文本中,并将相应的值添加到参数列表中。格式字符串的含义与write函数相同,并在此处进行了描述。

要在CANoe测试报告查看器或HTML测试报告中获取换行符,可以在任何位置插入“\n”。在XML/HTML格式的情况下,在通过XSLT样式表将XML测试报告转换为HTML文件的过程中,将进行所需的替换,也可以在其中停用。

TestReportAddExtendedInfo("text", "Output voltage = %d volts)", voltage);

TestReportAddExternalRef

功能:在测试报告中添加链接信息

说明:向报告添加外部引用(URL、DOORS或eASEE链接),该链接在测试报告中显示为链接。

可用于测试用例(测试用例功能)、测试组或MainTest功能。

type:“url”表示任何类型的url,“doors”表示指向doors的链接,“easee”表示指向easee的链接。

title:显示测试报告中生成的链接的文本。如果未指明,则使用ref中指明的URL。

ref:引用的外部资源的URL

owner:此属性旨在由自动维护到外部资源的链接的应用程序使用,以便它们可以识别其外部引用元素。

建议不要单独使用。

testcase tc_1_1()
{
   TestCaseTitle("tc_1_1", "Test Case 1.1");
    TestReportAddExternalRef("url", "Requirement", 
    "doors://doorssrv:36677/?version=1,prodID=0,dbid=42d2481361dc551c,container=00004600,object=19");
}

TestReportAddImage

功能:在测试报告中添加图片

说明:如果选择了XML/HTML报告输出格式,则图像应为JPEG、GIF或PNG格式,因为在转换为HTML的过程中,只有文件的引用被写入HTML文件中,而常见的HTML浏览器通常只支持这些图像文件格式;如果是CANoe测试报告查看器格式,图像将直接嵌入报告文件中。

使用此功能,可以将对包含图像的文件的引用纳入协议。该命令可以在测试模块上下文中使用,也可以在测试用例上下文中使用。

未检查文件是否存在。

可以为图像提供文件路径或URL。相对文件路径基于包含XML报告的文件夹。如果反斜杠用作分隔符,则必须使用双反斜杠('\\')分隔路径中的目录。

此功能的第二个变体允许设置图像在报告中显示的宽度和/或高度。如果指定了宽度或高度,HTML报告将自动显示带有链接的图片,该链接将在新窗口中以全尺寸打开图片。宽度和高度参数被传输到HTML报告,它们的值可以以像素或百分比的形式给出。有关详细信息,请参阅HTML参考。

description:图片的描述文本

filename:图片文件的名称,可能带有路径规范

width:图片的宽度

height:图片的高度

// 添加图片到报告中, 并将其缩放到合适的大小 
TestReportAddImage("Oscilloscope Snapshot", "osc_01.png", "400px", "");

TestReportFileName

功能:设置测试报告的名称;仅当测试模块必须动态分配测试报告的文件名时,才应使用此命令。

如果在同一测试中多次调用该函数,则最后一次调用将设置最终报告名称

说明:设置报告文件的名称和路径;在CANoe GUI中,可以设置报告文件的名称和路径。使用此功能,可以覆盖这些设置。

data name:报告文件的名称和路径;如果没有路径规范,则使用CANoe配置文件的目录。扩展名.xml、.html或.vestreport将自动添加。

void MainTest()
{
   // 报告写入配置旁边名为“DynamicName”的文件中
   TestReportFileName("DynamicName");
}

Report报告相关的其他函数使用说明

MainTest()
{
    //将信息添加到SUT信息表 
    TestReportAddSUTInfo("Serial No.", "A012345BC");
    TestReportAddSUTInfo("Manufactured", "2003-10-02");
    //将信息添加到测试信息表
    TestReportAddEngineerInfo("Test Engineer", "S. Grey");
    TestReportAddEngineerInfo("Stuff No.", "12345");
    //将信息添加到测试设置信息表
    TestReportAddSetupInfo("Tester", "TH12");
    //在报告中添加html行,例如指向主页的链接 
    TestReportAddExtendedInfo("html", "Homepage");
    }
    testcase Configure_Powermanagement ()
    {
    //将信息块添加到报告中的测试用例
    TestReportAddMiscInfoBlock("Used Test Parameters");
    TestReportAddMiscInfo("Max. voltage", "19.5 V");
    TestReportAddMiscInfo("Max. current", "560 mA");
    //将图像添加到报告中,缩小到合理大 
    TestReportAddImage("Oscilloscope Snapshot", "osc_01.png", "400px", "");
}

你可能感兴趣的:(CAPL入门到入坑,CAPL,测试报告,Report)