CN116501625A - 应用界面测试方法、装置、测试终端、服务器及存储介质 - Google Patents
应用界面测试方法、装置、测试终端、服务器及存储介质 Download PDFInfo
- Publication number
- CN116501625A CN116501625A CN202310394885.7A CN202310394885A CN116501625A CN 116501625 A CN116501625 A CN 116501625A CN 202310394885 A CN202310394885 A CN 202310394885A CN 116501625 A CN116501625 A CN 116501625A
- Authority
- CN
- China
- Prior art keywords
- test
- page
- current application
- log information
- screenshot
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 260
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000000694 effects Effects 0.000 claims abstract description 22
- 238000001545 Page's trend test Methods 0.000 claims description 19
- 238000002360 preparation method Methods 0.000 claims description 6
- 238000010998 test method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011990 functional testing Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000012797 qualification Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- 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
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及车载中控屏技术领域,特别涉及一种应用界面测试方法、装置、测试终端、服务器及存储介质,其中,方法应用于测试终端,其中,方法包括:获取页面截图,依次遍历页面截图上每个可操作元素,通过预设标识标记可操作元素被点击后的页面截图,并获取点击时的日志信息,并通过服务器利用预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于操作路径和/或日志信息生成当前应用页面的测试结果,若测试结果满足预设条件,则判定当前应用页面测试合格,否则判定当前应用页面测试不合格。由此,解决了相关技术中界面测试的脚本编写困难,成本过高,遍历界面覆盖度较低,测试效果不佳,用户体验较差等问题。
Description
技术领域
本申请涉及车载中控屏技术领域,特别涉及一种应用界面测试方法、装置、测试终端、服务器及存储介质。
背景技术
随着汽车技术的快速发展,汽车研发项目的测试任务也逐渐增多,但是对于应用界面的测试,需要投入大量时间和人力成本,严重阻碍了汽车技术的创新发展,这一现状亟待解决。相关技术如下:
(1)一种UI(User Interface,用户界面)自动化测试方法和***,测试用例与测试代码分别存储于不同的文件,并由测试用例驱动测试代码的运行,测试代码在运行过程中调用图片定位工具提供的API(Application Programming Interface,应用程序编程接口)进行控件定位;但是需要投入大量人员、时间、精力去编写UI自动化脚本。
(2)一种UI随机测试方法及装置,可以实现操作对象的有效随机选择,而且使得所有元素在同一个页面地位相同,与元素本身屏幕占比无关,与布局在中心或边缘无关,被触发的机会均等,从而实现了真正意义上的随机测试;但是由于是随机点击页面元素,故存在元素点击不到的可能,点击覆盖度较低,影响测试效果。
发明内容
本申请提供一种应用界面测试方法、装置、测试终端、服务器及存储介质,以解决相关技术中界面测试的脚本编写困难,成本过高,遍历界面覆盖度较低,测试效果不佳,用户体验较差等问题。
本申请第一方面实施例提供一种应用界面测试方法,所述方法应用于测试终端,其中,方法包括以下步骤:获取所述测试终端上当前应用页面的页面截图;框选所述页面截图上所有可操作元素,依次遍历每个可操作元素,通过预设标识标记可操作元素被点击后的页面截图,并获取点击时的日志信息;在遍历结束后将所有标记后的页面截图和所述日志信息上传服务器,其中,所述服务器利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果,若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
根据上述技术手段,本申请实施例可以通过依次遍历页面截图中每个可操作元素,并利用预设标识进行标记和获取日志信息,可以有效提高页面测试的覆盖度,降低了测试问题的遗漏,极大的提升测试效果,同时页面截图可以有效呈现页面的点击效果和业务逻辑,便于用户观察定位问题,提升用户的体验感,然后基于预设标识生成操作路径,基于操作路径和日志信息中的一种或多种生成测试结果,进而判定页面测试是否合格,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
可选地,在本申请的一个实施例中,每个可操作元素被点击后标记的预设标识不同,并按照预设顺序依次添加所述预设标识至所述页面截图。
可选地,在本申请的一个实施例中,所述依次遍历每个可操作元素,包括:利用广度优先遍历、深度优先遍历和自定义起始页面遍历中的任意遍历方式依次遍历每个可操作元素。
根据上述技术手段,本申请实施例可以利用广度优先、深度优先和自定义起始页面中的一种或多种遍历方式对操作元素进行遍历,可以有效提高页面测试的覆盖度,提升测试效果。
可选地,在本申请的一个实施例中,所述日志信息包括每一次遍历的截图页面、可操作元素、Activity、包名和时间中的一种或多种信息。
本申请第二方面实施例提供一种应用界面测试方法,其中,所述方法应用于服务器,其中,所述方法包括以下步骤:获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果;若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
根据上述技术手段,本申请实施例可以通过服务器基于预设标识形成完整的操作路径,基于所述操作路径和所述日志信息中的一种或多种,生成所述当前应用页面的测试结果,并判定结果的合格性,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
本申请第三方面实施例提供一种应用界面测试装置,其中,所述装置应用于测试终端,其中,所述装置包括:第一获取模块,用于获取所述测试终端上当前应用页面的页面截图;准备模块,用于框选所述页面截图上所有可操作元素,依次遍历每个可操作元素,通过预设标识标记可操作元素被点击后的页面截图,并获取点击时的日志信息;测试模块,用于在遍历结束后将所有标记后的页面截图和所述日志信息上传服务器,其中,所述服务器利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果,若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
可选地,在本申请的一个实施例中,所述准备模块进一步用于:利用广度优先遍历、深度优先遍历和自定义起始页面遍历中的任意遍历方式依次遍历每个可操作元素。
本申请第四方面实施例提供一种应用界面测试装置,其中,所述装置应用于服务器,其中,所述装置包括:第二获取模块,用于获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;生成模块,用于利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果;判断模块,用于若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
本申请第五方面实施例提供一种测试终端,所述测试终端上安装有测试程序,利用测试程序执行如上述实施例所述的应用界面测试方法。
本申请第六方面实施例提供一种服务器,包括:前端,用于根据待测设备的测试请求创建测试任务,根据所述测试请求安装测试程序至测试终端,以对所述测试终端内一个或多个应用界面进行功能测试,并显示测试结果;后端,用于获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果;若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
本申请第七方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的应用界面测试方法。
由此,本申请至少具有如下有益效果:
1、本申请实施例可以通过依次遍历页面截图中每个可操作元素,并利用预设标识进行标记和获取日志信息,可以有效提高页面测试的覆盖度,降低了测试问题的遗漏,极大的提升测试效果,同时页面截图可以有效呈现页面的点击效果和业务逻辑,便于用户观察定位问题,提升用户的体验感,然后基于预设标识生成操作路径,基于操作路径和日志信息中的一种或多种生成测试结果,进而判定页面测试是否合格,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
2、本申请实施例可以利用广度优先、深度优先和自定义起始页面中的一种或多种遍历方式对操作元素进行遍历,可以有效提高页面测试的覆盖度,提升测试效果。
3、本申请实施例可以通过服务器基于预设标识形成完整的操作路径,基于所述操作路径和所述日志信息中的一种或多种,生成所述当前应用页面的测试结果,并判定结果的合格性,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的基于测试终端的应用界面测试方法的流程图;
图2为根据本申请实施例提供的基于服务器的应用界面测试方法的流程图;
图3为根据本申请实施例提供的车载中控屏应用界面的自动遍历测试的流程图;
图4为根据本申请实施例提供的深度优先遍历算法的示意图;
图5为根据本申请实施例提供的获取元素和点击逻辑的示意图;
图6为根据本申请实施例提供的自研应用整体工作的流程图;
图7为根据本申请实施例提供的开发自动遍历平台的示意图;
图8为根据本申请实施例提供的开发自动遍历平台后端部分整体流程架构图;
图9为根据本申请实施例提供的选择需要测试的中控屏的示意图;
图10为根据本申请实施例提供的任务列表模块的示意图;
图11为根据本申请实施例提供的任务详情模块的示意图;
图12为根据本申请实施例提供的截图预览模块的示意图;
图13为根据本申请实施例提供的基于测试终端的应用界面测试装置的示例图;
图14为根据本申请实施例提供的基于服务器的应用界面测试装置的示例图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的应用界面测试方法、装置、服务器及存储介质。针对上述背景技术中提到的问题,本申请提供了一种利用自研App、测试平台后端、前端相结合的应用界面测试方法,在该方法中,可以对所有应用界面进行自动遍历测试,按照深度优先遍历算法模拟人工进行有序遍历,自动遍历所有应用,同时提供给测试人员比较清晰的App上下文操作的截图,其中,在遍历整个车机App时,支持白名单、黑名单方式,其中,如果是黑名单方式,需要设置一个App待测列表(包名),AppWalking会测试除黑名单以外的其他App,如果是白名单方式,只会测试白名单内设置的待测列表的App,通过连续多张截图可以很容易看出App界面元素点击前后,页面呈现的效果,以及业务逻辑是否正确,方便观察定位问题,其中,此过程不需要人工去点击,而是通过自研App去点击,并且自动截图上报到测试平台,然后人工去平台上检查测试效果,从而省去了人工去点击各种App各种操作路径,极大地提高了测试效率,降低了测试成本,增加了收益,另外,也可以通过自动化服务设置测试时间,定时启动自动化测试任务,过程中测试数据上报到测试平台,自动分析测试结果,展示测试的收益,如:崩溃、无响应、黑屏等问题。
具体而言,图1为本申请实施例所提供的一种应用界面测试方法的流程示意图,其中,方法应用于测试终端。
如图1所示,该应用界面测试方法包括以下步骤:
在步骤S101中,获取测试终端上当前应用页面的页面截图。
其中,在本申请实施例中获取页面截图的方法有多种,如通过UiAutomation的takeScreenshot方法进行截图,不作具体限定。
在步骤S102中,框选页面截图上所有可操作元素,依次遍历每个可操作元素,通过预设标识标记可操作元素被点击后的页面截图,并获取点击时的日志信息。
其中,每个可操作元素被点击后标记的预设标识不同,并按照预设顺序依次添加预设标识至页面截图,其中,预设标识可以根据实际情况进行设定,不作具体限定。
其中,日志信息包括每一次遍历的截图页面、可操作元素、Activity、包名和时间中的一种或多种信息。
可以理解的是,本申请实施例可以通过依次遍历页面截图中每个可操作元素,并利用预设标识进行标记和获取日志信息,可以有效提高页面测试的覆盖度,降低了测试问题的遗漏,极大的提升测试效果,同时页面截图可以有效呈现页面的点击效果和业务逻辑,便于用户观察定位问题,提升用户的体验感。
进一步地,遍历通过dumpsys dropbox获取crash、anr等异常日志,存储本地log文件中用于研发定位bug,其中,log文件也会记录每一次遍历页面、元素、Activity、包名、时间等信息。
可选地,在本申请的一个实施例中,依次遍历每个可操作元素,包括:利用广度优先遍历、深度优先遍历和自定义起始页面遍历中的任意遍历方式依次遍历每个可操作元素。
可以理解的是,本申请实施例可以利用广度优先、深度优先和自定义起始页面中的一种或多种遍历方式对操作元素进行遍历,可以有效提高页面测试的覆盖度,提升测试效果。
具体而言,在本申请实施例中,通过AppWalking做车载中控屏UI遍历,支持三种遍历方式,分别是广度优先遍历、深度优先遍历和自定义起始页面遍历,其中,在遍历开始前,先将该页面截图,并且截图上显示红线分别框选每一个可操作的元素,框内标记数字为1到N,其次,开始遍历后,每点击元素一次,再次划线框选出该元素,告知该元素刚刚***作过,从而通过截图标记数字,串联起来,形成一个完整的操作路径,很容易查看页面上下文业务逻辑关系。
在步骤S103中,在遍历结束后将所有标记后的页面截图和日志信息上传服务器,其中,服务器利用预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于操作路径和/或日志信息生成当前应用页面的测试结果,若测试结果满足预设条件,则判定当前应用页面测试合格,否则判定当前应用页面测试不合格。
其中,预设条件可以根据测试情况进行设定,如崩溃、无响应、黑屏等,当出现上述测试结果,可以判定测试结果为不合格,不作具体限定。
可以理解的是,本申请实施例可以基于预设标识生成操作路径,基于操作路径和日志信息中的一种或多种生成测试结果,进而判定页面测试是否合格,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
进一步地,在本申请实施例中,遍历测试结束后将所有截图、log文件上报到测试平台,Web页面展示通过缩略图来展示测试App过程中的截图,单个截图展开后显示标记、元素框选和数字标识,其中,图片详情页还包含上一张、下一张、返回、放大、缩小等信息。
根据本申请实施例提出的应用界面测试方法,可以通过依次遍历页面截图中每个可操作元素,并利用预设标识进行标记和获取日志信息,可以有效提高页面测试的覆盖度,降低了测试问题的遗漏,极大的提升测试效果,同时页面截图可以有效呈现页面的点击效果和业务逻辑,便于用户观察定位问题,提升用户的体验感,然后基于预设标识生成操作路径,基于操作路径和日志信息中的一种或多种生成测试结果,进而判定页面测试是否合格,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
基于上述实施例,本申请实施例还提出一种应用界面测试方法,上述实施例应用于测试终端,本实施例应用于服务器,本实施例和上一实施例在描述内容上各有侧重,各实施例之间对于未尽述步骤可相互参考。
如图2所示,该应用界面测试方法包括以下步骤:
在步骤S201中,获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息。
可以理解的是,本申请实施例可以通过数据线连接测试终端和服务器,安装自研App,通过App调用UiDevice和UiSelector,从而获取页面截图和日志信息。
在步骤S202中,利用预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于操作路径和/或日志信息生成当前应用页面的测试结果。
可以理解的是,本申请实施例可以通过服务器基于预设标识形成完整的操作路径,基于操作路径和日志信息中的一种或多种,生成当前应用页面的测试结果,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
在步骤S203中,若测试结果满足预设条件,则判定当前应用页面测试合格,否则判定当前应用页面测试不合格。
可以理解的是,本申请实施例可以将测试结果与预设条件进行比较,从而判定其合格性。
根据本申请实施例提出的应用界面测试方法,可以通过服务器基于预设标识形成完整的操作路径,基于操作路径和日志信息中的一种或多种,生成当前应用页面的测试结果,并判定结果的合格性,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
下面通过另一个实施例对本申请提出的应用界面测试方法进行进一步阐述,如图2所示,本申请实施例主要用于车载中控屏应用界面的自动遍历测试,使用自研App、前端、后端、数据库结合方式,通过App进行有序遍历并截图,上报到测试平台存储和展示,具体实施方法如下:
首先,基于Android***开发自研App,使用深度优先遍历算法模拟用户点击应用界面,其中,如图3所示,深度优先遍历算法(Depth First Search,简称DFS)是经典的图论算法,从某个节点s触发开始搜索,不断搜索直到该节点的所有边均被遍历完成,当节点s的所有边都被遍历后,深度优先遍历算法则需要回溯到s的前驱节点,以此继续搜索这个前驱节点的其他边。
其中,如图4所示,对于获取元素和点击逻辑,在自研App的Main方法中,通过Android对外提供的UiAutomator工具包下的UiDevice和UiSelector,获取当前页面控件元素,按照深度优先遍历顺序,操作当前页面第一个元素进行点击,逐步往下点击,直到途径的界面控件都被点击完成,再递归遍历其他节点的控件元素,其中,当前遍历到某个控件元素同时进行点击操作,即widget.click方法(Android***对外提供的方法),然后就跳转到下一界面,在每次点击后,自研App都会通过UiAutomation的takeScreenshot方法进行截图保存在车机sdcard中,随后会被上传到测试平台做存储和展示,其中,测试过程中,通过dumpsys dropbox实现对crash、anr的监控,其中,整个App的工作流程如图5所示,具体流程如下:
(1)将被测车载中控屏通过数据线连接到服务器。
(2)通过服务器将自研的应用AppWalking安装到车载中控屏上。
(3)执行adb shell命令,触发上一步安装的Appwalking执行预编译的命令。
(4)Android***Framework层的ActivityManager调用Instrumentation仪器启动自研应用AppWalking。
(5)Appwalking调用UiDevice和UiSelector,获取车载中控屏界面元素控件,使用深度优先遍历算法进行UI点击。
(6)在点击控件元素时,调用takeScreenShot方法进行截图,并且实时监控车载中控屏应用是否有异常发生。
(7)将截图、捕获的异常信息、测试报告、测试过程记录等上报到测试平台。
其次,如图6所示,图6中开发自动遍历平台的后端部分,包括预先使用Mysql工具创建库表,用于存储图片信息、crash、ANR(Application Not Responding,应用程序无响应)、日志、测试报告,其中,后端使用Python结合Flask框架开发若干服务用于接收自研应用AppWalking传来的测试数据,并按模块存入对应的数据库表中,其中,后端程序还集成了Jenkins用于远程启动自研应用AppWalking,执行UI自动遍历的任,另外,服务端开发完毕后,部署在有Python环境的linux服务器上,其中,如图7所示,图7为整个流程架构,具体流程如下:
(1)将后端程序打包部署在服务器上,如北京测试实验室的linux服务器。
(2)在两处地方准备有python环境的设备服务器(***linux,windows均可),如北京和重庆。
(3)将设备管理程序部署在设备服务器上,这一步用于设备信息的收集和上报。
(4)将需要测试的车载中控屏分别插在设备服务器节点上,这一步目的是上报中控屏的信息。
(5)如图8所示,在测试平台端选择需要测试的中控屏。
(6)点击执行按钮,此时创建任务,触发远程设备节点的中控屏,执行UI自动遍历的测试任务。
(7)车载中控屏开始执行UI自动遍历任务。
(8)测试过程中产生的异常、报告、截图上报到后端平台,通过逻辑分析,分别存储对应的数据库表中。
其中,如图6所示,图6中开发自动遍历平台的前端部分主要用于创建测试任务、展示测试过程和测试结果,其中,开发中使用到的技术有Vue.js、Element、node.js、axios、webpack,同时前端采用axios异步发送post和get请求到平台后端,其中,前端内容主要包括:测试任务创建、任务列表、任务详情、截图预览等。
其中,如图8所示,任务创建模块内容包括:异地城市选择、设备服务器节点选择、车载中控屏展示列表、被测应用列表和执行按钮。
其中,如图9所示,任务列表模块内容包括:任务id、设备服务器IP(InternetProtocol Address,网际协议地址)、设备IP、项目名称、任务状态、开始时间、结束时间、运行时长、查看测试结果和查看测试日志。
其中,如图10所示,任务详情模块内容包括:字任务id、测试应用名称、应用版本号、异常信息汇总、执行状态、开始时间、结束时间、运行时长、查看测试结果和查看测试日志。
其中,如图11所示,截图预览模块内容包括:图片创建时间、图片内容展示、当前图片索引、放大、缩小、下载、全屏和关闭。
综上,在车载中控屏界面应用UI自动化测试过程中,通过使用自研应用AppWalking结合测试平台前后端,可以省去测试人员编写自动化用例脚本的时间,从根源上省去了由于版本升级维护对以前版本脚本用例维护的时间,由于使用的是按照深度优先顺序遍历UI测试,测试报告中的截图是按照上下文的顺序保存的,降低了测试校验的难度,节省了人力成本,另外,对比monkey工具完全随机操作,AppWalking通过有序遍历可以实现更高的页面测试覆盖度,以及更贴近真实用户对App使用路径,由于本申请实施例中自研工具可以测试车载中控屏中任意的App应用,从而测试效率也得到很大提升。
其次参照附图描述根据本申请实施例提出的应用界面测试装置。
图14是本申请实施例的应用界面测试装置的方框示意图,其中,装置应用于测试终端。
如图14所示,该应用界面测试装置10包括:第一获取模块101、准备模块102和测试模块103。
其中,第一获取模块101,用于获取测试终端上当前应用页面的页面截图;准备模块102,用于框选页面截图上所有可操作元素,依次遍历每个可操作元素,通过预设标识标记可操作元素被点击后的页面截图,并获取点击时的日志信息;测试模块103,用于在遍历结束后将所有标记后的页面截图和日志信息上传服务器,其中,服务器利用预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于操作路径和/或日志信息生成当前应用页面的测试结果,若测试结果满足预设条件,则判定当前应用页面测试合格,否则判定当前应用页面测试不合格。
可选地,在本申请的一个实施例中,准备模块102进一步用于:利用广度优先遍历、深度优先遍历和自定义起始页面遍历中的任意遍历方式依次遍历每个可操作元素。
需要说明的是,前述对应用界面测试方法实施例的解释说明也适用于该实施例的应用界面测试装置,此处不再赘述。
根据本申请实施例提出的应用界面测试装置,可以通过依次遍历页面截图中每个可操作元素,并利用预设标识进行标记和获取日志信息,可以有效提高页面测试的覆盖度,降低了测试问题的遗漏,极大的提升测试效果,同时页面截图可以有效呈现页面的点击效果和业务逻辑,便于用户观察定位问题,提升用户的体验感,然后基于预设标识生成操作路径,基于操作路径和日志信息中的一种或多种生成测试结果,进而判定页面测试是否合格,节省了人工点击操作路径,极大地提高了测试效率,降低了测试成本。
基于上述实施例,本申请实施例还提出一种应用界面测试装置,上述实施例应用于测试终端,本实施例应用于服务器,本实施例和上一实施例在描述内容上各有侧重,各实施例之间对于未尽述步骤可相互参考。
如图14所示,该应用界面测试装置20包括:第二获取模块201、生成模块202和判断模块203。
其中,第二获取模块201,用于获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;生成模块202,用于利用预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于操作路径和/或日志信息生成当前应用页面的测试结果;判断模块203,用于若测试结果满足预设条件,则判定当前应用页面测试合格,否则判定当前应用页面测试不合格。
其次,本申请实施例还提供一种测试终端,测试终端上安装有测试程序,利用测试程序执行如上述实施例的应用界面测试方法。
另外,本申请实施例还提供一种服务器,包括:前端和后端。
其中,前端,用于根据待测设备的测试请求创建测试任务,根据测试请求安装测试程序至测试终端,以对测试终端内一个或多个应用界面进行功能测试,并显示测试结果;后端,用于获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;利用预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于操作路径和/或日志信息生成当前应用页面的测试结果;若测试结果满足预设条件,则判定当前应用页面测试合格,否则判定当前应用页面测试不合格。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的应用界面测试方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种应用界面测试方法,其特征在于,所述方法应用于测试终端,其中,所述方法包括以下步骤:
获取所述测试终端上当前应用页面的页面截图;
框选所述页面截图上所有可操作元素,依次遍历每个可操作元素,通过预设标识标记可操作元素被点击后的页面截图,并获取点击时的日志信息;
在遍历结束后将所有标记后的页面截图和所述日志信息上传服务器,其中,所述服务器利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果,若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
2.根据权利要求1所述的方法,其特征在于,每个可操作元素被点击后标记的预设标识不同,并按照预设顺序依次添加所述预设标识至所述页面截图。
3.根据权利要求1所述的方法,其特征在于,所述依次遍历每个可操作元素,包括:
利用广度优先遍历、深度优先遍历和自定义起始页面遍历中的任意遍历方式依次遍历每个可操作元素。
4.根据权利要求1所述的方法,其特征在于,所述日志信息包括每一次遍历的截图页面、可操作元素、Activity、包名和时间中的一种或多种信息。
5.一种应用界面测试方法,其特征在于,所述方法应用于服务器,其中,所述方法包括以下步骤:
获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;
利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果;
若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
6.一种应用界面测试装置,其特征在于,所述装置应用于测试终端,其中,所述装置包括:
第一获取模块,用于获取所述测试终端上当前应用页面的页面截图;
准备模块,用于框选所述页面截图上所有可操作元素,依次遍历每个可操作元素,通过预设标识标记可操作元素被点击后的页面截图,并获取点击时的日志信息;
测试模块,用于在遍历结束后将所有标记后的页面截图和所述日志信息上传服务器,其中,所述服务器利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果,若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
7.一种应用界面测试装置,其特征在于,所述装置应用于服务器,其中,所述装置包括:
第二获取模块,用于获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;
生成模块,用于利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果;
判断模块,用于若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
8.一种测试终端,其特征在于,所述测试终端上安装有测试程序,利用测试程序执行如权利要求1-4任意一项所述的应用界面测试方法。
9.一种服务器,其特征在于,包括:
前端,用于根据待测设备的测试请求创建测试任务,根据所述测试请求安装测试程序至测试终端,以对所述测试终端内一个或多个应用界面进行功能测试,并显示测试结果;
后端,用于获取测试终端在遍历结束后上传的带有预设标识的页面截图和日志信息;利用所述预设标识串联所有页面截图对应的点击操作形成完整的操作路径,基于所述操作路径和/或所述日志信息生成所述当前应用页面的测试结果;若所述测试结果满足预设条件,则判定所述当前应用页面测试合格,否则判定所述当前应用页面测试不合格。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-5任一项所述的应用界面测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310394885.7A CN116501625A (zh) | 2023-04-13 | 2023-04-13 | 应用界面测试方法、装置、测试终端、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310394885.7A CN116501625A (zh) | 2023-04-13 | 2023-04-13 | 应用界面测试方法、装置、测试终端、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501625A true CN116501625A (zh) | 2023-07-28 |
Family
ID=87315936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310394885.7A Pending CN116501625A (zh) | 2023-04-13 | 2023-04-13 | 应用界面测试方法、装置、测试终端、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501625A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971641A (zh) * | 2023-11-24 | 2024-05-03 | 北京东舟技术股份有限公司 | 应用界面的遍历测试方法及电子设备 |
-
2023
- 2023-04-13 CN CN202310394885.7A patent/CN116501625A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971641A (zh) * | 2023-11-24 | 2024-05-03 | 北京东舟技术股份有限公司 | 应用界面的遍历测试方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110888414B (zh) | 一种车辆控制器升级的测试方法 | |
CN108959059B (zh) | 一种测试方法以及测试平台 | |
US10860407B2 (en) | Dynamic error code, fault location, and test and troubleshooting user experience correlation/visualization systems and methods | |
US20140112154A1 (en) | Managing captured network traffic data | |
CN107080945B (zh) | 测试游戏中人工智能行为的方法、装置及电子设备 | |
CN110659202A (zh) | 客户端自动化测试方法及装置 | |
CN116501625A (zh) | 应用界面测试方法、装置、测试终端、服务器及存储介质 | |
CN113535538B (zh) | 应用全链路自动化测试方法、装置、电子设备和存储介质 | |
CN111338931A (zh) | 埋点测试方法、装置、设备及存储介质 | |
CN111414309A (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN111124894B (zh) | 代码覆盖率的处理方法、装置和计算机设备 | |
CN112153375A (zh) | 基于视频信息的前端性能测试方法、装置、设备及介质 | |
CN111159023A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
CN114141302A (zh) | 固态硬盘的测试方法及电子设备 | |
CN112148616B (zh) | 一种性能测试管理平台 | |
CN113126993A (zh) | 应用于车辆检测软件的自动化测试方法及其*** | |
KR101460860B1 (ko) | 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법 | |
CN112019404A (zh) | 一种fc-ae-1553通信协议芯片自动化测试的方法及装置 | |
CN114115168A (zh) | 故障注入测试*** | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN113806209A (zh) | 接口测试方法、框架、计算机设备和存储介质 | |
CN116257437A (zh) | 基于实车数据回注的adas***缺陷验证方法及装置 | |
US20160132424A1 (en) | Simulating sensors | |
CN111679924B (zh) | 构件化软件***可靠性仿真方法、装置及电子设备 | |
CN114356769A (zh) | 软件的学习方法、装置、设备及存储介质 |
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 |