CN116955134A - 页面测试方法及相关设备 - Google Patents
页面测试方法及相关设备 Download PDFInfo
- Publication number
- CN116955134A CN116955134A CN202210651812.7A CN202210651812A CN116955134A CN 116955134 A CN116955134 A CN 116955134A CN 202210651812 A CN202210651812 A CN 202210651812A CN 116955134 A CN116955134 A CN 116955134A
- Authority
- CN
- China
- Prior art keywords
- test
- page
- click
- clicking
- result
- 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 250
- 238000000034 method Methods 0.000 claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 52
- 238000000605 extraction Methods 0.000 claims abstract description 45
- 238000001914 filtration Methods 0.000 claims abstract description 26
- 238000001545 Page's trend test Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 5
- 241000282693 Cercopithecidae Species 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013024 troubleshooting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种页面测试方法及相关设备,所述方法包括:获取待测试页面和测试配置文件;根据所述测试配置文件从所述待测试页面中获取测试区域;对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对所述元素进行过滤,得到测试元素,完成抽取过滤过程;对所述测试元素进行点击并根据所述测试配置文件中的预期结果对点击结果进行对比,得到对比结果并保存,完成点击对比过程;重复执行所述抽取过滤过程和所述点击对比过程,并记录重复次数直至所述重复次数达到预定次数,将保存的所有所述对比结果作为测试结果。
Description
技术领域
本申请涉及终端测试领域,特别是涉及一种页面测试方法及相关设备。
背景技术
页面(例如,UI(User Interface,用户界面))是终端和用户实现交互的渠道,页面能够使得终端完成一些需要有用户参与的功能。随着车辆智能化的发展,由于用车环境的复杂性,车载终端中的页面需要大量的测试后才能投入使用。
通常,页面测试采用向页面发送伪随机的用户事件流(例如按键输入、触摸屏输入、手势输入)来完成。但是伪随机用户事件流无法模拟正常人的操作场景,而且只能测试终端崩溃类型的问题。并且,当页面发生较大的变动时,原先伪随机用户事件流的测试配置文件无法正常执行,导致页面测试效率变低。
发明内容
有鉴于此,本申请的目的在于提出一种页面测试方法及相关设备,用以解决或部分解决上述技术问题。
基于上述目的,本申请的第一方面提供了一种页面测试方法,包括:
获取待测试页面和测试配置文件;
根据所述测试配置文件从所述待测试页面中获取测试区域;
对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对抽取后的所述元素进行过滤,得到测试元素,完成抽取过滤过程;
对所述测试元素进行模拟点击,将点击结果与所述测试配置文件中的预期结果进行对比,得到对比结果,完成点击对比过程;
重复执行所述抽取过滤过程和所述点击对比过程,直至重复次数达到预定次数,将所有所述对比结果作为测试结果。
本申请的第二方面提供了一种页面测试装置,包括:
获取模块,被配置为获取待测试页面和测试配置文件;
配置模块,被配置为根据所述测试配置文件从所述待测试页面中获取测试区域;
抽取模块,被配置为对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对抽取后的所述元素进行过滤,得到测试元素,完成抽取过滤过程;
点击模块,被配置为对所述测试元素进行模拟点击,将点击结果与所述测试配置文件中的预期结果进行对比,得到对比结果,完成点击对比过程;
重复模块,被配置为重复执行所述抽取过滤过程和所述点击对比过程,直至重复次数达到预定次数,将所有所述对比结果作为测试结果。
本申请的第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
本申请的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行第一方面所述方法。
从上面所述可以看出,本申请提供的一种页面测试方法及相关设备,通过测试配置文件向待测试页面提供随机校验的测试场景,采用随机抽取元素和点击操作实现了待测试页面中元素的测试过程,通过将点击结果与提前编辑的预期结果进行对比,兼顾了测试过程的随机性和点击结果的校验能力,根据测试配置文件中的点击和预期结果的关联,通过待测试页面的元素完成测试过程,使得测试配置文件中的点击操作可以随着待测试页面的变动而变动,避免了页面变动对测试的影响,提高了测试区域指定元素的测试效率和针对性。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的页面测试方法的流程示意图;
图2为步骤103的步骤展开示意图;
图3为本申请实施例的预期结果获取的流程示意图;
图4为本申请实施例的页面测试方法的另一个流程示意图;
图5为本申请实施例的对比结果获取的流程示意图;
图6为本申请实施例的预期结果获取的另一个流程示意图;
图7为本申请实施例的测试配置文件的结构示意图;
图8为本申请实施例的测试结果的结构示意图;
图9为本申请实施例的预期配置文件的结构示意图;
图10为本申请实施例的页面测试装置的结构示意图;
图11为本申请实施例的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
如背景技术所述,在安卓系统执行页面测试方法可以采用monkey(猴子)测试方法,monkey测试方法只会无目的点击,无效点击并非正常人的操作场景,并且只能查到一种错误就是崩溃。导致验证场景并非接近人的正常操作,且排查问题的广度有限。
对页面中的功能元素进行测试的过程中,当页面中的需求或功能交互或UI交互变动较大的时候,已写好的页面测试的自动化脚本无法正常执行。导致页面测试受阻,最后由手动测试完成,没有成功的解决释放人力的问题。
由此可见,需要一种具有全面的测试维度、高效的测试场景、针对性的测试手段的测试方法对页面进行测试,并且该方法中的测试场景可以自助拓展。
鉴于此,本申请的实施例提供一种页面测试方法及相关设备,可以应用于包括页面的终端或设备的测试。
可以理解的是,本申请的实施例虽然以安卓系统为例说明,但是本申请的页面方法可以在不同系统上应用,例如,包括Android(谷歌)、iOS(苹果)、windows phone(微软)、Symbian(诺基亚)、BlackBerry OS(黑莓)、web os、windows mobile(微软)、Harmony(鸿蒙)、卓易操作系统(Freeme OS)的手机系统以及包括windows和linux的计算机操作系统。
如图1所示,本实施例的方法包括:
步骤101,获取待测试页面和测试配置文件。
在该步骤中,待测试页面指的是包括测试数据的页面,本实施例优选的待测试页面可以是安卓系统中的屏幕,测试配置文件指的是用于控制页面测试过程的文件,本实施例优选的测试配置文件可以是json(具有一定形式的数据格式)的文件或工具。这样,为后续页面测试提供测试基础。
步骤102,根据所述测试配置文件从所述待测试页面中获取测试区域。
在该步骤中,测试区域指的是待测试页面中指定的用于测试的区域,本实施例优选的测试区域可以是安卓系统中指定应用的模块。具体的,获取测试区域可以通过执行自定义的前提步骤,例如,点击页面中的“路线”,然后点击后续页面中的“导航设置”。这样,实现了对页面有针对性的测试。
步骤103,对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对抽取后的所述元素进行过滤,得到测试元素,完成抽取过滤过程。
在该步骤中,元素指的是页面中能够测试的数据,本实施例优选的元素可以是安卓系统中能够点击的元素。
具体的,在对测试区域中的元素进行随机抽取的过程中,通过测试区域选取、测试元素筛选的方式,可以对安卓系统页面的某个模块进行测试,而不是启动页面后对全局模块的随机点击,这样可以更有针对性的测试某个模块。因为在页面开发持续迭代过程中,每次迭代更新都是某些模块的改动,所以需要更有针对性的测试被改动的模块,而不是全局自由测试,全局自由测试会导致浪费时间且可能没有测试到想测的模块。
这样,通过对元素的抽取过滤,在保证页面测试的灵活性的同时提高了页面测试的针对性。
步骤104,对所述测试元素进行模拟点击并根据所述测试配置文件中的预期结果进行对比,得到对比结果,完成点击对比过程。
在该步骤中,点击指的是页面测试采用的方法,本实施例优选的点击可以是安卓系统中的点击动作。预期结果指的是点击后的预期变化情况,本实施例优选的预期结果可以是安卓系统的预期变化情况。
具体的,点击对比过程包括monkey测试的随机测试属性和自动化的校验属性。相比monkey测试,点击对比过程完成的是有效测试,且可以对每次点击添加校验逻辑。相比自动化校验,点击对比过程具有更随机性和更发散性的测试方式,而不是像自动化校验那样,测试场景仅局限于页面中手动用例的设计,类似于软件测试中的用例测试和自由测试一样,两者缺一不可,也不可替代。
点击对比过程中没有包括配置测试文件编写,可快速对页面进行自动化测试。在页面快速迭代期间或需求改动较大的情况下,已写好的用例自动化脚本因为功能流程的变动或UI变动,导致无法正常执行。点击对比过程可以在页面版本升级前,对页面功能的重要流程,编写数据表将点击和预期结果进行一一对应,例如,定义“点击A”及“点击A后的预期”。这样,可在短时间内完成对页面主流程的所有测试区域的点击和预期结果的数据录入,并在版本升级后通过点击对比代替人力测试,完成页面主流程的测试。
其中,预期结果可以通过常规的页面测试数据录入和稳定版本页面测试数据录入,当预期结果数据库达到一定的规模后,可以覆盖对一个页面的每一个元素的点击都有判断性。预期结果还可以结合机器学习,实现对更多的场景进行测试。
通过对点击结果的对比,实现了页面测试的自动化,减少了页面测试的人工参与度,兼顾了测试过程的随机性和点击结果的校验能力,避免了页面变动对测试的影响,提高了测试区域指定元素的测试效率和针对性,并且,测试配置文件中的预期结果能够进行预期编辑,增加了页面测试的测试场景的广度和自动化能力。
步骤105,重复执行所述抽取过滤过程和所述点击对比过程,直至重复次数达到预定次数,将所有所述对比结果作为测试结果。
在该步骤中,预定次数指的是页面测试的指定测试次数,本实施例优选的预定次数可以是安卓系统中页面的指定测试次数。这样,对页面进行多次循环测试,提高了页面测试的可靠性。
通过上述方案,采用随机抽取元素和点击操作实现了待测试页面中元素的测试过程,通过将点击结果与提前编辑的预期结果进行对比,兼顾了测试过程的随机性和点击结果的校验能力,根据测试配置文件中的点击和预期结果的关联,通过待测试页面的元素完成测试过程,使得测试配置文件中的点击操作可以随着待测试页面的变动而变动,避免了页面变动对测试的影响,提高了测试区域指定元素的测试效率和针对性。
在一些实施例中,如图2所示,所述测试配置文件包括页面测试范围、页面元素名单、点击元素集和所述预期结果,其中,点击元素与所述预期结果一一对应,步骤103具体包括:
步骤1031,获取所述页面元素名单中的黑名单和白名单;
步骤1032,对所述测试元素进行随机抽取,得到抽取元素;
步骤1033,如果所述抽取元素属于所述黑名单,继续对所述测试区域进行随机抽取直至所述抽取元素不属于所述黑名单;
步骤1034,如果所述抽取元素属于所述白名单,将所述抽取元素替换为所述白名单中的预定元素;
步骤1035,将所述抽取元素作为所述测试元素,完成抽取过滤过程。
在上述方案中,自定义黑名单和白名单:(1)定义黑名单的元素,控制不对某些元素进行点击,可自定义屏蔽对某些元素的操作(2)定义白名单的元素,当页面出现白名单中元素会从随机点击变成指定点击,可指定当某些元素出现后即点击。
例如,可以定义黑名单为“地图选点”,在执行随机抽取过程中,对测试区域的随机点击不会点击到这个字样的位置,将他排除在点击范围之外。可以定义白名单为“点击登录”,当执行随机抽取过程中,页面上出现了该字样,会点击该字样,不进行随机点击。
通过上述方案,利用黑名单和白名单以达到控制页面测试完成指定测试元素和指定不测试元素的测试。
在一些实施例中,步骤104具体包括:
如果所述测试元素属于所述点击元素集,获取所述点击元素集中所述测试元素对应的预期结果并对所述测试元素进行点击,并将点击结果与所述预期结果进行对比,得到所述对比结果;
如果所述测试元素不属于所述点击元素集,对所述测试元素进行点击,并将空集作为所述对比结果。
在上述方案中,点击元素集指的是包括预期结果对应的点击元素的集合,本实施例优选的点击元素集可以是json格式的点击和预期结果的数据表。
例如,点击元素集包括“控件A”,其中,“控件A”的对应的预期结果是“展示B”。则在执行随机点击过程,当点击到“控件A”时,对比页面的点击结果和预期结果。
通过上述方案,实现了页面测试的自动化,减少了页面测试的人工参与度,兼顾了测试过程的随机性和点击结果的校验能力。
在一些实施例中,所述如果所述测试元素属于所述点击元素集,获取所述点击元素集中所述测试元素对应的预期结果并对所述测试元素进行点击,并通过点击结果与所述预期结果进行对比,得到所述对比结果,包括:
获取所述点击元素集中所述测试元素对应的预期结果;
保存所述预期结果对应的点击前页面;
对所述测试元素进行点击,得到点击结果页面;
将所述点击结果页面和/或所述点击前页面作为所述对比结果。
在上述方案中,点击前页面指的是测试元素点击前的页面,本实施例优选的点击前页面可以是安卓系统测试元素点击前的页面。点击结果页面指的是点击后出现的结果页面,本实施例优选的点击结果页面可以是安卓系统点击后出现的结果页面。
例如,点击元素集包括“控件A”,其中,“控件A”的对应的预期结果是“展示B”,保存“展示B”对应的点击前页面是“页面A”。对测试元素“控件A”进行点击,得到点击结果页面“页面B”,将“页面A”或“页面B”作为对比结果并保存。
通过上述方案,预期结果对应的点击前页面的保存为后续点击对比过程提供了数据基础,点击对比过程实现了页面测试的自动化,减少了页面测试的人工参与度,兼顾了测试过程的随机性和点击结果的校验能力。
在一些实施例中,所述将所述点击结果页面或所述点击前页面作为所述对比结果,包括:
响应于确定如果所述点击结果页面等于与所述点击前结果页面相同,将所述点击前结果进行删除,将所述点击前结果页面作为所述对比结果并保存;
响应于确定如果所述点击结果页面不等于与所述点击前页面结果不同,将所述点击结果页面和所述点击前结果作为所述对比结果并保存。在上述方案中,点击结果页面和点击前页面的对比可以通过查找点击结果页面和点击前页面的预期结果来完成。
例如,预期结果是:点击元素A(待测试页面a中的元素)可以看见元素B(在页面b中的元素)。
点击元素A之前先对页面b1截屏,然后执行点击A这个操作,点击后获得的页面b2为点击结果页面,通过对比预期结果中的页面b和页面b2是否相同就可以校验是否存在元素B。(1)如果点击A后进入的页面b2没有B,那么认为点击有问题,需要记录这次点击的前后效果。可以保留点击前页面(页面b1)并保留点击结果页面(页面b2),两张截图会在测试报告中体现,这样测试人员看测试报告时可很清晰的看见点击前后的效果。(2)如果校验存在元素b,则认为此次点击A符合预期结果,可以删除点击之间的页面b1截图以节省存储空间。
通过上述方案,为后续输出测试结果清除冗余数据,便于用户发现页面测试过程中出现的问题。
在一些实施例中,如图3所示,所述预期结果的获取流程包括:
步骤201,获取待点击页面;
步骤202,通过预期配置文件获取页面点击范围、点击元素类型、预期结果数量;
步骤203,根据所述页面点击范围从所述待点击页面中获取点击区域;
步骤204,对所述点击区域中符合所述点击元素类型的元素进行随机抽取,得到点击预期元素;
步骤205,对所述点击预期元素进行点击,保存符合所述预期结果数量的点击预期结果作为所述预期结果。
在上述方案中,待点击页面指的是包括点击数据的页面,本申请实施例优选的待点击页面可以是点击结果页面等于点击前页面对应的待测试页面,也可以是稳定版本的页面。预期配置文件指的是用于控制预期结果获取过程的文件,本申请实施例优选的预期配置文件可以是json格式的文件或工具。点击区域指的是待点击页面中指定的用于点击的区域,本实施例优选的点击区域可以是安卓系统中指定应用的模块。点击元素类型指的是预期结果对应的点击元素的类型,本申请实施例优选的点击元素类型可以是ID(Identitydocument,元素身份标识)或text(文本)或ID+text。
通过上述方案,实现了测试配置文件中的预期结果的预期编辑,增加了页面测试的测试场景的广度和自动化能力。
在一些实施例中,所述元素包括:编号、文字或所述编号和所述文字的组合。
在上述方案中,编号指的是测试区域中能够用于点击的号码,本实施例优选的编号可以是ID类型。文字指的是测试区域中能够用于点击的字符,本实施例优选的文字可以是text类型。
通过上述方案,实现了页面测试对某个类型的元素进行点击,增加了页面测试的灵活性。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,在上述各个实施例方法对应实施方案的基础上,可以有如下具体实现情况。
如图4所示,本申请的实施例还可以包括:
步骤301,读取json配置(对应本申请实施例的测试配置文件)获取应用信息(对应本申请实施例的页面),建立于appium(一种自动化测试开源工具)服务连接后调起指定应用。
步骤302,读取json配置中需要执行的前提(对应本申请实施例的测试区域),并执行前提(例如,通过对图面ui的点击,进入指定页面)。
步骤303,读取json配置判断本次测试对哪种元素类型操作(例如,配置a)。
步骤304,进入循环执行阶段(读取配置决定循环执行多少次随机点击操作)。
步骤305,针对ID或text,获取设备屏幕中所有元素信息并截取有效元素有信息(id/text),然后根据配置a的不同类型要求对元素进行随机抽取:(1)根据配置a要求,仅对id操作,对屏幕中所有id元素进行随机抽取(概率:id80%手势20%);(2)根据配置a要求,对id和text操作,对屏幕中所有id和text元素进行随机比例抽取(概率:id40%text40%手势类操作20%);(3)根据配置a要求,仅对text操作,对屏幕中所有text元素进行随机抽取(概率:text80%手势20%)。
步骤306,点击前获取json配置,获取黑名单和白名单,然后根据黑名单和白名单从抽取元素中获取测试元素:(1)当检测到抽取元素是否存在于黑名单中,如元素在黑名单中,放弃本次点击,继续随机抽取;(2)当检测到图面是否存在白名单中的元素,当白名单元素不在图面中,且抽中的元素不在黑名单中;(3)当白名单元素在图面中存在,将抽取元素替换为白名单的指定元素,得到测试元素。(对应本申请实施例的抽取过滤过程)
步骤307,根据测试元素是否存在于checkjson(json文件的名称)对元素进行点击对比:(1)当元素存在于check中,获取checkjson中这个被点击元素对应的预期(预期b),在点击前对屏幕进行截图(为报告做记录问题做准备),对元素进行点击,等待指定时长后,校验图面是否存在指定预期(上面获取的预期b);(2)当检测图面不存在对应的预期元素,记录错误信息,并对当前屏幕进行截图(为报告做记录问题做准备);(3)当检测图面存在对应的预期元素,删除在执行点击前的截图,避免垃圾数据。(对应本申请的点击对比过程)
在一些实施例中,如图5所示,自由自动化执行点击测试(对应本申请实施例的页面测试)中,点击后校验的方式包括:(1)图像对比401,判断预期中如果是一张接入,会在图面中查找是否存在该截图的部分;(2)ID对比402,判断预期中如果是id,会在图面中查找是否与其相符的ID。(3)文字对比403,判断预期中如果是text,会在图面中查找是否与其相符的text。(4)合集对比404,判断预期中是一个合集(如多个文字的合集,aa-bb-cc),会在图面中查找是否存在一个元素存在于这个合集,会在其一则通过,此场景用于UI元素变化较大的场景。
在一些实施例中,如图6所示,预期结果的获取方式可以包括:
步骤501、获取配置(对应于本申请实施例的预期配置文件):(1)决定本次执行点击的次数(循环数)(2)决定此次操作控件类型(对应于本申请实施例的点击元素类型)(2)决定此次自动化每次点击收集的预期个数(对应于本申请实施例的结果预期数量)。
步骤502、开始运行自由自动化,随机点击图面(对应于本申请实施例的点击区域)控件元素。
步骤503、对每次点击进行预期收集,每次点击执行后,在图面中随机抽取1-3个元素信息作为本次点击的预期(1-3个的数量来自于上面的自定义配置)。
步骤504、每次获得的预期信息(对应于本申请实施例的预期结果)写入到checkjson中,作为以后自由自动化的校验预期。
在一些实施例中,如图7所示,配置测试文件的结构可以包括:
测试配置项1为需要测试的应用包名(对应本申请实施例的页面)及主入口名称。
测试配置项2为此次自由自动化(对应本申请实施例的页面测试方法)执行依照哪个json表(对应本申请实施例的测试配置文件)为预期进行校验。
测试配置项3为此次自由自动化执行的总点击次数(对应本申请实施例的预定次数)。
测试配置项4为此次自动化点击元素的范围,该范围包括:只对文字点击或只对id点击或对文字和id都会点击。
测试配置项5为开始自动化或结束自动化。
测试配置项6为查看自动化测试报告的快捷入口。
在一些实施例中,如图8所示,测试结果的结构包括:
结果1:该自由自动化测试点击执行了50次。
结果2:该自由自动化测试校验依赖的json表为”monkey_check“这张表。
结果3:点击”更多“后,出现了预期”语音包“,本次点击校验通过。
结果4:点击”更多“后,没有出现”语音包“字样,本次点击校验失败。
结果5:点击后预期校验为失败的,会将本次点击前的截图和点击后的截图显示在报告中,方便测试者排查问题。
在一些实施例中,如图9所示,预期配置文件的结构包括:
预期配置项1为需要测试的应用包名(对应本申请实施例的待点击页面)及主入口名称(对应本申请实施例的页面点击范围)。
预期配置项2为本次自由收集的预期存入对应json(对应本申请实施例的预期配置文件)的名称。
预期配置项3为需要测试需要执行多少次点击。
预期配置项4为本次自由点击的范围,该范围包括:只对文字点击或只对id点击或对文字和id都会点击。
预期配置项5为自由收集预期的过程中,每次点击后会收集几个元素作为预期。
预期配置项6为开始自动化或结束自动化。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种页面测试装置。
参考图10,所述页面测试装置,包括:
获取模块601,被配置为获取待测试页面和测试配置文件;
配置模块602,被配置为根据所述测试配置文件从所述待测试页面中获取测试区域;
抽取模块603,被配置为对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对所述元素进行过滤,得到测试元素,完成抽取过滤过程;
点击模块604,被配置为对所述测试元素进行点击并根据所述测试配置文件中的预期结果对点击结果进行对比,得到对比结果并保存,完成点击对比过程;
重复模块605,被配置为重复执行所述抽取过滤过程和所述点击对比过程,并记录重复次数直至所述重复次数达到预定次数,将保存的所有所述对比结果作为测试结果。
在一些实施例中,所述测试配置文件包括页面测试范围、页面元素名单、点击元素集和所述预期结果,其中,点击元素与所述预期结果一一对应;所述抽取模块603具体被配置为:
获取所述页面元素名单中的黑名单和白名单;
响应于确定所述测试区域中包括所述白名单中的元素,将所述白名单中的元素作为所述测试元素;
对所述测试区域中的元素进行随机抽取,得到抽取元素;
响应于确定所述抽取元素属于所述黑名单,继续对所述测试区域进行随机抽取直至所述抽取元素不属于所述黑名单;
将所述抽取元素作为所述测试元素,完成抽取过滤过程。
在一些实施例中,点击模块604具体包括:
预期对比单元,被配置为响应于确定所述测试元素属于所述点击元素集,获取所述点击元素集中所述测试元素对应的预期结果并对所述测试元素进行点击,并通过点击结果与所述预期结果进行对比,得到所述对比结果并保存;
直接点击单元,被配置为响应于确定所述测试元素不属于所述点击元素集,对所述测试元素进行点击。
在一些实施例中,预期对比单元具体被配置为:
响应于确定所述测试元素属于所述点击元素集,获取所述点击元素集中所述测试元素对应的预期结果;
保存所述预期结果对应的点击前页面;
对所述测试元素进行点击,得到点击结果页面;
将所述点击结果页面或所述点击前页面作为所述对比结果并保存。
在一些实施例中,预期对比单元具体还被配置为:
响应于确定所述点击结果页面等于所述点击前结果,将所述点击前结果进行删除,将所述点击结果页面作为所述对比结果并保存;
响应于确定所述点击结果页面不等于所述点击前结果,将所述点击结果页面和所述点击前结果作为所述对比结果并保存。
在一些实施例中,点击模块604中的所述预期结果的获取流程包括:
获取待点击页面;
通过预期配置文件获取页面点击范围、点击元素类型、预期结果数量;
根据所述页面点击范围从所述待点击页面中获取点击区域;
对所述点击区域中符合所述点击元素类型的元素进行随机抽取,得到点击预期元素;
对所述点击预期元素进行点击,保存符合所述预期结果数量的点击预期结果作为所述预期结果。
在一些实施例中,抽取模块603中的所述元素包括:编号、文字或所述编号和所述文字的组合。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的页面测试方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的页面测试方法。
本申请实施例优选的电子设备可以是安装有安卓系统的车载电子设备。
图11示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的页面测试方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的页面测试方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的页面测试方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种车辆设备,包括上述实施例中的电子设备,所述车辆设备实现上任意一实施例所述的页面测试方法。
上述实施例的车辆设备用于执行如上任一实施例所述的页面测试方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种页面测试方法,其特征在于,包括:
获取待测试页面和测试配置文件;
根据所述测试配置文件从所述待测试页面中获取测试区域;
对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对抽取后的所述元素进行过滤,得到测试元素,完成抽取过滤过程;
对所述测试元素进行模拟点击,将点击结果与所述测试配置文件中的预期结果进行对比,得到对比结果,完成点击对比过程;
重复执行所述抽取过滤过程和所述点击对比过程,直至重复次数达到预定次数,将所有所述对比结果作为测试结果。
2.根据权利要求1所述的方法,其特征在于,所述测试配置文件包括页面测试范围、页面元素名单、点击元素集和所述预期结果,其中,点击元素与所述预期结果一一对应;
对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对抽取后的所述元素进行过滤,得到测试元素,完成抽取过滤过程,包括;
获取所述页面元素名单中的黑名单和白名单;
对所述测试区域中的元素进行随机抽取,得到抽取元素,所述元素包括:编号、文字或所述编号和所述文字的组合;
如果所述抽取元素属于所述黑名单,继续对所述测试区域进行随机抽取直至所述抽取元素不属于所述黑名单;
如果所述抽取元素属于所述白名单,将所述抽取元素替换为所述白名单中的预定元素;
将所述抽取元素作为所述测试元素,完成抽取过滤过程。
3.根据权利要求2所述的方法,其特征在于,所述对所述测试元素进行点击,将点击结果与所述测试配置文件中的预期结果进行对比,得到对比结果,包括:
如果所述测试元素属于所述点击元素集,获取所述点击元素集中所述测试元素对应的预期结果并对所述测试元素进行点击,并将点击结果与所述预期结果进行对比,得到所述对比结果;
如果所述测试元素不属于所述点击元素集,对所述测试元素进行点击,并将空集作为所述对比结果。
4.根据权利要求3所述的方法,其特征在于,所述如果所述测试元素属于所述点击元素集,获取所述点击元素集中所述测试元素对应的预期结果并对所述测试元素进行点击,并通过点击结果与所述预期结果进行对比,得到所述对比结果,包括:
获取所述点击元素集中所述测试元素对应的预期结果;
保存所述预期结果对应的点击前页面;
对所述测试元素进行点击,得到点击结果页面;
将所述点击结果页面和/或所述点击前页面作为所述对比结果。
5.根据权利要求4所述的方法,其特征在于,所述将所述点击结果页面或所述点击前页面作为所述对比结果,包括:
如果所述点击结果页面与所述点击前页面相同,将所述点击前页面作为所述对比结果;
如果所述点击结果页面与所述点击前页面不同,将所述点击结果页面作为所述对比结果。
6.根据权利要求1所述的方法,其特征在于,所述预期结果的获取流程包括:
获取待点击页面;
通过预期配置文件获取页面点击范围、点击元素类型、预期结果数量;
根据所述页面点击范围从所述待点击页面中获取点击区域;
对所述点击区域中符合所述点击元素类型的元素进行随机抽取,得到点击预期元素;
对所述点击预期元素进行点击,保存符合所述预期结果数量的点击预期结果作为所述预期结果。
7.一种页面测试装置,其特征在于,包括:
获取模块,被配置为获取待测试页面和测试配置文件;
配置模块,被配置为根据所述测试配置文件从所述待测试页面中获取测试区域;
抽取模块,被配置为对所述测试区域中的元素进行随机抽取并根据所述测试配置文件对抽取后的所述元素进行过滤,得到测试元素,完成抽取过滤过程;
点击模块,被配置为对所述测试元素进行模拟点击,将点击结果与所述测试配置文件中的预期结果进行对比,得到对比结果,完成点击对比过程;
重复模块,被配置为重复执行所述抽取过滤过程和所述点击对比过程,直至重复次数达到预定次数,将所有所述对比结果作为测试结果。
8.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6任意一项所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至6任一所述方法。
10.一种车辆设备,其特征在于,包括:如权利要求8所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210651812.7A CN116955134A (zh) | 2022-06-09 | 2022-06-09 | 页面测试方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210651812.7A CN116955134A (zh) | 2022-06-09 | 2022-06-09 | 页面测试方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955134A true CN116955134A (zh) | 2023-10-27 |
Family
ID=88447944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210651812.7A Pending CN116955134A (zh) | 2022-06-09 | 2022-06-09 | 页面测试方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955134A (zh) |
-
2022
- 2022-06-09 CN CN202210651812.7A patent/CN116955134A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871326B (zh) | 一种脚本录制的方法和装置 | |
CN110427331B (zh) | 基于接口测试工具自动生成性能测试脚本的方法 | |
CN107729246B (zh) | 针对目标应用的辅助测试方法、装置、设备及存储介质 | |
CN110413506A (zh) | 测试用例推荐方法、装置、设备及存储介质 | |
CN107622008B (zh) | 一种应用页面的遍历方法和装置 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN110554962A (zh) | 回归测试的流程覆盖方法、服务器及计算机可读存储介质 | |
US20140298297A1 (en) | Automatic feature-driven testing and quality checking of applications | |
CN113065300B (zh) | 芯片eda仿真中回溯仿真波形的方法、系统及装置 | |
CN116245074A (zh) | 芯片验证方法、设备及存储介质 | |
CN110287700B (zh) | 一种iOS应用安全分析方法及装置 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
US20140281719A1 (en) | Explaining excluding a test from a test suite | |
CN115470125B (zh) | 基于日志文件的调试方法、设备以及存储介质 | |
CN111159028A (zh) | 网页测试方法及装置 | |
US10169216B2 (en) | Simulating sensors | |
CN116701208A (zh) | 一种芯片中内核模块的验证方法、系统、芯片和设备 | |
CN116955134A (zh) | 页面测试方法及相关设备 | |
CN114238119A (zh) | 用于安卓应用的自动化测试方法和系统以及存储介质 | |
CN110633196A (zh) | 应用程序的自动化用例执行方法和装置 | |
CN109189369B (zh) | 一种压缩代码的方法及装置 | |
CN115314413B (zh) | 一种can信号测试方法及装置 | |
CN112783759B (zh) | 白盒测试任务执行方法、装置、存储介质和计算机设备 | |
CN114448848B (zh) | 一种交换机的测试方法、装置、电子设备及存储介质 | |
CN114860549B (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 |