CN108959068B - 软件界面测试方法、设备及存储介质 - Google Patents
软件界面测试方法、设备及存储介质 Download PDFInfo
- Publication number
- CN108959068B CN108959068B CN201810567544.4A CN201810567544A CN108959068B CN 108959068 B CN108959068 B CN 108959068B CN 201810567544 A CN201810567544 A CN 201810567544A CN 108959068 B CN108959068 B CN 108959068B
- Authority
- CN
- China
- Prior art keywords
- test
- software interface
- interface
- tested
- current
- 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
Images
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/3692—Test management for test results 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/3688—Test management for test execution, e.g. scheduling of test suites
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
本发明公开了一种软件界面测试方法,包括如下步骤:运行测试用例;所述测试用例包含至少一个作用于被测软件界面的模拟测试操作;响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件;所述UI框架用于渲染所述被测软件界面的界面元素;所述软件界面快照文件包含所述被测软件界面上的多个界面元素的元素参数;对所述软件界面快照文件的界面元素的元素参数进行验证,根据验证结果生成当前的模拟测试操作的测试结果;响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告。实现了对被测软件界面动态内容和文字内容的判断。
Description
技术领域
本发明涉及软件测试领域,尤其涉及一种软件界面测试方法、设备及存储介质。
背景技术
目前的应用程序,大多是用户通过图形界面和软件系统进行交互。系统向用户提供了丰富的图形对象,使应用程序使用起来更加容易和简单。设计良好的界面能够引导用户自己完成相应的操作,起到向导作用。同时好的界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能够给用户带来轻松愉快的感受和成功自信的感受,相反失败的的界面设计,会让用户有挫败感,再实用强大的功能都有可能在用户的畏惧与放弃中付诸东流。
最初的软件测试往往只注重于测试软件的功能和性能,而忽视了人机界面对软件使用者的重要性。随着计算机网络技术的迅猛发展和生产成本的大幅下降,软件界面测试也愈发受到了专家的青睐。人机界面测试是依据用户界面需求和操作使用要求,检查系统界面设计与需求的一致性、人机交互的友好性、操作使用的便捷性及对异常输入的处理能力由于人对设备的操作使用方式存在随意性,测试人员在测试时既要了解用户的使用习惯,又要考虑客户潜在的随意性操作对系统的影响。既要模拟用户的合法操作,又要变动操作步骤或流程,设置更多的非法操作行为,检查系统影响能力、对异常操作的处理能力。
现有的在进行软件界面测试前,会先获取验证用的图片,在对界面进行操作之后,获取界面的截图,留作验证用,在进行软件界面测试时,使用自动化的测试工具模拟鼠标或键盘的操作,然后对界面进行截图,以获取在自动化的测试工具进行模拟鼠标或键盘的操作之后的界面,根据截图与预先获取的图片进行对比,将截图以及预先获取的获取图片进行二值化图像处理,通过比较像素值,如果一致就通过测试,否则就不能通过测试,这样的测试方法需要对自动化测试工具的每次操作之后都进行截图,操作繁琐,而且因为截图操作只能保存界面上静态的信息,对动态内容例如当前的时间无法进行精确的判断,且在对所截取的图片进行验证时,因为比较验证的是像素,对其中的文字内容是无法进行判断的。
发明内容
有鉴于此,本发明实施例提供一种软件界面测试方法、设备及存储介质,以解决现有技术中对软件界面测试时截图操作繁琐,且不能对软件界面中的文字内容、动态内容例如当前的时间进行精确的判断的技术问题。
第一方面,本发明实施例提供了一种软件界面测试方法,包括如下步骤:
运行测试用例;所述测试用例包含至少一个作用于被测软件界面的模拟测试操作;
响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件;所述UI框架用于渲染所述被测软件界面的界面元素;所述软件界面快照文件包含所述被测软件界面上的多个界面元素的元素参数;
对所述软件界面快照文件的界面元素的元素参数进行验证,根据验证结果生成当前的模拟测试操作的测试结果;
响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告。
在第一方面的第一种可能实现方式中,还包括:在当前的模拟测试操作的测试结果为测试不通过或者所述测试用例中所有的模拟测试操作的测试结果均已被获取到时,停止测试;
则所述响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告,包括:
响应于测试结束,判断获取到的所有模拟测试操作的测试结果是否均为测试成功,若是,则生成所述被测软件界面测试成功的测试报告,否则生成所述被测软件界面测试失败的测试报告。
在第一方面的第二种可能实现方式中,所述软件界面快照文件为xml文件。
结合第一方面以及第一方面的第二种可能方式,在第一方面的第三种可能实现方式中,所述界面元素的元素参数包括元素类型、位置、状态、颜色、图片、文字中的一个或多个。
在第一方面的第四种可能实现方式中,所述模拟测试操作包括模拟光标移动操作、模拟点击操作和模拟输入操作中的一个或多个。
在第一方面的第五种可能实现方式中,所述响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取被测软件界面当前的软件界面快照文件,包括:
响应于当前的模拟测试操作的执行完毕,根据当前的模拟测试操作生成一个快照获取指令;
向所述UI框架发送所述快照获取指令,以使得所述UI框架根据当前渲染信息返回所述被测软件界面当前的软件界面快照文件。
在第一方面的第六种可能实现方式中,所述对所述软件界面快照文件的界面元素的元素参数进行验证,将验证结果作为当前的模拟测试操作的测试结果,具体包括:
根据预设的状态条件对所述界面元素的元素参数进行一致验证;
当所述界面元素的元素参数与所述预设的状态条件一致时,根据验证结果生成的当前的模拟测试操作的测试结果为测试通过;
当所述界面元素的元素参数与所述预设的状态条件不一致时,根据验证结果生成的当前的模拟测试操作的测试结果为测试不通过。
在第一方面的第七种可能实现方式中,还包括:
在当前的模拟测试操作的测试结果为测试不通过时,调用所述当前的模拟测试操作相对应图像,以生成图像集合;其中,所述图像为运行所述测试用例时,所述被测软件界面的界面图像。
第二方面,本发明实施例还提供了一种软件界面测试设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的软件界面测试方法。
第三方面,本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的软件界面测试方法。
实施本发明实施例具有如下有益效果:
运行测试用例,所述测试用例包含至少一个作用于被测软件界面的模拟测试操作,实现对软件界面操作的模拟,以便能对所述被测软件界面进行软件界面的测试;响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件;所述UI框架用于渲染所述被测软件界面的界面元素;所述软件界面快照文件包含所述被测软件界面上的多个界面元素的元素参数,通过UI框架渲染被测软件的界面,进而能获取被测软件的界面快照文件,进而能获取得到所述被测界面上的动态内容例如当前的时间以及文字内容等,解决现有技术中通过截图,自动化的测试工具无法获取相应的内容的技术问题,对所述软件界面快照文件的界面元素的元素参数进行验证,根据验证结果生成当前的模拟测试操作的测试结果,解决了现有技术中通过截图,自动化的测试工具无法对所述被测界面上的动态内容例如当前的时间以及文字内容等进行判断验证的技术问题。响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告,能根据测试结果生成测试报告,完成测试任务。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例一提供的软件界面测试设备的示意图;
图2是本发明实施例二提供的一种软件界面测试方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
所属技术领域的技术人员知道,本发明可以实现为设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种虚拟机,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
实施例一
请参见图1,图1是本发明实施例一提供的软件界面测试设备的示意图,用于执行本发明实施例提供的软件界面测试方法,如图1所示,该软件界面测试设备包括:至少一个处理器11,例如CPU,至少一个网络接口14或者其他用户接口13,存储器15,至少一个通信总线12,通信总线12用于实现这些组件之间的连接通信。其中,用户接口13可选的可以包括USB接口以及其他标准接口、有线接口。网络接口14可选的可以包括Wi-Fi接口以及其他无线接口。存储器15可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器15可选的可以包含至少一个位于远离前述处理器11的存储装置。
在一些实施方式中,存储器15存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统151,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
程序152。
具体地,处理器11用于调用存储器15中存储的程序152,执行上述实施例所述的软件界面测试方法。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述软件界面测试方法的控制中心,利用各种接口和线路连接整个所述软件界面测试方法的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现软件界面测试的电子装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述软件界面测试集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
下面将参照附图来描述根据本发明实施例的软件界面测试的方法。
在软件编写完成之后,即自动化测试工具,可以在安装有操作系统的计算机(物理机或虚拟机)上测试软件界面,以检验在所述软件界面中是否存在缺陷,如果在软件中存在缺陷,会响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告,完成测试。
实施例二
图2是本发明实施例二提供的一种软件界面测试方法的流程示意图。
S11、运行测试用例;所述测试用例包含至少一个作用于被测软件界面的模拟测试操作。
需要说明的是,所述测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例(TestCase)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不同的趋势。测试用例是“一组输入、执行条件、预期结果”、包括清晰的输入数据和预期输出,没有测试数据的用例最多只具有指导性的意义,不具有可执行性。
在本发明实施例中,所述测试用例包含至少一个作用于被测软件界面的模拟测试操作,自动化测试工具根据所述测试用例中的模拟测试操作进行相应的操作。例如,对所述被测软件界面的A界面,所述测试用例包括了模拟测试操作a,b和c,且所述模拟测试操作的顺序分别是a、c、b,则自动化工具所述A界面上分别执行操作a、c、b;对所述被测软件界面的B界面,所述测试用例包括了模拟测试操作d,则自动化工具所述B界面上执行操作d。
优选地,所述模拟测试操作包括模拟光标移动操作、模拟点击操作和模拟输入操作中的一个或多个。
其中,所述模拟光标移动操作可以是模拟鼠标、键盘或屏幕输入区域的操作,例如是通过模拟鼠标实现的光标移动或点击等,通过模拟键盘实现点击或输入的操作,也可以是通过模拟屏幕输入区对光标的移动、点击或输入的操作;其中,所述模拟光标移动包括了模拟光标的滑动、拖拉等操作,模拟点击操作包括对界面元素的选中等操作,模拟输入操作包括模拟文字的输入、字符的输入等,所述模拟测试操作主要是为了实现模拟用户对被测软件的界面的合法操作,又要模拟用户可能存在的变动操作步骤或流程,设置更多的非法操作行为,检查系统影响能力、对异常操作的处理能力,以此检测被测软件的界面,本发明对此不作具体限定。
S12、响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件;所述UI框架用于渲染所述被测软件界面的界面元素;所述软件界面快照文件包含所述被测软件界面上的多个界面元素的元素参数。
在本实施例中,所述当前的模拟测试操作是在上一次验证完成之后,下一次验证开始前的模拟测试操作,其中,所述当前的模拟测试操作包括模拟光标移动操作、模拟点击操作和模拟输入操作中的一个或多个。
在本实施例中,搭建一个UI框架,并在UI框架内设置功能模块,在本发明实施例中,所述UI框架对所述被测软件界面的元素进行渲染,以此获取到所述被测软件上的所有信息,所述UI框架还设置了快照机制,通过所述快照机制能为所述自动化测试工具提供包含所述被测软件界面上的界面元素信息。
需要说明的是,所述快照文件包括了被测软件界面的多个界面元素,例如,所述被测软件的当前被测界面上的图标、窗口以及进度条等为界面元素,本发明对此不作具体限定。
在本发明实施例中,此UI框架是配合自动化测试工具进行软件界面的测试。
优选地,所述软件界面快照文件为xml文件。
需要说明的是,xml文件是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,其中,可扩展标记语言是一种很像超文本标记语言的标记语言,它的设计宗旨是传输数据,而不是显示数据,它的标签没有被预定义,需要自行定义,被设计为具有自我描述性。
优选地,所述界面元素的元素参数包括元素类型、位置、状态、颜色、图片、文字中的一个或多个。
其中,以QQ软件来说明,登录QQ软件之后,可以获取QQ软件界面的QQ软件图标的类型、位置、状态、颜色、图片等,例如在QQ软件的状态由登录变成了离线时,可以获取图标的图片。
具体的,根据测试用例,所述自动化测试工具对所述被测软件界面进行了相应的模拟测试操作,例如,根据测试用例,对所述被测软件界面的A界面先后进行了账号输入、点击确认、输入验证码并点击确认之后的模拟测试操作之后,自动化工具根据测试用例以及已经进行的模拟测试操作,获取得到了对当前的模拟测试操作已经执行完毕的信息,则响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件,至此,自动化工具就实现了在完成相应的模拟测试操作之后通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件,所述软件界面快照文件为xml文件,其中,所述xml文件包括了所述界面元素的元素类型、位置、状态、颜色、图片、文字中的一个或多个,由此能获取到了截图所获取不到的被测软件界面中的动态内容例如登录的时间等。
S13、对所述软件界面快照文件的界面元素的元素参数进行验证,根据验证结果生成当前的模拟测试操作的测试结果。
在本实施例中,测试人员可以对所述被测软件的某一被测界面的上的界面元素进行筛选,选出关键的需要被测试的界面元素,对于其他不需要关系的界面元素可以不进行测试验证。
在本发明实施例,所述自动化测试工具获取得到了所述被测软件界面的界面元素的元素类型、位置、状态、颜色、图片、文字中的一个或多个,根据测试用例对需要测试的界面元素进行测试,验证相应的xml文件是否符合测试用例的测试逻辑,以在验证后,根据所示验证结果生成测试结果。
具体的,程序的开发者或者测试人员预先将对所述被测软件界面要进行的模拟测试操作和在进行所述模拟测试操作之后所述被测测软件界面会应该呈现的内容转化为判定条件列表交给自动化测试工具。假设所述判定条件为:LClick(123,456).container.button1.text==“我被点击了”;则所述LClick(123,456).container.button1.text==“我被点击了”代表让所述自动化测试工具在程序的坐标(123,456)处点击左键,然后调用所述UI框架获取快照文件后,检查.container.button1.text的内容是否等于“我被点击了”,以此进行验证,根据验证结果生成测试结果。所述自动化工具按照输入的判定条件列表依次执行操作和验证。
S14、响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告。
在本发明实施例中,所述测试结束是测试截止,可以是完全地进行完测试任务之后停止测试,可以是根据测试用例,对某一次测试结果不符合预先结果时,停止测试,本发明对此不作具体限定。
在本发明实施例中,根据测试用例,在进行测试流程中的某一测试操作时,所述自动化测试工具根据所述某一测试操作进行了相应的模拟测试操作之后,并根据所述测试用例以及所述相应的模拟测试操作,所述测试结束,则根据已经获取得到的所有的模拟测试操作的测试结构生成所述被测软件界面的测试报告。
实施本实施例具有如下有益效果:
运行测试用例,所述测试用例包含至少一个作用于被测软件界面的模拟测试操作,实现对软件界面操作的模拟,以便能对所述被测软件界面进行软件界面的测试;响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件;所述UI框架用于渲染所述被测软件界面的界面元素;所述软件界面快照文件包含所述被测软件界面上的多个界面元素的元素参数,通过UI框架渲染被测软件的界面,进而能获取被测软件的界面快照文件,进而能获取得到所述被测界面上的动态内容例如当前的时间以及文字内容等,解决现有技术中通过截图,自动化的测试工具无法获取相应的内容的技术问题,对所述软件界面快照文件的界面元素的元素参数进行验证,根据验证结果生成当前的模拟测试操作的测试结果,解决了现有技术中通过截图,自动化的测试工具无法对所述被测界面上的动态内容例如当前的时间以及文字内容等进行判断验证的技术问题。响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告,能根据测试结果生成测试报告,完成测试任务,实现了对软件界面进行更为精准地测试。
实施例三
在实施例二的基础上,
优选地,还包括:在当前的模拟测试操作的测试结果为测试不通过或者所述测试用例中所有的模拟测试操作的测试结果均已被获取到时,停止测试;
在本实施例中,所述自动化测试工具在根据测试用例对当前的模拟测试操作进行验证时,所述被测软件界面根据所述当前的模拟测试操作生成相应的界面,所述UI框架获取得到所述生成相应的界面的界面元素,其中,所述当前的模拟测试操作可能包括多个模拟测试操作,其中,所述界面元素的元素参数可以包括多个,在对所述元素参数进行判断时,在判断到所述测试用例中某一预定的结果与相应的测试结果不符合时,则当前的模拟测试操作的测试结果为测试不通过,停止测试。
在本实施例中,所述测试用例中所有的模拟测试操作的测试结果均已被获取,即是根据测试用例,所述自动化测试工具完成了所述测试用例中的所有模拟测试操作,并且通过了所述测试用例中的判定条件,则测试任务顺利完成,停止测试。
则所述响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告,包括:
响应于测试结束,判断获取到的所有模拟测试操作的测试结果是否均为测试成功,若是,则生成所述被测软件界面测试成功的测试报告,否则生成所述被测软件界面测试失败的测试报告。
在本实施例中,在停止测试时,所述自动化测试工具会获取得到的所有模拟测试操作的测试结果进行判断,在判断获取到的所有模拟测试操作的测试结果均为测试成功,生成所述被测软件界面测试成功的测试报告,在判断获取到的所有模拟测试操作的测试结果不是均为测试成功,生成所述被测软件界面测试失败的测试报告,并保存现场环境。等待开发人员修复软件错误后重新测试。
实施本实施例具有如下有益效果:
在当前的模拟测试操作的测试结果为测试不通过,停止测试,响应于测试结,生成测试报告,并保存现场环境。等待开发人员修复软件错误后重新测试。在测试过程中发现缺陷时,即停止测试,提供测试效率,便于后续测试的精准性,避免因当前的测试缺陷引发后续测试缺陷,并记录了当前测试缺陷,生成测试报告,便于测试人员对测试的查看。
实施例四
优选地,所述响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取被测软件界面当前的软件界面快照文件,包括:
响应于当前的模拟测试操作的执行完毕,根据当前的模拟测试操作生成一个快照获取指令;
向所述UI框架发送所述快照获取指令,以使得所述UI框架根据当前渲染信息返回所述被测软件界面当前的软件界面快照文件。
在本发明实施例中,所述自动化测试工具根据测试用例及当前进行的模拟测试操作,响应于当前的模拟测试操作的执行完毕,例如,根据测试用例,所述自动化测试工具在进行完输入操作和点击操作之后,则当前的模拟测试操作的执行完毕,所述自动化测试工具就会生成一个快照获取指令,并向所述UI框架发送所述快照获取指令,所述被测软件根据所述自动化测试工具进行了所述输入操作和点击操作之后更新界面,以使得所述UI框架获取所述被测软件更新后界面的界面元素参数。
实施本实施例具有如下有益效果:
通过调用UI框架,能获取到更多截图所述无法获取到的被测软件的界面元素参数,调用信息是根据测试用例在每次的模拟测试操作之后的,能避免现有技术对截图操作的频繁,减少内存占用。
实施例五
优选地,所述对所述软件界面快照文件的界面元素的元素参数进行验证,将验证结果作为当前的模拟测试操作的测试结果,具体包括:
根据预设的状态条件对所述界面元素的元素参数进行一致验证;
当所述界面元素的元素参数与所述预设的状态条件一致时,根据验证结果生成的当前的模拟测试操作的测试结果为测试通过;
当所述界面元素的元素参数与所述预设的状态条件不一致时,根据验证结果生成的当前的模拟测试操作的测试结果为测试不通过。
在本实施例中,所述测试用例中存有每次测试时,要进行的模拟测试操作,以及进行完所述模拟测试操作之后,所述被测软件应该呈现的界面元素信息,所述自动化工具根据所述测试用例,判断获取得到的快照文件的元素参数是否与所述预设的状态条件一致,以进行验证,并很久验证结果生成相应的测试结果。
优选地,还包括:
在当前的模拟测试操作的测试结果为测试不通过时,调用所述当前的模拟测试操作相对应图像,以生成图像集合;其中,所述图像为运行所述测试用例时,所述被测软件界面的界面图像。
在本实施例中,同时保存运行测试用例时的图像,其中,调用的图像是相对应于所述当前的模拟测试操作的,生成图像集合,便于在自动测试完成后检测到程序错误时用来给修复软件错误的开发人员查看问题。
实施本实施例具有如下有益效果:
通过将所述界面元素的元素参数与所述预设的状态条件进行一致验证,能根据所述验证结果得到测试结果,操作简单,且在不通过测试时,调用运行所述测试用例过程中,所述被测软件界面的界面图像,能方便修复软件错误的开发人员查看问题,提高修复效率。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,在某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模拟一定是本发明所必须的。
Claims (10)
1.一种软件界面测试方法,其特征在于,包括如下步骤:
运行测试用例;所述测试用例包含至少一个作用于被测软件界面的模拟测试操作;
响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取所述被测软件界面当前的软件界面快照文件;所述UI框架用于渲染所述被测软件界面的界面元素;所述软件界面快照文件包含所述被测软件界面上的多个界面元素的元素参数;
对所述软件界面快照文件的界面元素的元素参数进行验证,根据验证结果生成当前的模拟测试操作的测试结果;
响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告。
2.根据权利要求1所述的软件界面测试方法,其特征在于,还包括:在当前的模拟测试操作的测试结果为测试不通过或者所述测试用例中所有的模拟测试操作的测试结果均已被获取到时,停止测试;
则所述响应于测试结束,根据获取到的所有模拟测试操作的测试结果生成所述被测软件界面的测试报告,包括:
响应于测试结束,判断获取到的所有模拟测试操作的测试结果是否均为测试成功,若是,则生成所述被测软件界面测试成功的测试报告,否则生成所述被测软件界面测试失败的测试报告。
3.根据权利要求1所述的软件界面测试方法,其特征在于,所述软件界面快照文件为xml文件。
4.根据权利要求1或3所述的软件界面测试方法,其特征在于,
所述界面元素的元素参数包括元素类型、位置、状态、颜色、图片、文字中的一个或多个。
5.根据权利要求1所述的软件界面测试方法,其特征在于,所述模拟测试操作包括模拟光标移动操作、模拟点击操作和模拟输入操作中的一个或多个。
6.根据权利要求1所述的软件界面测试方法,其特征在于,所述响应于当前的模拟测试操作的执行完毕,通过调用UI框架来获取被测软件界面当前的软件界面快照文件,包括:
响应于当前的模拟测试操作的执行完毕,根据当前的模拟测试操作生成一个快照获取指令;
向所述UI框架发送所述快照获取指令,以使得所述UI框架根据当前渲染信息返回所述被测软件界面当前的软件界面快照文件。
7.根据权利要求1所述的软件界面测试方法,其特征在于,所述对所述软件界面快照文件的界面元素的元素参数进行验证,将验证结果作为当前的模拟测试操作的测试结果,具体包括:
根据预设的状态条件对所述界面元素的元素参数进行一致验证;
当所述界面元素的元素参数与所述预设的状态条件一致时,根据验证结果生成的当前的模拟测试操作的测试结果为测试通过;
当所述界面元素的元素参数与所述预设的状态条件不一致时,根据验证结果生成的当前的模拟测试操作的测试结果为测试不通过。
8.根据权利要求7所述的软件界面测试方法,其特征在于,还包括:
在当前的模拟测试操作的测试结果为测试不通过时,调用所述当前的模拟测试操作相对应图像,以生成图像集合;其中,所述图像为运行所述测试用例时,所述被测软件界面的界面图像。
9.一种软件界面测试设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8任意一项所述的软件界面测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至8中任意一项所述的软件界面测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810567544.4A CN108959068B (zh) | 2018-06-04 | 2018-06-04 | 软件界面测试方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810567544.4A CN108959068B (zh) | 2018-06-04 | 2018-06-04 | 软件界面测试方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959068A CN108959068A (zh) | 2018-12-07 |
CN108959068B true CN108959068B (zh) | 2022-04-22 |
Family
ID=64493602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810567544.4A Active CN108959068B (zh) | 2018-06-04 | 2018-06-04 | 软件界面测试方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959068B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784369A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | H5页面测试方法与装置、电子设备、存储介质 |
CN110175609B (zh) * | 2019-04-22 | 2023-02-28 | 创新先进技术有限公司 | 界面元素检测方法、装置及设备 |
CN110674030A (zh) * | 2019-08-27 | 2020-01-10 | 北京金堤科技有限公司 | 应用测试方法和装置、计算机可读存储介质、电子设备 |
CN112219195A (zh) * | 2019-08-30 | 2021-01-12 | 深圳市大疆创新科技有限公司 | 应用程序测试方法、设备及存储介质 |
CN112463580A (zh) * | 2019-09-09 | 2021-03-09 | 英业达科技有限公司 | 基于虚拟化装置的测试系统及其方法 |
CN111597113B (zh) * | 2020-05-18 | 2023-08-15 | 北京百度网讯科技有限公司 | 小程序的验证方法、装置、设备及存储介质 |
CN111949263B (zh) * | 2020-07-08 | 2024-05-14 | 中核武汉核电运行技术股份有限公司 | 一种基于图像识别技术的人因工程设计验证方法 |
CN111831278A (zh) * | 2020-07-14 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 业务元素自适应匹配方法、装置、电子设备及存储介质 |
CN112052174A (zh) * | 2020-09-07 | 2020-12-08 | 云账户技术(天津)有限公司 | 一种软件对比方法、装置、计算机设备及存储介质 |
CN113254337A (zh) * | 2021-05-24 | 2021-08-13 | 北京创源微致软件有限公司 | 软件功能测试系统、方法及服务器 |
CN113094291B (zh) * | 2021-06-10 | 2021-10-12 | 深圳掌酷软件有限公司 | 锁屏界面的匹配验证方法、装置、设备及存储介质 |
CN113495844B (zh) * | 2021-07-22 | 2023-03-14 | 上汽通用五菱汽车股份有限公司 | 基于虚拟点击的自动化测试方法、装置、系统及存储介质 |
CN113535589A (zh) * | 2021-08-20 | 2021-10-22 | 北京百度网讯科技有限公司 | 界面测试方法、装置、电子设备和存储介质 |
CN113886745B (zh) * | 2021-09-30 | 2022-09-13 | 北京百度网讯科技有限公司 | 页面图片测试方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053911A (zh) * | 2010-12-30 | 2011-05-11 | 东莞宇龙通信科技有限公司 | 基于Android的自动化测试方法、系统及移动终端 |
CN103914375A (zh) * | 2013-01-07 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 一种自绘界面软件的测试方法和装置 |
CN104657274A (zh) * | 2015-03-06 | 2015-05-27 | 中国银行股份有限公司 | 软件界面测试方法及装置 |
CN105630674A (zh) * | 2015-12-17 | 2016-06-01 | 北京奇虎科技有限公司 | 一种针对界面的测试方法和装置 |
CN106990946A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种界面处理方法、装置和智能终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8938683B2 (en) * | 2012-09-11 | 2015-01-20 | Ebay Inc. | Visual state comparator |
US9760475B2 (en) * | 2014-06-20 | 2017-09-12 | Vmware, Inc. | Automatic updating of graphical user interface element locators based on image comparison |
-
2018
- 2018-06-04 CN CN201810567544.4A patent/CN108959068B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053911A (zh) * | 2010-12-30 | 2011-05-11 | 东莞宇龙通信科技有限公司 | 基于Android的自动化测试方法、系统及移动终端 |
CN103914375A (zh) * | 2013-01-07 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 一种自绘界面软件的测试方法和装置 |
CN104657274A (zh) * | 2015-03-06 | 2015-05-27 | 中国银行股份有限公司 | 软件界面测试方法及装置 |
CN105630674A (zh) * | 2015-12-17 | 2016-06-01 | 北京奇虎科技有限公司 | 一种针对界面的测试方法和装置 |
CN106990946A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种界面处理方法、装置和智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN108959068A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959068B (zh) | 软件界面测试方法、设备及存储介质 | |
US9846638B2 (en) | Exposing method related data calls during testing in an event driven, multichannel architecture | |
US9342237B2 (en) | Automated testing of gesture-based applications | |
US10853232B2 (en) | Adaptive system for mobile device testing | |
WO2018010552A1 (zh) | 测试方法和装置 | |
US8645912B2 (en) | System and method for use in replaying software application events | |
US9372779B2 (en) | System, method, apparatus and computer program for automatic evaluation of user interfaces in software programs | |
US11237948B2 (en) | Rendering engine component abstraction system | |
US20210073108A1 (en) | Virtualized device-based test system and method thereof | |
US20130311827A1 (en) | METHOD and APPARATUS for automatic testing of automation software | |
WO2018184361A1 (zh) | 应用程序测试方法、服务器、终端和存储介质 | |
US11074162B2 (en) | System and a method for automated script generation for application testing | |
US11245601B2 (en) | Automated integrated test system and method thereof | |
US20150242380A1 (en) | Checking testing coverage | |
CN107102949B (zh) | 应用程序离线测试方法及工具 | |
US20180196742A1 (en) | System and method for end to end performance response time measurement based on graphic recognition | |
US20200110592A1 (en) | Auto-deployment of applications | |
CN111522749A (zh) | 页面测试方法、装置、可读存储介质及电子设备 | |
US10135684B2 (en) | Differential staging of devices in bulk enrollment | |
CN114647572A (zh) | 用于软件应用组件测试的方法和系统 | |
KR20150048365A (ko) | 애플리케이션 자동 검증 시스템 및 방법 | |
CN111414309A (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN105339974B (zh) | 模拟传感器 | |
TWI742432B (zh) | 基於虛擬化裝置的測試系統及其方法 | |
CN116610557B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |