智能座舱一般涵盖中控、仪表、抬头显示、流媒体后视镜等跟驾驶员能交互的几个控制模块,集成了车载DVD、倒车影像、多媒体、WIFI、蓝牙、FM等功能,基本上所有模块都是以一种最直观的方式呈现在我们眼前,所以智能座舱的测试主要集中确认这些显示内容是否正确。
下面以某汽车中控自动化测试软件为例,具体讲解一下HMI操作类辅助指令的应用。
右边菜单选项是主要的HMI操作类辅助指令,根据客户的操作习惯和画面内容的区分来进行设计。
| HMI操作类辅助指令 | 功能说明 |
| Touch(One finger) | 单指操作 |
| Touch(Two finger) | 双指操作 (取决于被测系统是否支持被本产品反控) |
| Touch(Three finger) | 三指操作 (取决于被测系统是否支持被本产品反控) |
| Assert_Exists | 对比所选区域的内容,结果一致则测试结果OK |
| Assert_Not_Exists | 对比所选区域的内容, 结果不一致则测试结果OK |
| Assert_Masks | 对比所选区域以外的内容,结果一致则测试结果OK |
| Assert_Not_Masks | 对比所选区域以外的内容,结果不一致则测试结果OK |
| Assert_Template | 选择一指定区域,对比该区域图片在画面中任意位置是否存在,存在则判断结果为OK |
| wait | 延时操作 |
| GetString | 识别指定画面中文字区域,输出结果需在Professional Mode添加检查的指令。 |
这里对比所选区域的内容设计了四种思路,所选区域以内一致与不一致,所选区域以外一致与不一致,用鼠标在界面上拖拉划分测试区域,然后利用模板匹配算法,将实际的图像块和输入的图像进行匹配,并且可以利用函数cvMinMaxLoc()找到最佳匹配的位置。
图像识别在测试中能够想到的引用场景:
-
测试过程中,通过对待测软件进行屏幕截图,采用图像识别算法识别截图中是否包含预定义的可操作控件,如果存在,则触发控制指令,达到了图像识别引导测试过程的目的;
-
测试结果的验证,通过对待测软件的界面进行截图操作,利用图像识别技术将截图与期望的结果进行匹配,从而自动获取测试结果。
-
通过图像识别对比来进行性能测试,比如app测试中常见的响应时间的测试
例如在测试中控应用中,可以锁定界面图像中功能按钮的位置以及切换的画面,匹配的过程中可以使用不同的method,通过最合适的method,进行最合适的匹配。一旦没有找到对应匹配,就说明结果有误。
上图是提前设置好的正确模板,下图是实际显示的,从中可以比较出高音部分的图标不一致。
通过这种方式,完成面板上的功能按键的测试比对。



