基于Python的智能座舱仪表自动化测试方法及系统技术方案

技术编号:37714272 阅读:18 留言:0更新日期:2023-06-02 00:09
本发明专利技术具体涉及基于Python的智能座舱仪表自动化测试方法及系统,在PC端编写Python脚本,利用CAN工具作为信号收发工具,手机作为声光、文字信号采集工具,结合截图、抓log等脚本,实现自动化执行测试用例、自动截图、自动录像、自动抓log、自动填充测试结果、自动统计测试数据、生成测试报告等完整的测试流程。通过本发明专利技术所述的方法和系统,有效避免人工抓log、录像等复杂耗时工作,节省人力资源成本,使得稳定性和测试效率大大提升;设计测试失败时自动在测试用例excel表格中添加测试失败时间点的功能,便于后期研发处理问题时能够快速定位log信息位置,提高解决bug的工作效率。提高解决bug的工作效率。提高解决bug的工作效率。

【技术实现步骤摘要】
基于Python的智能座舱仪表自动化测试方法及系统


[0001]本专利技术涉及智能座舱仪表自动化测试
,具体涉及基于Python的智能座舱仪表自动化测试方法及系统。

技术介绍

[0002]软件测试是车载智能座舱项目必不可少的环节,执行测试用例是测试人员日常测试的重要工作,也是较为繁杂的工作之一。
[0003]目前行业内执行智能座舱仪表的测试用例,大都是由测试人员人工执行,利用CAN仿真工具,手动发信号,肉眼判断结果,手动填写测试结果,手动拍照,抓取log等。此种方式效率低,耗时长,动辄几千条测试用例,人工执行很容易疲劳,尤其是在执行差别很小的报警信号时很容易出错。另一种方式是基于CANoe编写python或者CAPL脚本进行自动化测试,但是这种测试方式有以下缺点:一是CANoe设备单价较高,且仅能够用于执行测试用例,资源利用率较低;二是CANoe执行的测试用例需要进行特殊编译,比较麻烦,尤其是对于信号更换较频繁的测试项目,维护很繁琐;三是CANoe本身自带的自动化测试功能无法实现一些涉及声光信号的交互性的测试用例,其自带的自动化测试功能只能自动化执行测试用例,不能自动判断声光、文字报警结果,同时输出照片、截图、视频、log等,只适用软件、诊断等文本类测试,不适用于软硬件结合的仪表自动化测试。

技术实现思路

[0004]针对现有智能座舱仪表自动化测试中,人工执行大批量测试用例时效率低、易犯错、耗时长,或利用CANoe只能自动化执行测试用例、不能自动化完成整个测试过程、且费用高昂、需要进行特殊编译、功能单一的问题,提出了基于Python的智能座舱仪表自动化测试方法及系统,采用PC端Python编程,利用CAN工具作为信号收发工具,手机作为声光、文字信号采集工具,结合截图、抓log等脚本,实现自动化执行测试用例、自动截图、自动录像、自动抓log、自动填充测试结果、自动统计测试数据、生成测试报告等完整的测试流程。
[0005]为了实现上述目的,本专利技术通过如下的技术方案来实现:一方面,本专利技术提供基于Python的智能座舱仪表自动化测试方法,所述方法包括:点击运行Python脚本,启动测试系统;Python脚本发出开始录像的控制指令,控制手机对车机仪表屏幕进行自动录像,采集仪表自动化测试过程中的声光信号、文字信号;延时3秒后,Python脚本开始按顺序遍历excel表格中的仪表测试用例,读取每一个仪表测试用例中的每一个单元格的信号并发送给CAN工具;CAN工具转发所述信号到车机,依次驱动车机仪表进行自动化测试;测试人员根据车机仪表屏幕显示及扬声器输出的声音报警信号,结合采集的声光信号、文字信号进行判断,当测试结果与预期结果相符时判定为测试成功,当测试结果与预期结果不符时判定为测试失败。
[0006]作为本专利技术的一种优选方案,所述Python脚本为PC端使用Python软件编写,用于自动执行仪表测试用例,所述Python脚本的功能还包括发出控制指令,所述控制指令包括开始录像、保存或删除录像视频、转发信号、车机仪表自动截图、抓取并保存log、填充颜色、写入测试结果、更新测试数据、生成测试报告的指令。
[0007]作为本专利技术的一种优选方案,测试系统启动前测试人员对excel表格中的仪表测试用例进行人工整理,使每一条仪表测试用例符合测试逻辑,所述测试逻辑指仪表测试用例中每一个单元格的信号在使用后立即回归默认值;excel表格存储在PC端的任意文件夹内, Python脚本中编译有所述excel表格的存储路径和调用excel表格数据的函数,可以利用这个函数遍历存放于excel表格中的每个仪表测试用例。
[0008]作为本专利技术的一种优选方案,测试系统开始运行的同时,Python脚本控制手机对车机仪表屏幕进行自动录像,每30秒在PC端名为LOG的文件夹内自动保存一段录像视频,如果没有检测到PC端键盘空格键按下,则本次录像视频自动覆盖上一个已保存的录像视频,直至检测到空格键按下,录像视频被保存不会被下一个录像视频覆盖,然后继续重新开始录像,以此循环。
[0009]作为本专利技术的一种优选方案,判定为测试成功时,Python脚本发出控制指令,自动删除本次已保存的录像视频,向测试结果对应的单元格内写入Pass,同时将该单元格填充为绿色;延时1秒后再次发出开始录像的控制指令;再次开始录像3秒后,Python脚本自动执行下一条测试用例;重复上述步骤,直至发现与预期结果不符的测试失败项。
[0010]作为本专利技术的一种优选方案,判定为测试失败时,测试人员手动点击PC端键盘空格键暂停仪表自动化测试,同时Python脚本发出控制指令,进行保存录像视频、车机仪表自动截图、抓取并保存log的操作,所述录像视频、截图、log均存储在PC端文件夹内,且文件名称为文件保存的时刻,具体到秒;向测试结果对应的单元格内写入Fail,同时将该单元格填充为红色;测试失败时间点自动填充在excel表格中的备注栏与该条仪表测试用例对应的单元格中;等待时间大于10秒,测试人员再次按下空格键即可从当前仪表测试用例的下一条开始继续执行,直至再次出现测试失败项,以此循环。
[0011]作为本专利技术的一种优选方案,每条仪表测试用例的执行时间T由Python脚本利用响应参数单独设定或统一设定,T值设定的最优区间为3

5秒。
[0012]作为本专利技术的一种优选方案,自动执行仪表测试用例过程中,Python脚本自动同步修改excel表格中名称为“测试报告”的工作表,同步更新测试报告里的数据和图表,生成测试报告。
[0013]作为本专利技术的一种优选方案,所述CAN工具为车载行业内新型仿真工具WIZBUS。
[0014]另一方面,本专利技术提供基于Python的智能座舱仪表自动化测试系统,所述测试系统包括:PC端、CAN工具、手机和车机;所述PC端通过数据线分别与所述车机、手机连接,所述CAN工具和车机连接;
所述PC端为存储有Python脚本和记录仪表测试用例的excel表格的笔记本或台式机电脑,所述Python脚本用于自动执行仪表测试用例和发出控制指令,被执行时实现如上所述的基于Python的智能座舱仪表自动化测试方法;所述CAN工具用于仿真整车CAN通信网络;所述手机用于对车机仪表屏幕进行自动录像,采集仪表自动化测试过程中的声光信号、文字信号;所述车机包括仪表和扬声器,所述仪表为智能座舱用于显示驾驶状态的显示屏幕,用于显示仪表测试用例的执行反馈;所述扬声器为接通到智能座舱主机的喇叭,用于输出仪表自动化测试过程中的声音报警信号。
[0015]与现有技术相比,本专利技术具有的有益效果是:设计自动化执行测试用例,可在保证准确率基础上提高5倍工作效率;以1000条仪表报警类case为标准,人工测试需要8小时不间断工作才能执行完,如果考虑中间测试失败时抓取log、拍照、录视频等,需要12小时不间断工作,使用本专利技术所述方法可在2小时内完成,大大提高工作效率,节省人力资源成本。设计测试用例执行失败时,自动截屏、录像、自动抓本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Python的智能座舱仪表自动化测试方法,其特征在于,所述方法包括:点击运行Python脚本,启动测试系统;Python脚本发出开始录像的控制指令,控制手机对车机仪表屏幕进行自动录像,采集仪表自动化测试过程中的声光信号、文字信号;延时3秒后,Python脚本开始按顺序遍历excel表格中的仪表测试用例,读取每一个仪表测试用例中的每一个单元格的信号并发送给CAN工具;CAN工具转发所述信号到车机,依次驱动车机仪表进行自动化测试;测试人员根据车机仪表屏幕显示及扬声器输出的声音报警信号,结合采集的声光信号、文字信号进行判断,当测试结果与预期结果相符时判定为测试成功,当测试结果与预期结果不符时判定为测试失败;所述Python脚本为PC端使用Python软件编写,用于自动执行仪表测试用例,所述Python脚本的功能还包括发出控制指令,所述控制指令包括开始录像、保存或删除录像视频、转发信号、车机仪表自动截图、抓取并保存log、填充颜色、写入测试结果、更新测试数据、生成测试报告的指令;测试系统开始运行的同时,Python脚本控制手机对车机仪表屏幕进行自动录像,每30秒在PC端名为LOG的文件夹内自动保存一段录像视频,如果没有检测到PC端键盘空格键按下,则本次录像视频自动覆盖上一个已保存的录像视频,直至检测到空格键按下,录像视频被保存不会被下一个录像视频覆盖,然后继续重新开始录像,以此循环。2.如权利要求1所述的基于Python的智能座舱仪表自动化测试方法,其特征在于,测试系统启动前测试人员对excel表格中的仪表测试用例进行人工整理,使每一条仪表测试用例符合测试逻辑,所述测试逻辑指仪表测试用例中每一个单元格的信号在使用后立即回归默认值;excel表格存储在PC端的任意文件夹内, Python脚本中编译有所述excel表格的存储路径和调用excel表格数据的函数,利用这个函数遍历存放于excel表格中的每个仪表测试用例。3.如权利要求1所述的基于Python的智能座舱仪表自动化测试方法,其特征在于,判定为测试成功时,Python脚本发出控制指令,自动删除本次已保存的录像视频,向测试结果对应的单元格内写入Pass,同时将该单元格填充为绿色;延时1秒后再次发出开始录像的控制指令;再次开始录像3秒后,Python脚本自动执行下一条测试用例;重复上述步骤...

【专利技术属性】
技术研发人员:解振雨
申请(专利权)人:润芯微科技江苏有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1