CN113126993B - 应用于车辆检测软件的自动化测试方法及其系统 - Google Patents
应用于车辆检测软件的自动化测试方法及其系统 Download PDFInfo
- Publication number
- CN113126993B CN113126993B CN202110535008.8A CN202110535008A CN113126993B CN 113126993 B CN113126993 B CN 113126993B CN 202110535008 A CN202110535008 A CN 202110535008A CN 113126993 B CN113126993 B CN 113126993B
- Authority
- CN
- China
- Prior art keywords
- host
- vehicle detection
- detection software
- tree
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000001514 detection method Methods 0.000 claims description 31
- 239000000284 extract Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供应用于车辆检测软件的自动化测试方法及其系统,方法包括:S1:预设各品牌车辆对应的配置文件,配置文件记录有该品牌车辆的层级数;S2:PC主机与终端建立连接;S3:运行终端上的车辆检测软件;S4:PC主机定时获取终端的界面,并解析获取其中的层级结构和节点属性;S5:PC主机依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;S6:PC主机依据所述UI树,确定待选定的节点属性;S7:PC主机控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历。能够实现全自动测试车辆检测软件,使测试车辆检测软件的工作效率、测试精确度以及便捷性均得到显著提升。
Description
技术领域
本发明涉及软件测试领域,具体涉及应用于车辆检测软件的自动化测试方法及其系统。
背景技术
车辆检测软件在开发的过程中,随着不断地迭代更新,后端的server也在不断地开发新的功能,产品测试过程中后端可能会提供一些错误的数据和/或行为,从而导致车辆数据读取错误,全车故障码等。因此,在车辆检测软件上线的前期,需要通过黑盒白盒等测试,测试内容包括但不限于:需要测试人员根据预设条件进行相应地操作,针对客户端和服务器端进行应用程序编程接口的测试;需要手动点击后再确认等待测试结果,再进行下一个电控的软件测试。
再者,由于目前车辆检测软件中车辆品牌不同,层级目录也有所不同,通讯方式、通讯协议标准略有差异,不同厂家也有各自的定义方式。因此,在实现软件的同时也需要遵循厂家定义,从而导致了测试方式的适配也要跟着变化,这将进一步增加人工测试的复杂程度和工作量。
可见,测试一个品牌的车辆往往就需要大量的人力投入以及大量的电控点击频繁的人机交互,更何况更多的场景是需要能够支持对多个品牌的车辆进行检测。因此,目前的人工对车辆检测软件进行测试的方式,容易存在人为因素带来的漏测、多测、测错等风险,从而影响了开发效率,研发进度。
本发明为确保车辆检测软件在上线前能够发现可能引起车辆事故的问题点,提升软件的应用价值,提出一种应用于车辆检测软件的自动化测试方法及其系统,从而解决上述问题。
发明内容
本发明所要解决的技术问题是:提供应用于车辆检测软件的自动化测试方法及其系统,能够全自动地控制车辆检测软件对任一品牌车辆的全车型进行检测,显著提升对车辆检测软件进行测试的效率和便捷性。
为了解决上述技术问题,本发明采用的技术方案为:
应用于车辆检测软件的自动化测试方法,包括:
S1:预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数;
S2:PC主机与终端建立连接;
S3:运行终端上的车辆检测软件;
S4:PC主机定时获取终端的界面,并解析获取其中的层级结构和节点属性;
S5:PC主机依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;
S6:PC主机依据所述UI树,确定待选定的节点属性;
S7:PC主机控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历;
S8:存储所述车辆检测软件的检测数据。
本发明提供的另一个技术方案为:
应用于车辆检测软件的自动化测试系统,包括:PC主机和终端,所述PC主机与所述终端建立连接,所述PC主机上预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数;
所述系统还包括:
车辆检测软件,所述车辆检测软件在PC主机上运行;
第一程序,所述第一程序在被所述PC主机运行时执行包括下述步骤:
S4:定时获取终端的界面,并解析获取其中的层级结构和节点属性;
S5:依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;
S6:依据所述UI树,确定待选定的节点属性;
S7:控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历;
S8:存储所述车辆检测软件的检测数据。
本发明的有益效果在于:基于本发明,只需在PC主机预设有记录品牌车辆层级结构的配置文件,便可控制车辆检测软件对该品牌的全车型进行自动化检测,获取该品牌全车型的检测结果,以准确地评估车辆检测软件。由于免去人机交互过程,因此能够完全规避人为因素在测试效率以及精确度方面带来的损耗,从而实现智能化测试车辆检测软件,使测试车辆检测软件的工作效率、测试精确度以及便捷性均得到显著提升。
附图说明
图1为本发明一实施例一种应用于车辆检测软件的自动化测试方法的流程示意图;
图2为本发明一实施例一种应用于车辆检测软件的自动化测试方法的系统框架示意图;
图3为本发明实施例二的系统框架示意图;
图4为本发明实施例中通用汽车的层级结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明涉及的技术术语解释:
请参照图1,本发明提供应用于车辆检测软件的自动化测试方法,包括:
S1:预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数;
S2:PC主机与终端建立连接;
S3:运行终端上的车辆检测软件;
S4:PC主机定时获取终端的界面,并解析获取其中的层级结构和节点属性;
S5:PC主机依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;
S6:PC主机依据所述UI树,确定待选定的节点属性;
S7:PC主机控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历;
S8:存储所述车辆检测软件的检测数据。
从上述描述可知,本发明的有益效果在于:有效地解决了在测试车辆检测软件对不同品牌车辆进行检测时,由于各品牌标准不统一,层级结构不相同,实车环境复杂度大等问题而导致难以获取检测软件对所有品牌车辆进行检测的结果,进而导致无法对车辆检测软件进行全面地测试,精准评估其实用性和检测精度的问题。能够实现全自动地控制软件对品牌全车型进行检测,不仅不需要实车的app数据功能;而且规避人为因素的干扰,从而显著提升软件的测试效率和准确性。
进一步地,所述S4:PC主机定时获取终端的界面,并解析获取其中的层级结构和节点属性,包括:
S41:预先安装于终端上的UI服务程序定时抓取终端的界面后,发送至PC主机的UI层级接收器;
S42:所述UI层级接收器解析接收到的界面,获取界面中的层级结构和节点属性。
由上述描述可知,通过终端上UI服务器程序与PC主机上UI层级接收器之间的交互,实现了对车辆检测软件当前运行界面上层级结构和节点属性的准确获取。
进一步地,所述S5:PC主机依据选定的配置文件,以及所获取的层级结构和节点属性,形成UI树,包括:
S51:PC主机依据选定的配置文件中记录的层级结构,构建一对应的树形框架结构;
S52:PC主机依据当前获取的节点属性,获取对应的节点对象;
S53:PC主机依据当前获取的层级结构,通过pocoui库将所述节点对象添加到所述树形框架结构中对应的层级中,形成最新的UI树。
由上述描述可知,利用车辆检测软件既有的全品牌全车型参数记录,结合特定品牌车辆的配置文件,能够在获取软件当前界面中节点属性的值后,再利用该值构建对应的UI树,以便按照顺序遍历检测的原则确定所要点击的节点属性,实现控制软件自动点击。
进一步地,所述S6:PC主机依据所述UI树,确定待选定的节点属性,包括:
S6:PC主机顺序遍历UI树,遍历到未完整分支时,依据所述未完整分支的最后一个节点对象,确定对应终端的待选定的节点属性。
由上述描述可知,判断是否对品牌下每一个车型各个配置的车辆的所有电控模块均检测过,只需判断每一分支是否完整便可实现。在此,通过结合配置文件记载的层级结构以及当前UI树中分支最后一个节点所处的层级,能够快速且准确地确认当前分支的完整性,并在不完整时,结合终端界面记载的节点属性,明确未完整分支的下一个节点对象,从而确保品牌的全车型的各个配置都得到全面的检测。
进一步地,所述S7中所述PC主机控制所述车辆检测软件选定所述待选定的节点属性,包括:
当所述待选定的节点属性对应电控模块,则PC主机控制所述车辆检测软件选定所述待选定的节点属性后,通过Xposed工具模拟所述电控模块的数据回传。
由上述描述可知,针对电控模块,可以通过Xposed替换函数的方式对蓝牙回传函数进行替换模拟车辆回传重现,从而解决由于车辆车型不同需要来回切换仿真文件的问题,同时也能实现全程自动化地完成对检测软件的测试。
进一步地,所述S2,具体包括:
S21:两个以上的终端分别与PC主机上不同的虚拟机建立连接;
S22:PC主机获取与其连接的终端的唯一序列号;
S23:存储各个虚拟机与所连接的终端的唯一序列号之间的关联关系。
由上述描述可知,能够通过一台PC主机同时对多个终端上运行的车辆检测软件进行测试,即能够实现同时获取一个车辆检测软件对多个品牌车辆进行测试的结果;又能够实现同步对多个车辆检测软件进行测试。因此,显著提升了车辆检测软件的测试效率,节省大量测试时间。
进一步地,所述S8:存储所述车辆检测软件的检测数据,包括:
S8:PC主机对应不同的终端,分别提取并存储其上运行的车辆检测软件的检测数据。
由上述描述可知,有助于准确分辨不同车辆检测软件和不同检测批次的检测数据。
请参阅图2,本发明提供的另一个技术方案为:
应用于车辆检测软件的自动化测试系统,包括:PC主机和终端,所述PC主机与所述终端建立连接,所述PC主机上预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数;
所述系统还包括:
车辆检测软件,所述车辆检测软件在PC主机上运行;
第一程序,所述第一程序在被所述PC主机运行时执行包括下述步骤:
S4:定时获取终端的界面,并解析获取其中的层级结构和节点属性;
S5:依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;
S6:依据所述UI树,确定待选定的节点属性;
S7:控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历;
S8:存储所述车辆检测软件的检测数据。
进一步地,所述系统还包括:
第二程序,当所述待选定的节点属性对应电控模块,PC主机控制所述车辆检测软件选定所述待选定的节点属性后,所述第二程序将被PC主机调用,执行模拟所述电控模块的数据回传的步骤。
进一步地,所述终端的数量为两个以上;所述PC主机上装载有两个以上的虚拟机;两个以上的终端分别与不同的虚拟机建立连接;
所述PC主机,用于获取与其连接的终端的唯一序列号,以及存储各个虚拟机与所连接的终端的唯一序列号之间的关联关系。
从上述描述可知,对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。所述程序在被处理器执行后,同样能够实现对应各方法的有益效果。
其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
实施例一
请参照1和图2,本实施例提供一种应用于车辆检测软件的自动化测试方法,可以包括以下步骤:
S1:预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数。例如,通用品牌的配置文件中记录有其层级有7层;丰田品牌的配置文件中记录有其层级数为8。
在实际运用时,通过选定某一品牌车辆对应的配置文件,便可通过后续步骤的执行实现自动控制车辆检测软件对该品牌全车型车辆进行检测,便于测试检测软件。
S2:PC主机与终端建立连接。
可选地,PC主机与终端之间可以采用有线或无线的方式进行连接。其中,有线连接方式包括USB或SSL等;无线连接包括蓝牙、Wi-Fi、局域网等。
优选地,二者通过USB建立连接,保证数据传输的稳定性和速度。
通过上述步骤实现了PC主机与终端之间通信通道的建立,而在实际运用时,PC主机可以通过init_device和AndroidUiautomationPoco函数API获取对连接的设备(即终端)控制。
在一具体示例中,可以通过向终端预先安装用于提供数据传输服务的UI服务程序来实现对传输数据的收发控制。
S3:运行终端上的车辆检测软件。
车辆检测软件中至少存储有一个品牌车辆全车型的层级结构和节点属性,以实现对该品牌车辆的检测。现有技术中,车辆检测软件使用时,需要先通过手动点击,从待检测车辆的品牌至电控模块逐级选择后,才能开展对其电控模块的检测。在本实施例中,完全免去了人工操作的过程,而是通过利用对车辆检测软件运行时终端界面的定时抓取,形成UI树后,通过遍历UI树来明确下一步点击的节点对象,从而实现自动点击自动测试。具体实现过程如下:
S4:PC主机定时获取终端的界面,并解析获取其中的层级结构和节点属性。
具体而言,上述S4可以包括:
S41:预先安装于终端上的UI服务程序定时抓取终端的界面后,发送至PC主机的UI层级接收器;
S42:所述UI层级接收器解析接收到的界面,获取界面中的层级结构和节点属性。
在此,通过终端上的UI服务程序与PC主机上的UI层级接收器的交互,实现了PC主机从终端上获取终端界面数据。
例如,检测软件一开始,将通过界面显示车辆的各个品牌,让用户可以从中选定待检测车辆的品牌,在选定品牌后,将显示该品牌下所有的年款或系列,如1999款、2000款、2001款等年款名称,或者别克、雪佛兰、凯迪拉克等系列名称,之后继续逐级选择。这么一来,在界面进行到年款/系列选择时,通过定时抓取界面显示内容,便可获取到品牌-年款/系列这两个层级结构和各层级节点及其节点属性。
S5:PC主机依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树。
在此,明确了品牌的层级数后,依据终端逐步获取到的该品牌的层级节点及其节点属性,便可以构建出该品牌的UI树。
具体而言,所述S5可以包括:
S51:PC主机依据选定的配置文件中记录的层级结构,构建一对应的树形框架结构。例如,层级数为6,则构建一个6层的树形框架结构,其中不包含任一节点。
S52:PC主机依据当前获取的节点属性,获取对应的节点对象。
例如,假设本次通过抓取获取到的是“2000款”这一节点属性,则获取对应的节点对象。所述节点对象,指的是该层级节点所有属性的总和。在本例中,可以理解为是第二层级的节点,其节点属性包括样式、格式、内容等属性。
S53:PC主机依据当前获取的层级结构,通过pocoui库将所述节点对象添加到所述树形框架结构中对应的层级中,形成最新的UI树。
利用pocoui库将每一次的层级节点对象以代码形式形成UI树,是不断完善UI树的层级结构的过程。
S6:PC主机依据所述UI树,确定待选定的节点属性。
与界面所显示层级结构相对应的UI树,在需要保证全方位检测的前提下,可以结合预设的层级数,结合遍历UI树的方式,确保层级结构的各个节点均得到选择,每一分支(每一型号的车辆)都被检测。
具体而言,所述S6包括:
PC主机顺序遍历UI树,遍历到未完整分支时,依据所述未完整分支的最后一个节点对象,确定对应终端的待选定的节点属性。
在此,分支是否完整可以由层级数确定。例如,层级数为7,当前分支下的层级仅为6,则可以确认该分支不完整。相应的,若该分支尚未完整,则依据顺序遍历原则,需要继续往下,因此,当前未完整分支的最后一个节点对象,便是对应终端界面当前需要被选定的节点属性,只有被选定后才会继续往下展开选项,进而使PC主机能够继续获取所述最后一个节点对象之后的其他节点对象,保证UI树分支完整性。
S7:PC主机控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历。
据此,实现了自动点击以及自动检测的同步执行;并且,对照遍历顺序,将能够实现顺序地选定各个车型,对其所有电控模块进行逐一检测,从而保证有序地、全面地对特定品牌的全车型进行检测。
在一具体示例中,PC主机中将通过UI层级库,依据得到的所述待选定的节点属性控制终端的UI库服务端执行自动点击操作。
例如,本实施例全自动控制检测的过程可以参考人工操作的过程。具体请参阅图4的“通用汽车”的层级结构示意图。首先,根据配置文件在第一个层级的时候,选择相应的品牌“通用汽车”,后再获取当前界面的层次结构并获取相应的Xpath值(即节点属性),选择相应的车辆年款并记下当前选择的位置,以避免重复测试;选择完年款后需要再选择相应的车系,同时记录下当前选择的车系列;选择完车系后,选择车型并再次记录下当前选择的车型以及未选择的车型;车型选择完后需要选择排量,而后得到该车的电子控制模块列表;在测试单个电控时候同样通过获取UI值进行遍历执行点击操作,在测试完一页内容后根据电控树数量判断是否需要翻页操作,当需要翻页操作的时候执行滑动操作并记录下当前所在页面,而后进行下一页电控模块的测试。
特别的,当所述待选定的节点属性对应电控模块,则PC主机将在控制所述车辆检测软件选定所述待选定的节点属性后,通过Xposed工具模拟所述电控模块的数据回传。
也就是说,如图2所示,PC主机的Android Studio与终端的Xposed程序通过USB建立连接之后,在指定自动点击电控模块的时候还将穿插Xposed程序的执行。具体而言,将通过Xposed写好的程序对蓝牙回传函数进行替换回调,改变程序的执行流程,进入到自身的main函数体内,将替换后的数据回传蓝牙模拟车辆回传数据通信机制,避免在测试不同车型的时候需要来回切换仿真文件;同时将拦截到的发送数据保存;通过该程序获取各个电控需要测试的包括但不限于波特率、管脚、请求码、数据解析方式、数据运用公式等,并将该数据以文本的形式保存在文本文件中,提供该电控模块的测试报告。
以上至电控模块的点击,可以认为是测试一个电子控制模块(即电控模块)的执行流程。在测试完一个电控模块后,通过过程中记录的层级位置将返回到上一层级节点,依据UI树,顺序遍历以测试下一个电控模块。当该层级所有电控模块都测试完后,再返回到上一层级,即“排量”层级,继续下一轮测试,自动化重复以上工作直到回到根节点“通用汽车”,表示整个品牌都测试完毕。
S8:存储所述车辆检测软件的检测数据。
在一具体示例中,通过PC主机中的Loguru工具实现数据的回收分析和存储。
实施例二
本实施例在实施例一的基础上做进一步扩展,使其能够支持支持使用一台PC主机,同时对多个车辆检测软件进行检测,以及使用一台PC主机,运行同一个车辆检测软件,对不同品牌的全车型车辆进行同步检测。
具体而言,请参阅图3,上述实施例一中的步骤S2,将具体包括:
S21:两个以上的终端(对应图示的安卓设备1和安卓设备2)分别与PC主机上不同的VMware虚拟机(对应图示的VMware虚拟机1和VMware虚拟机2)建立连接(如图示通过USB选择驱动器进行连接);其中,每个终端上运行有同一个车辆检测软件或不同的车辆检测软件,具体以测试需求而言;
S22:PC主机获取与其连接的终端的唯一序列号;
S23:存储各个虚拟机与所连接的终端的唯一序列号之间的关联关系。
同时,上述的S8将具体为:PC主机对应不同的终端,分别提取并存储其上运行的车辆检测软件的检测数据。
本实施例实现多台机子(PC主机)测试通过VMware虚拟机的设备区分连接程序,解决一个系统只能连一个终端的问题,实现了一台电脑自动化测试多台设备(终端)。通过PC主机搭建多个终端设备同时检测,大大提高了车辆检测软件产品的上线周期,能够显著提升测试的效率,提升测试方法的实用性。
实施例三
请参照图4,本实施例对应实施例一,提供一具体运用场景。
从手机显示界面上获取年款列表1999到2021,并通过脚本记录识别当前位置,自动点击其中一个年款例如图示的“2000款”;
点击之后在界面上得到车型系列“别克”、“凯迪拉克”、“雪佛兰”;通过脚本记录识别当前位置,自动点击“别克”,得到车型列表:君威、君越等;
通过脚本记录识别当前位置,自动点击“君越”,得到排量列表:2.0、2.5等;
通过脚本记录识别当前位置,自动点击“2.0”,得到电控列表:发动机模块、变速箱模块、电子制动控制器等;
通过脚本记录识别当前位置,自动点击“发动机模块”,记录当前点击的所有节点路径;
得到模块需要测试的列:基本信息、故障码、数据流等;
通过脚本会记录识别当前位置,自动点击“基本信息”,并通过Xposed所写的替换函数模拟回传数据,得到解析结果以及该模块所需要的参数:波特率、管脚、请求地址、返回地址等;
测试完“发动机模块”后,将测试的结果保存到相应目录的文件中;
程序控制界面回归到上级目录,通过写好的脚本记录识别当前位置,自动点击下一个模块,如此反复最终测试完所有的电控模块。
上述操作人工进行的话需要几周时间,但通过实施例一的方法获取的自动化脚本则只需几天即可完成,效率得到显著提升。
实施例四
本实施例对应实施例一至实施例三任一实施例,提供应用于车辆检测软件的自动化测试系统,包括:PC主机和终端,所述PC主机与所述终端建立连接,所述PC主机上预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数;
所述系统还包括:
车辆检测软件,所述车辆检测软件在PC主机上运行;
第一程序,所述第一程序在被所述PC主机运行时执行包括下述步骤:
S4:定时获取终端的界面,并解析获取其中的层级结构和节点属性;
在一具体实例中,所述S4具体包括:
S41:预先安装于终端上的UI服务程序定时抓取终端的界面后,发送至PC主机的UI层级接收器;
S42:所述UI层级接收器解析接收到的界面,获取界面中的层级结构和节点属性。
S5:依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;
在一具体实例中,所述S5具体包括:
S51:PC主机依据选定的配置文件中记录的层级结构,构建一对应的树形框架结构;
S52:PC主机依据当前获取的节点属性,获取对应的节点对象;
S53:PC主机依据当前获取的层级结构,通过pocoui库将所述节点对象添加到所述树形框架结构中对应的层级中,形成最新的UI树。
S6:依据所述UI树,确定待选定的节点属性;
在一具体实例中,所述S6具体包括:PC主机顺序遍历UI树,遍历到未完整分支时,依据所述未完整分支的最后一个节点对象,确定对应终端的待选定的节点属性。
S7:控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历;
S8:存储所述车辆检测软件的检测数据。
进一步地,所述系统还包括:
第二程序,当所述待选定的节点属性对应电控模块,PC主机控制所述车辆检测软件选定所述待选定的节点属性后,所述第二程序将被PC主机调用,执行模拟所述电控模块的数据回传的步骤。
在一具体实例中,所述终端的数量为两个以上;所述PC主机上装载有两个以上的虚拟机;两个以上的终端分别与不同的虚拟机建立连接;
所述PC主机,用于获取与其连接的终端的唯一序列号,以及存储各个虚拟机与所连接的终端的唯一序列号之间的关联关系;以及PC主机对应不同的终端,分别提取并存储其上运行的车辆检测软件的检测数据。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.应用于车辆检测软件的自动化测试方法,其特征在于,包括:
S1:预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数;
S2:PC主机与终端建立连接;
S3:运行终端上的车辆检测软件;
S4:PC主机定时获取终端的界面,并解析获取其中的层级结构和节点属性;
S5:PC主机依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;
S6:PC主机依据所述UI树,确定待选定的节点属性;
S7:PC主机控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历;
S8:存储所述车辆检测软件的检测数据;
所述S5:PC主机依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树,包括:
S51:PC主机依据选定的配置文件中记录的层级数,构建一对应的树形框架结构;
S52:PC主机依据当前获取的节点属性,获取对应的节点对象;
S53:PC主机依据当前获取的层级结构,通过pocoui库将所述节点对象添加到所述树形框架结构中对应的层级中,形成最新的UI树。
2.如权利要求1所述的应用于车辆检测软件的自动化测试方法,其特征在于,所述S4:PC主机定时获取终端的界面,并解析获取其中的层级结构和节点属性,包括:
S41:预先安装于终端上的UI服务程序定时抓取终端的界面后,发送至PC主机的UI层级接收器;
S42:所述UI层级接收器解析接收到的界面,获取界面中的层级结构和节点属性。
3.如权利要求1所述的应用于车辆检测软件的自动化测试方法,其特征在于,所述S6:PC主机依据所述UI树,确定待选定的节点属性,包括:
S6:PC主机顺序遍历UI树,遍历到未完整分支时,依据所述未完整分支的最后一个节点对象,确定对应终端的待选定的节点属性。
4.如权利要求1所述的应用于车辆检测软件的自动化测试方法,其特征在于,所述S7中所述PC主机控制所述车辆检测软件选定所述待选定的节点属性,包括:
当所述待选定的节点属性对应电控模块,则PC主机控制所述车辆检测软件选定所述待选定的节点属性后,通过Xposed工具模拟所述电控模块的数据回传。
5.如权利要求1所述的应用于车辆检测软件的自动化测试方法,其特征在于,所述S2,具体包括:
S21:两个以上的终端分别与PC主机上不同的虚拟机建立连接;
S22:PC主机获取与其连接的终端的唯一序列号;
S23:存储各个虚拟机与所连接的终端的唯一序列号之间的关联关系。
6.如权利要求5所述的应用于车辆检测软件的自动化测试方法,其特征在于,所述S8:存储所述车辆检测软件的检测数据,包括:
S8:PC主机对应不同的终端,分别提取并存储其上运行的车辆检测软件的检测数据。
7.应用于车辆检测软件的自动化测试系统,其特征在于,包括:PC主机和终端,所述PC主机与所述终端建立连接,所述PC主机上预设各品牌车辆对应的配置文件,所述配置文件中记录有对应品牌车辆的层级数;
所述系统还包括:
车辆检测软件,所述车辆检测软件在PC主机上运行;
第一程序,所述第一程序在被所述PC主机运行时执行包括下述步骤:
S4:定时获取终端的界面,并解析获取其中的层级结构和节点属性;
S5:依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树;
S6:依据所述UI树,确定待选定的节点属性;
S7:控制所述车辆检测软件选定所述待选定的节点属性,返回执行S4,直至完成对完整UI树的遍历;
S8:存储所述车辆检测软件的检测数据;
所述S5:依据选定的配置文件,以及当前获取的层级结构和节点属性,形成UI树,包括:
S51:PC主机依据选定的配置文件中记录的层级数,构建一对应的树形框架结构;
S52:PC主机依据当前获取的节点属性,获取对应的节点对象;
S53:PC主机依据当前获取的层级结构,通过pocoui库将所述节点对象添加到所述树形框架结构中对应的层级中,形成最新的UI树。
8.如权利要求7所述的应用于车辆检测软件的自动化测试系统,其特征在于,所述系统还包括:
第二程序,当所述待选定的节点属性对应电控模块,PC主机控制所述车辆检测软件选定所述待选定的节点属性后,所述第二程序将被PC主机调用,执行模拟所述电控模块的数据回传的步骤。
9.如权利要求7所述的应用于车辆检测软件的自动化测试系统,其特征在于,所述终端的数量为两个以上;所述PC主机上装载有两个以上的虚拟机;两个以上的终端分别与不同的虚拟机建立连接;
所述PC主机,用于获取与其连接的终端的唯一序列号,以及存储各个虚拟机与所连接的终端的唯一序列号之间的关联关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110535008.8A CN113126993B (zh) | 2021-05-17 | 2021-05-17 | 应用于车辆检测软件的自动化测试方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110535008.8A CN113126993B (zh) | 2021-05-17 | 2021-05-17 | 应用于车辆检测软件的自动化测试方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113126993A CN113126993A (zh) | 2021-07-16 |
CN113126993B true CN113126993B (zh) | 2023-10-31 |
Family
ID=76782050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110535008.8A Active CN113126993B (zh) | 2021-05-17 | 2021-05-17 | 应用于车辆检测软件的自动化测试方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113126993B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778887B (zh) * | 2021-09-16 | 2022-07-22 | 厦门理工学院 | 软件测试装置及其软件测试方法 |
CN114333102A (zh) * | 2021-12-24 | 2022-04-12 | 北京三快在线科技有限公司 | 一种无人驾驶设备的参数配置方法及配置装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701662A (zh) * | 2013-12-25 | 2014-04-02 | 武汉日电光通信工业有限公司 | 自动化测试终端仿真方法及仿真系统 |
CN104657661A (zh) * | 2015-01-26 | 2015-05-27 | 武汉安天信息技术有限责任公司 | 移动终端中恶意代码的检测方法和装置 |
US9323644B1 (en) * | 2015-09-30 | 2016-04-26 | Semmle Limited | Query-based software dependency analysis |
CN106527412A (zh) * | 2016-12-30 | 2017-03-22 | 埃泰克汽车电子(芜湖)有限公司 | 一种车身控制器的自动化测试装置 |
CN109710506A (zh) * | 2017-10-25 | 2019-05-03 | 卓望数码技术(深圳)有限公司 | 一种基于树遍历的终端app覆盖性测试方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2366183A1 (en) * | 2001-12-21 | 2003-06-21 | Ibm Canada Limited-Ibm Canada Limitee | Dynamic status tree facility |
-
2021
- 2021-05-17 CN CN202110535008.8A patent/CN113126993B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701662A (zh) * | 2013-12-25 | 2014-04-02 | 武汉日电光通信工业有限公司 | 自动化测试终端仿真方法及仿真系统 |
CN104657661A (zh) * | 2015-01-26 | 2015-05-27 | 武汉安天信息技术有限责任公司 | 移动终端中恶意代码的检测方法和装置 |
US9323644B1 (en) * | 2015-09-30 | 2016-04-26 | Semmle Limited | Query-based software dependency analysis |
CN106527412A (zh) * | 2016-12-30 | 2017-03-22 | 埃泰克汽车电子(芜湖)有限公司 | 一种车身控制器的自动化测试装置 |
CN109710506A (zh) * | 2017-10-25 | 2019-05-03 | 卓望数码技术(深圳)有限公司 | 一种基于树遍历的终端app覆盖性测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113126993A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7917895B2 (en) | Automated software testing and validation system | |
CN112817872B (zh) | 开发测试系统及方法 | |
CN113126993B (zh) | 应用于车辆检测软件的自动化测试方法及其系统 | |
CN107302476B (zh) | 一种测试异步交互系统的自动化测试方法与系统 | |
CN102004952B (zh) | 一种测量资源控制系统和测量资源控制方法 | |
CN104424093A (zh) | 一种兼容性测试方法及系统 | |
CN110990285B (zh) | 一种ui自动化测试方法及装置 | |
CN107704389B (zh) | 一种页面测试方法及装置 | |
CN113312260A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN112231206A (zh) | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 | |
CN111814354A (zh) | 仪器性能的模拟测试方法、系统、介质及电子设备 | |
CN115658452A (zh) | 埋点校验方法、埋点校验装置、可读存储介质、电子设备 | |
CN113127486B (zh) | 一种信息收集存储方法、装置、设备及存储介质 | |
CN110740081A (zh) | 对标多家公司页面性能的数据可视化方法 | |
CN114297961A (zh) | 一种芯片测试用例处理方法及相关装置 | |
CN117367546A (zh) | 一种智能燃气表测试用例自动执行系统及方法 | |
CN114942890B (zh) | 一种用户界面测试方法、装置、设备及介质 | |
CN113495844B (zh) | 基于虚拟点击的自动化测试方法、装置、系统及存储介质 | |
CN115576756A (zh) | 一种服务器测试的方法、装置、电子设备及介质 | |
CN102467372A (zh) | 一种测量资源控制系统和测量资源控制方法 | |
CN111008140B (zh) | 一种跨平台的ui自动化测试方法及装置 | |
CN110888807A (zh) | 一种安卓应用自动抓包方法 | |
CN118377726B (zh) | web应用自动化测试方法、计算机装置 | |
CN116185879B (zh) | 基于Python的智能座舱仪表自动化测试方法及系统 | |
CN117225657A (zh) | 一种p板点胶流水线分选方法、存储介质及自动点胶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |