一种基于双系统车机的测试系统的制作方法
未命名
09-29
阅读:131
评论:0
1.本发明涉及双系统车机的测试技术领域,具体地,涉及一种基于双系统车机的测试系统。
背景技术:
2.在现有技术的车机系统开发过程中,为提高车机的适用性,车机会采用双系统(linux+android)进行开发,这大大提高了自动化测试的难度。目前市面上成熟的开源系统均针对android进行自动化测试,暂无适合双系统车机的自动化测试工具。车联网端到端测试急需针对双系统车机可用的自动化测试工具,来进行系统的多覆盖面的测试。
技术实现要素:
3.为解决上述问题的至少一个方面,本发明提供一种基于双系统车机的测试系统,包括:车机,包括第一操作系统和第二操作系统,所述第一操作系统和所述第二操作系统通信连接,所述第二操作系统运行测试用例,并通过所述第一操作系统的显示界面显示所述测试用例的运行内容;控制装置,所述控制装置包括输入单元、通信模块和图形处理模块,所述输入单元用于接收用户的输入指令,所述控制装置通过所述通信模块发送所述输入指令,所述第一操作系统通过与所述通信模块的连接接收所述输入指令,所述输入指令包括截图指令,所述第一操作系统基于所述截图指令获取并发送所述显示界面的截屏图片,所述图形处理模块通过所述通信模块接收所述截屏图片,并基于所述截屏图片生成测试报告。
4.优选地,所述通信模块通过ssh连接向所述第一操作系统发送所述输入指令,所述第一操作系统通过scp连接向所述通信模块发送所述截屏图片。
5.优选地,所述输入指令包括测试用例操作指令,所述通信模块通过can信号向所述第一操作系统发送所述测试用例操作指令,所述第二操作系统通过所述第一操作系统接收所述测试用例操作指令。
6.优选地,所述测试用例操作指令包括滑动、点击和返回主页。
7.优选地,所述测试用例操作指令分别对应can信号中不同长度的数据。
8.优选地,所述图形处理模块包括字符识别单元,所述字符识别单元用于识别所述截屏图片中的文字。
9.优选地,所述图形处理模块还包括匹配单元,所述匹配模块用于在所述截屏图片中寻找目标标识,并确定所述目标标识在所述截屏图片中的坐标。
10.优选地,所述图形处理模块还包括校对单元,所述校对单元包括参考图片,所述校对模块用于比较所述参考图片与所述截屏图片的相似度。
11.优选地,所述图形处理模块还包括弹窗识别单元,所述弹窗识别单元通过识别所述截屏图片的颜色区域判断测试用例的页面弹窗。
12.优选地,所述控制装置还包括评价模块,所述评价模块用于接收所述图形处理模
块对所述截屏图片的处理结果,并生成测试用例的测试报告。
13.本发明的基于双系统车机的测试系统具有以下有益效果:基于双系统车机,采用can信号发送方式进行模拟点击,通过ssh连接截取图片进行图像处理,实现了基本功能的自动化测试,同时输出测试报告,解决了双系统车机无测试工具可用的技术难题。
附图说明
14.为了更好地理解本发明的上述及其他目的、特征、优点和功能,可以参考附图中所示的实施方式。附图中相同的附图标记指代相同的部件。本领域技术人员应该理解,附图旨在示意性地阐明本发明的优选实施方式,对本发明的范围没有任何限制作用,图中各个部件并非按比例绘制。
15.图1示出了根据本发明实施例的基于双系统车机的测试系统结构框图。
16.附图标记说明:
17.10、车机;11、第一操作系统;12、第二操作系统;13、显示屏;20、控制装置;21、输入单元;22、通信模块;23、图形处理模块;231、字符识别单元;232、匹配单元;233、校对单元;234、弹窗识别单元;24、评价模块。
具体实施方式
18.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
19.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
20.为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的一个实施例提出了一种基于双系统车机的测试系统,包括:车机10,包括第一操作系统11和第二操作系统12,第一操作系统11和第二操作系统12通信连接,第二操作系统12运行测试用例,并通过第一操作系统11的显示界面显示测试用例的运行内容;控制装置20,控制装置20包括输入单元21、通信模块22和图形处理模块23,输入单元21用于接收用户的输入指令,控制装置20通过通信模块22发送输入指令,第一操作系统11通过与通信模块22的连接接收输入指令,输入指令包括截图指令,第一操作系统11基于截图指令获取并发送显示界面的截屏图片,图形处理模块23通过通信模块接收截屏图片,并基于截屏图片生成测试报告。
21.具体地,如图1所示,在一些实施例中,车机10的第一操作系统11采用linux系统,第二操作系统12采用android系统,第一操作系统11和第二操作系统12通过通信连接实现信息交互。车机10主要由linux和android双系统组成,车机10的界面显示通过hmi层显示在hu屏幕上。android侧的界面显示包括安卓app的界面与linux hmi的界面,这使得单纯的android自动化测试操作车机增加了技术难题。测试用例包括在第一操作系统11运行的测
试案例和在第二操作系统12运行的的测试案例,其中,第一操作系统11运行的测试用例在第一操作系统11的显示界面(hmi界面)显示运行内容,包括图片、文字、弹窗及其他设定内容等。第二操作系统12运行的测试用例通过与第一操作系统11的通信连接,将其运行内容通过第一操作系统11的操作界面显示。本领域技术人员可以理解地,车机10还包括显示屏13,显示界面通过显示屏13展示,显示屏13采用触摸屏,用户可以通过显示屏13进行用于测试用例的指令操作,通过显示屏13输入的指令通过第一操作系统11对测试用例进行操作。当测试用例在第二操作系统12中运行时,通过显示屏13输入的指令有第一操作系统11发送至第二操作系统12以实现对测试用例的指令操作。
22.为实现控制装置20对在第一操作系统11和第二操作系统12的测试用例的控制,通过控制装置20的通信模块22与第一操作系统11建立通信连接。用户通过控制装置20的输入单元21进行指令输入,控制装置20通过通信模块22将输入指令发送至第一操作系统11,由第一操作系统11接收通信模块22发送的输入指令,并基于接收的输入指令控制测试用例的操作,或者通过第二操作系统12控制器运行的测试用例的操作。
23.用户通过车机10的输入单元21的指令包括截图指令,第一操作系统11接收截图指令后对显示界面的显示内容截取获得截屏图片,并将截屏图片通过通信模块22发送至控制装置20,控制装置20的图形处理模块基于截屏图片进行处理,生成针对车机10端的测试用例的测试报告。测试报告的内容包括测试用例的执行结果总结、测试用例的描述、测试用例的详细结果加测试截图(即截屏图片)等。
24.在一些实施例中,通信模块22通过ssh连接向第一操作系统11发送输入指令,第一操作系统11通过scp连接向通信模块22发送截屏图片。
25.具体地,测试系统搭载在控制装置20中,主要应用python语言开发,使用python自带的unit test框架,控制装置20通过ssh连接车机,通过python的paramiko库创建连接,然后执行截图指令。截图指令依赖于车机10端usr/bin的工具,通过命令方式实现截图。截图成功后创建scp连接,将图片发送至控制装置20。
26.在一些实施例中,输入指令包括测试用例操作指令,通信模块22通过can信号向第一操作系统11发送测试用例操作指令,第二操作系统12通过第一操作系统11接收测试用例操作指令。
27.具体地,测试系统搭载在控制装置20中,主要应用python语言开发,使用python自带的unit test框架,通过ssh与模拟can的两种方式与车机进行连接,ssh负责截图,传送图片。can负责模拟点击。
28.在一些实施例中,测试用例操作指令包括滑动、点击和返回主页。
29.具体地,控制装置20的输入单元21接收指令,以执行对车机10装载系统的测试,具体实现方式如下:每次用户通过输入单元21点击输入指令,输入单元21可以采用触摸屏幕,触摸屏幕会将模拟信号转化为数字信号然后由通信模块22通过can报文的方式向车机10传送,传送的数据位于特定的id中。在一些实施例中,测试用例操作指令分别对应can信号中不同长度的数据。一帧数据包含8个字节,其中4个字节的数据代表点击或者滑动的坐标值。1个字节的数据代表按下或者抬起的操作。通过这种方式,借助canoe或者其他工具模拟发送can信号。控制装置20发送的can信号通过can总线mib can发送到车机10端。本实施例中使用的工具为p-can,可以通过串口的方式单路发送接收can信号数据。发送串口数据采用
特定的协议,包括发送数据长度、发送帧id、发送命令和crc校验值。
30.在一些实施例中,图形处理模块23包括字符识别单元231,字符识别单元231用于识别截屏图片中的文字。
31.具体地,字符识别单元231采用ocr光学字符识别,借助easyocr库实现文字的识别,确定识别结果与识别的文字在截屏图片中的位置信息,并将上述信息发送至评价模块24。
32.在一些实施例中,图形处理模块23还包括匹配单元232,匹配模块用于在截屏图片中寻找目标标识,并确定目标标识在截屏图片中的坐标。
33.具体地,匹配单元232通过opencv官方库,实现在原图片中寻找目标icon,确定寻找结果和坐标。需要指出的是,目标icon为存储在匹配单元232中的参考标识,在测试用例的显示界面中进行显示,匹配单元232通过存储的参考表示识别截屏图片中的目标icon,并确定其在截屏图片中的坐标。
34.在一些实施例中,图形处理模块23还包括校对单元233,校对单元包括参考图片,校对模块用于比较参考图片与截屏图片的相似度。
35.具体地,校对单元232存储有参考图片,参考目标为测试用例的期望显示内容,通过校对截屏图片和参考图片的相似度判断测试用例的显示内容的准确性。校对单元232借助hash算法进行相似度对比,并确定两张图片的相似度计算结果值。
36.在一些实施例中,图形处理模块23还包括弹窗识别单元234,弹窗识别单元234通过识别截屏图片的颜色区域判断测试用例的页面弹窗。
37.具体地,弹窗识别单元234中存储有参考图片,参考图片为测试用例的期望显示内容,其中包括期望展示的弹窗面积和弹窗位置,弹窗通过区别于背景内容的颜色展示,弹窗识别单元234通过对截屏图片中的颜色区域进行提取,并结合预先存储的参考图片判断弹窗出现与否,以及弹窗在截屏图片中的坐标,并将上述结构发送至评价模块24。
38.在一些实施例中,控制装置20还包括评价模块24,评价模块24用于接收图形处理模块23对截屏图片的处理结果,并生成测试用例的测试报告。
39.具体地,评价模块23分别从字符识别单元231、匹配单元232、校对单元233、弹窗识别单元234接收针对截屏图片的处理结果,并结合截屏图片生成测试用例报告。
40.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文。
技术特征:
1.一种基于双系统车机的测试系统,其特征在于,包括:车机,包括第一操作系统和第二操作系统,所述第一操作系统和所述第二操作系统通信连接,所述第二操作系统运行测试用例,并通过所述第一操作系统的显示界面显示所述测试用例的运行内容;控制装置,所述控制装置包括输入单元、通信模块和图形处理模块,所述输入单元用于接收用户的输入指令,所述控制装置通过所述通信模块发送所述输入指令,所述第一操作系统通过与所述通信模块的连接接收所述输入指令,所述输入指令包括截图指令,所述第一操作系统基于所述截图指令获取并发送所述显示界面的截屏图片,所述图形处理模块通过所述通信模块接收所述截屏图片,并基于所述截屏图片生成测试报告。2.根据权利要求1所述的系统,其特征在于,所述通信模块通过ssh连接向所述第一操作系统发送所述输入指令,所述第一操作系统通过scp连接向所述通信模块发送所述截屏图片。3.根据权利要求2所述的系统,其特征在于,所述输入指令包括测试用例操作指令,所述通信模块通过can信号向所述第一操作系统发送所述测试用例操作指令,所述第二操作系统通过所述第一操作系统接收所述测试用例操作指令。4.根据权利要求3所述的方法,其特征在于,所述测试用例操作指令包括滑动、点击和返回主页。5.根据权利要求4所述的系统,其特征在于,所述测试用例操作指令分别对应can信号中不同长度的数据。6.根据权利要求1所述的系统,其特征在于,所述图形处理模块包括字符识别单元,所述字符识别单元用于识别所述截屏图片中的文字。7.根据权利要求6所述的系统,其特征在于,所述图形处理模块还包括匹配单元,所述匹配模块用于在所述截屏图片中寻找目标标识,并确定所述目标标识在所述截屏图片中的坐标。8.根据权利要求7所述的系统,其特征在于,所述图形处理模块还包括校对单元,所述校对单元包括参考图片,所述校对模块用于比较所述参考图片与所述截屏图片的相似度。9.根据权利要求8所述的系统,其特征在于,所述图形处理模块还包括弹窗识别单元,所述弹窗识别单元通过识别所述截屏图片的颜色区域判断测试用例的页面弹窗。10.根据权利要求9所述的系统,其特征在于,所述控制装置还包括评价模块,所述评价模块用于接收所述图形处理模块对所述截屏图片的处理结果,并生成测试用例的测试报告。
技术总结
本发明公开一种基于双系统车机的测试系统,包括:车机,包括第一操作系统和第二操作系统,所述第一操作系统和所述第二操作系统通信连接,所述第二操作系统运行测试用例,并通过所述第一操作系统的显示界面显示所述测试用例的运行内容;控制装置,所述控制装置包括输入单元、通信模块和图形处理模块,所述输入单元用于接收用户的输入指令,所述控制装置通过所述通信模块发送所述输入指令,所述第一操作系统通过与所述通信模块的连接接收所述输入指令,所述输入指令包括截图指令,所述第一操作系统基于所述截图指令获取并发送所述显示界面的截屏图片,所述图形处理模块通过所述通信模块接收所述截屏图片,并基于所述截屏图片生成测试报告。生成测试报告。生成测试报告。
技术研发人员:苏昱昊 朱进 赵嵩 孙冠男 张悦琪
受保护的技术使用者:一汽-大众汽车有限公司
技术研发日:2022.03.16
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/