CPAL脚本自动化测试 ———— Test Report系列函数及使用_菜鸡小詹的博客-程序员秘密

技术标签: CAPL  黑盒测试  软件测试  

在完成了测试用例的设计之后,最终的测试用例执行结果将会以Test Report形式展示。可能测试步骤中并没有包含我们所需要的信息,那这个时候test report系列函数将帮助我们完成这个功能。

  1. TestReportAddEngineerInfo/TestReportAddSetupInfo/TestReportAddSUTInfo 函数
    使用格式如下。主要用于在测试报告中添加一些信息(测试员、测试配置、待测样品)。
    在这里插入图片描述
    用例:
	// add information to SUT information table 
TestReportAddSUTInfo("Serial No.", "A012345BC");
TestReportAddSUTInfo("Manufactured", "2003-10-02");
	// add information to test engineer information table 
TestReportAddEngineerInfo("Test Engineer", "S. Grey");
TestReportAddEngineerInfo("Stuff No.", "12345");
	// add information to test setup information table 
TestReportAddSetupInfo("Tester", "TH12");
  1. TestReportAddExtendedInfo 函数
    使用格式如下。主要用于将信息添加CANoe本身不支持的协议,常见的有HTML、txt、其他文本(将在XML报告中体现,不会再HTML报告中体现)
    在这里插入图片描述
    用例:
	// add html line to report, e.g. a link to the homepage 
TestReportAddExtendedInfo("html", "<A HREF=\"http://www.vector.com\">Homepage</A>");

TestReportAddExtendedInfo("text", "Output voltage = %d volts)", voltage);
  1. TestReportAddExternalRef 函数
    使用格式如下。主要用于在测试报告中添加外部应用。向报告添加外部引用(URL,DOORS(IBM公司的一个需求管理系统)、eASEE链接),该引用在测试报告中显示为链接。
    在这里插入图片描述
    用例:
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");
}
  1. TestReportAddImage 函数
    使用格式如下。主要是用于添加图片。在XML或HTML格式的报告中,对于图片的格式也是存在着一定的要求的,这里仅支持JPEG,GIF 和 PNG这三种格式。
    在这里插入图片描述
    用例:
	// add image to report, scale down to reasonable size 
TestReportAddImage("Oscilloscope Snapshot", "osc_01.png", "400px", "");
  1. TestReportAddMiscInfoBlock 函数
    使用格式如下。主要用于生成一个新的信息区域来记录一些额外的信息。具体的信息需要使用到TestReportAddMiscInfo函数来写入。重新启用TestReportAddMiscInfoBlock 函数、用例执行结束或者调用了新用例聚会导致一个信息块的终止。
    在这里插入图片描述
    用例:
// add info block to test case in report 
TestReportAddMiscInfoBlock("Used Test Parameters");
TestReportAddMiscInfo("Max. voltage", "19.5 V");
TestReportAddMiscInfo("Max. current", "560 mA");
  1. TestReportAddMiscInfo 函数
    使用格式如下。主要用于在测试报告中添加一些信息。在使用该函数之前必须先使用TestReportAddMiscInfoBlock创建附加信息区域。 如果使用此功能但没有相应的信息区域,则将在“Write”窗口中生成警告,并自动创建一个新的信息区域。 在此信息区域中,可以使用此功能写入任意数量的信息对。
    在这里插入图片描述
    用例:
// add info block to test case in report 
TestReportAddMiscInfoBlock("Used Test Parameters");
TestReportAddMiscInfo("Max. voltage", "19.5 V");
TestReportAddMiscInfo("Max. current", "560 mA");
  1. TestReportAddWindowCapture 函数
    使用格式如下。主要用于抓取某些窗口或面板(Panel)的图片。例如在自动泊车的过程中会有视频输出,我们可以每隔一段时间进行截取,从而记录整个过程中的状态变化。这里的窗口是CANoe工程里面自带的一个窗口,不支持外部设备。例如,可以使用该函数来截取CANoe工程中的Vedio窗口,但是不能截取电脑的Camera窗口。
    在这里插入图片描述
    用例:
testcase tc_1_1()
{
   TestCaseTitle("tc_1_1", "Test Case 1.1");
   TestReportAddWindowCapture("Trace - Report", "", 
                              "Trace before execution of test case:", 
                              "tc-1.1-trace-before");

      ... execute Test Pattern(s) ...

      if (TestGetVerdictLastTestCase() != 0) {
          TestReportAddWindowCapture("Trace - Report", "", 
                                     "Testfall failed. Trace am Ende:",
                                     "tc-1.1-trace-after");
   }
}
  1. TestReportWriteDiagObject/TestReportWriteDiagResponse 函数
    使用格式如下。主要是将获取到的诊断对象、诊断响应以HTML格式写入到测试报告中。这对于后续的分析还是存在着较大的便利。例如,如果回访log则需要花费太多的时间并且占用设备,如果能在报告中直接获取到响应内容则方便了许多。
    在这里插入图片描述
    用例:
TestCase Test1()
{
   // Send Request and react to all possible cases.
   diagRequest Door.EcuIdentification_Read idReq;
   diagSendRequest( idReq);
   switch( TestWaitForDiagResponse( idReq, 200))
   {
   case 0: // Timeout: The ECU did not respond within 200 ms.
      write("No answer from ECU!");
      TestStepFail("Read ID", "No answer from ECU!");
      break;
   case 1: // response received
      TestReportWriteDiagResponse(idReq); // write response to report
      if( diagGetLastResponseCode(idReq) == -1)
      {
      // A positive response was received
      write("ECU Diagnostics Identification: %d", (long)diagGetRespParameter(idReq,"Diagnostic_Identification"));
      TestStepPass("Read ID", "Positiv response received!");
      }
      else // A negative response was received
      {
      write( "ECU Diagnostics Identification failed: 0x%x", diagGetLastResponseCode( idReq));
      TestStepFail("Read ID", "Negative response received");
      }
      break;
      default: // internal or setup error
      TestStepFail("Read ID", "Error in TestCase! Verdict unreliable.");
      }
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42957717/article/details/116202208

智能推荐

FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,Mac OS X,Linux,版本2.9.5,_学海无涯乐做舟的博客-程序员秘密

FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.特色功能:Windows版下载地址:http://www.hostbuf.com/downloads/finalshell_install.exeMac版,Linux版安装及教程:http://www.hostbuf.com/t/1059.html更新日志:htt...

POJ 1160 (区间DP+四边形优化)_poj1160 四边形优化_gg_gogoing的博客-程序员秘密

这个转移方程不好想,尤其是一段值的解是中间,不明觉厉。dp[i][j] 用i个邮局,覆盖前j个村庄的最小值。还有就是区间dp的平行四边形优化,这个题的转移方程并不是“区间DP”,所以枚举状态要逆着(很花时间),且用一个邮局覆盖都是从0断开了相当于没有断开。类比于石子归并,矩阵链乘等标准区间DP,其所需状态之前就已经获得,不用倒推#include #include #incl

Google分布式系统三大论文(二)Bigtable: A Distributed Storage System for Structured Data_E_k_in的博客-程序员秘密

原文地址:https://blog.csdn.net/u010359965/article/details/49795133摘要Bigtable是一个管理结构化数据的分布式存储系统,它被设计用来处理海量数据:分布在数千台通用服务器上的PB级的数据。Google的很多项目将数据存储在Bigtable中,包括Web索引、Google Earth、Google Finance。这些应用对Bigta...

VOT工具使用_mobai-ch的博客-程序员秘密

VOT:仅仅提供测试,不提供训练,MATLAB,PYTHON皆有【复现标配】VOT安装方式:https://www.votchallenge.net/howto/tutorial_python.htmlGOT-10K:训练测试都提供GOT-10K安装方式:http://got-10k.aitestunion.com/downloads其他看需要复现的论文所用的数据集,用一样的就好了...

Android Receiver not registered问题_AndroidDev2022的博客-程序员秘密

1.问题报错如下:java.lang.IllegalArgumentException: Receiver not registered: [email protected]f0 at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.

c语言入门这一篇就够了-学习笔记_c语言入门学这一篇_TwcatL_tree的博客-程序员秘密

内容来自慕课网。C语言入门 -&gt; Linux C语言编程基本原理与实践 -&gt; Linux C语言指针与内存 -&gt; Linux C语言结构体https://www.imooc.com/course/...c语言入门C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。hello,world#

随便推点

踩过的坑——MySQL删除索引要慎重_删除联合索引影响访问吗_二狗子风吟的博客-程序员秘密

事情经过:原表有两个字段的联合唯一索引unique key,因业务变更这两个字段不再唯一,需要去掉唯一索引。考虑到其中一个字段不仅作为唯一索引,还当作查询索引使用,去掉这个唯一索引,要新加这个字段的普通索引。于是提了ddl数据库变更,删除唯一索引,新增普通索引。事故因此发生,当删除唯一索引后,还没来得及执行新增普通索引,数据库连接池就被占满了,导致页面所有请求都发生异常!表中有500W数据,...

Python数据分析:股票数据分析案例_python股票数据分析案例_Sweeney Chen的博客-程序员秘密

Python数据分析:股票数据分析案例步骤:准备数据可视化数据、审查数据处理数据根据ACF、PACF定阶拟合ARIMA模型预测import pandas as pdimport pandas_datareaderimport datetimeimport matplotlib.pylab as pltfrom matplotlib.pylab import style...

flume+kafka整合_flume+ kafka 0.8版本_qq_996703282的博客-程序员秘密

flume+kafaka 整合 本文在flume和kafka都单独调通以后进行的kafka作为消费者 创建该文件spooldir.conf文本内容如下# Define names for the source, channel, and sinkagent1.sources  = source1agent1.channels = channel1agent1.sinks = sink1 # Def...

poj 3225 区间(区间的交并补操作)_FDU_Nan的博客-程序员秘密

http://poj.org/problem?id=3225一道题又做了一天。。这道题对我来说起初有N多难点。1:区间的开闭如何解决。、2:怎样把区间的交并补、对称差转化为对线段树的操作。后来与实验室的同学讨论了后解决了前面两个问题。对于区间的开闭,可以将区间放大一倍,偶数点表示端点,奇数点表示区间内线段,前开的话左端点加1,右开的话右端点减1。例如[1,3]可以表示成

[Java] Oracle的JDBC驱动的版本说明_weixin_30563917的博客-程序员秘密

classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异作者:赵磊博客:http://elf8848.iteye.com来源:http://elf8848.iteye.com/blog/811037在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle JDBC驱动来解决的?最常使用的o...

Linux Makefile 详细语法(转)_纯粹扯淡的博客-程序员秘密

跟我一起写 Makefile陈皓 (CSDN)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在U

推荐文章

热门文章

相关标签