当前位置: 首页 > news >正文

【CAPL实战】实现弹窗提示及操作

文章目录

  • 前言
  • 1、TestWaitForTesterConfirmation函数
  • 2、测试举例


前言

在使用CANoe进行车载通信测试的过程中,可能因为一些条件限制,我们需要在测试执行的过程中去观察一些硬件显示或者调整相关硬件状态。比如测试过程中,需要手动去调整小电源的电压、手动进行控制器故障注入(CANH、CANL断开)。如果有一个弹窗提示我们去手动操作,操作完成后再进行脚本执行,对测试结果准确性和效率都有促进作用,这就是本文弹窗提示函数的功能所在。


1、TestWaitForTesterConfirmation函数

函数功能:创建一个弹出窗口,向测试人员显示给定的字符串内容。测试人员可可以用Yes或No确认窗口。即使这个函数被不同的测试模块调用,最多也只有一个弹出窗口是活动的。函数有三种使用方式,如下:

long TestWaitForTesterConfirmation(char text[]);  //没有wait超时,等待测试人员确认
long TestWaitForTesterConfirmation(char[] text, unsigned long timeout); //有wait超时,对话框在超时后自动终止
long TestWaitForTesterConfirmation(char[] text, unsigned long timeout, char[] heading, char[] resource, char[] resourceCaption); //有wait超时,可以显示一个资源,即对话框可以显示额外的信息。/*参数说明
text:显示在弹窗中的内容,长度限制在4096字符
timeout:弹窗自动结束的时间,单位:ms。若为0,则无超时控制
heading:对话框文本上方的标题。字符串最大长度限制在256个字符。
resource:URL或文件路径。字符串的最大长度是有限的(512个字符)。图片显示在对话框中,其他资源的链接显示。支持的图片类型有:bmp,jpg,png,gif。对于任意文件,当用户单击链接时,将使用在计算机上为该文件类型注册的应用程序打开该文件。相对文件路径基于包含测试模块的配置或测试设置。
resourceCaption:对resource的描述。字符串的最大长度是有限的(256个字符)。
*//*返回结果
0:超时
1:点击YES
2:点击NO
-1:一般错误
-2:发生约束
*/

2、测试举例

在没有继电器等通断设备的情况下,进行CANH、CANL断开的故障注入测试。伪代码如下:

long result;
//1、上电唤醒ECU,检测ECU通信正常
//2、CANH断开
result = TestWaitForTesterConfirmation(“手动断开CANH”);
//看见弹窗后,进行手动操作断开CANH
if(result == 1) //手动处理后,点击yes
{//检测CAN通信是否正常
}
testwaitfortimeout(2000);
//故障恢复
if(TestWaitForTesterConfirmation(“手动恢复CANH连接”) == 1) //手动处理后,点击yes
{//检测CAN通信是否正常
}

函数调用同一般的CAPL函数类似,本身没有什么难度,关键在于活用函数,在特定的测试场景下来帮助我们提高测试效率。

http://www.lryc.cn/news/533642.html

相关文章:

  • 基于ESP32的远程开关灯控制(ESP32+舵机+Android+物联网云平台)
  • 协议-ACLLite-ffmpeg
  • ARM嵌入式学习--第十四天(SPI)
  • DeepSeek-V2 论文解读:混合专家架构的新突破
  • 5分钟了解回归测试
  • 路由器如何进行数据包转发?
  • 【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 常见组件(一)
  • iOS 自动翻滚广告条(榜单条)实现方案
  • TensorFlow深度学习实战(7)——分类任务详解
  • 动态规划问题——青蛙跳台阶案例分析
  • element-ui使用el-table,保留字段前的空白
  • kamailio中路由模块汇总
  • 如何使用 DeepSeek 搭建本地知识库
  • 网络HTTP详细讲解
  • 《Origin画百图》之边际分布曲线图
  • 【Milvus】向量数据库pymilvus使用教程
  • React 生命周期函数详解
  • 第 26 场 蓝桥入门赛
  • 组合(力扣77)
  • 网络工程师 (22)网络协议
  • Linux之文件IO前世今生
  • 如何在Windows中配置MySQL?
  • Kafka 入门与实战
  • 数学知识学习1
  • 【AI日记】25.02.08
  • Lecture8 | LPV VXGI SSAO SSDO
  • Java中实现定时锁屏的功能(可以指定时间执行)
  • Java集合List详解(带脑图)
  • [实验日志] VS Code 连接服务器上的 Python 解释器进行远程调试
  • (14)gdb 笔记(7):以日志记录的方式来调试多进程多线程程序,linux 命令 tail -f 实时跟踪日志