对话框消除方法、装置、存储介质和处理器与流程

文档序号:16627937发布日期:2019-01-16 06:17阅读:208来源:国知局
对话框消除方法、装置、存储介质和处理器与流程

本发明涉及测试领域,具体而言,涉及对话框消除方法、装置、存储介质和处理器。



背景技术:

现有技术在手机(例如,安卓系统的手机)进行测试时需要安装软件或者运行app,每次安装软件时都会弹出提示对话框以提示用户是否确定进行某一步骤或者某一选择,从而来提示安装或者系统的运行,而当使用测试平台进行自动测试时,弹出的对话框都需要人工点击这些对话框将其消除,否则这些弹出的对话框会影响及阻碍测试的顺利进行。

针对现有技术中的在测试过程中对话框影响测试效率的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种对话框消除方法、装置、存储介质和处理器,以解决现有技术中的问题。

根据本发明实施例的一个方面,提供了一种对话框消除方法,包括:获取测试设备在执行测试脚本的过程中的屏幕截图,其中,所述测试脚本用于对所述测试设备上安装的软件进行测试,所述屏幕截图为所述软件在被测试过程中在屏幕上显示的内容;根据模型判断所述屏幕截图中是否出现需要被点击的对话框,其中,所述模型是根据预先输入的需要点击的图形学习得到的;在判断结果为是的情况下,发送命令,其中,所述命令用于指示点击所述屏幕截图中出现的对话框。

进一步地,所述模型是根据预先输入的需要点击的图形学习得到的包括:当所述屏幕图像发生变化时,获取变化的屏幕图像;判断所述屏幕图像中是否包含需要点击的图形;如果包含需要点击的图形,则根据所述图形训练模型。

进一步地,所述模型是根据预先输入的不需要点击的图形学习得到。

进一步地,所述模型是根据预先输入的不需要点击的图形学习得到包括:每隔固定时间段进行一次屏幕图像的检查;当所述屏幕图像发生变化时,获取变化的屏幕图像;判断所述屏幕图像中是否包含不需要点击的图形;如果包含不需要点击的图形,则根据所述图形训练模型。

进一步地,判断所述屏幕图像中是否包含需要点击的图形包括:判断所述屏幕图像中是否有需要点击的按键图形。

进一步地,在判断结果为是的情况下,发送命令包括:通过移动终端发送命令或通过服务器发送命令。

根据本发明实施例的另一方面,还提供了一种对话框消除装置,包括:获取单元,用于获取测试设备在执行测试脚本的过程中的屏幕截图,其中,所述测试脚本用于对所述测试设备上安装的软件进行测试,所述屏幕截图为所述软件在被测试过程中在屏幕上显示的内容;判断单元,用于根据模型判断所述屏幕截图中是否出现需要被点击的对话框,其中,所述模型是根据预先输入的需要点击的图形学习得到的;发送单元,用于在判断结果为是的情况下,发送命令,其中,所述命令用于指示点击所述屏幕截图中出现的对话框。

进一步地,所述判断单元包括:第一获取模块,用于当所述屏幕图像发生变化时,获取变化的屏幕图像;第一判断模块,用于判断所述屏幕图像中是否包含需要点击的图形;第一训练模块,用于如果包含需要点击的图形,则根据所述图形训练模型。

进一步地,所述模型是根据预先输入的不需要点击的图形学习得到。

进一步地,所述判断单元还包括:检查模块,用于每隔固定时间段进行一次屏幕图像的检查;第二获取模块,用于当所述屏幕图像发生变化时,获取变化的屏幕图像;第二判断模块,用于判断所述屏幕图像中是否包含不需要点击的图形;第二训练模块,用于如果包含不需要点击的图形,则根据所述图形训练模型。

进一步地,所述第二判断模块包括:判断子模块,用于判断所述屏幕图像中是否有需要点击的按键图形。

进一步地,所述发送单元用于:通过移动终端发送命令或通过服务器发送命令。

根据本发明实施例的另一个方面,还提供给了一种存储介质,所述存储介质上保存有程序,所述程序被运行时执行上所述的方法。

根据本发明实施例的另一个方面,还提供给了一种处理器,所述程序被运行时执行上述的方法。

根据本发明实施例,采用了获取测试设备在执行测试脚本的过程中的屏幕截图,其中,所述测试脚本用于对所述测试设备上安装的软件进行测试,所述屏幕截图为所述软件在被测试过程中在屏幕上显示的内容;根据模型判断所述屏幕截图中是否出现需要被点击的对话框,其中,所述模型是根据预先输入的需要点击的图形学习得到的;在判断结果为是的情况下,发送命令,其中,所述命令用于指示点击所述屏幕截图中出现的对话框。通过本发明解决了现有技术中在测试过程中对话框影响测试效率的问题,提高了测试的效率。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种对话框消除方法的流程图;

图2是根据本发明实施例的一种对话框消除装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种对话框消除方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种对话框消除方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,获取测试设备在执行测试脚本的过程中的屏幕截图,其中,测试脚本用于对测试设备上安装的软件进行测试,屏幕截图为软件在被测试过程中在屏幕上显示的内容;

步骤s104,根据模型判断屏幕截图中是否出现需要被点击的对话框,其中,模型是根据预先输入的需要点击的图形学习得到的;

步骤s106,在判断结果为是的情况下,发送命令,其中,命令用于指示点击屏幕截图中出现的对话框。

通过自动点击测试过程中出现的对话框来代替现有技术测试时手动逐步点击测试出现的对话框,上述方法使得在测试过程中出现的对话框及时被处理掉,防止影响测试的效率,从而解决了现有技术在测试过程中对话框影响效率的问题,提高了测试的效率。

本实施例还可以在测试时根据测试的方向默认选择确定或者取消某个对话框,以此来取代人工选择对话框,根据测试的方向进行机器学习,从而可以在设定测试方向后进行合理的自动点击消除对话框。测试方向是指某个具体的测试目标,比如,进行软件安装测试、卸载测试或者其他操作的测试,不同的测试目标出现的对话框是不同的,此时根据机器学习后的模型更加能够准确的消除对话框,比如,某个测试需要点击测试的对话框里分别有是或否两个选项,不同的测试目标下所做的选择是不同的,为了能够更加准确的选择出正确的测试选项,需要一个较准确的模型来判断需要点击消除的对话框。

而该模型可以是由机器学习得到的,机器学习是根据屏幕的图像来进行分析,从而得到图像的分类,比如,当屏幕图像发生变化时,获取新的屏幕的图像或者对图像所做的操作来进行机器学习,机器学习到在出现某种样子的对话框的屏幕的图像时,就选择该对话框中的确认键或者取消键等,进行到下一步,直到再出现新的对话框,再重新自动进行选择。最后将对话框去除。

通过人工点击消除对话框进行测试时屏幕图像的变化,来进行机器学习,从而使得每一次在选择完测试方向后,都可以自动的消除对话框。

在上述步骤s104中,根据模型判断是否出现需要点击的对话框,而模型是根据预先输入的需要点击的图形学习得到,该学习方式可以为多种机器学习训练算法,在一种可选的实施方式中,即,当屏幕图像发生变化时,获取变化的屏幕图像;判断屏幕图像中是否包含需要点击的图形;如果包含需要点击的图形,则根据图形训练模型。

通过上述方法,将屏幕图像的变化作为机器学习的训练集合,训练出变化的屏幕图像与需要点击的图形的集合关系的模型,从而根据该模型准确的选取需要点击的对话框,并且准确的自动点击对话框,从而在测试时提高测试效率。

上述机器学习算法可以是聚类算法,将屏幕图像的变化作为待分类的目标,将类似的图像划分到同一组中,从而找到需要点击的图片。

上述机器学习算法也可以使用计算机视觉学习算法,根据待测试的方向设定提前设定需要提取的图像特征,然后测试时将变化的图片进行预处理,当屏幕中的图片发生变化时,检测是否出现该图像特征,最后进行推理预测与识别,将屏幕的图片特征与已执行的点击对话框操作相关联。例如,对变化的屏幕图像进行截屏,当出现对话框或者其他特征时(比如某个图案),将这些带有对话框的截屏收集起来作为训练数据,用训练数据来训练一个有监督学习的模型。通过该训练好的模型不断侦测计算机屏幕的变化,当出现对话框或者特定的特征时,系统就自动输出和响应生成响应函数,然后将相应函数导入执行模块,执行模块来执行点击操作,最后完成消除对话框。

在上述步骤s104中,根据模型判断是否点击的对话框,而模型是根据预先输入的不需要点击的图形学习得到,在一种可选的实施方式中,即,模型是根据预先输入的不需要点击的图形学习得到。

上述模型是根据屏幕的图像来分析进行机器学习得到的,比如,当屏幕图像发生变化时,找到不需要点击的图形类别作为模型,从而将对话框去除。上述方法提高了测试的效率。

除此之外,上述训练的模型适用于当在进行的测试过程中出现有多个对话框同时弹出的情况时,选用上述模型。该模型是通过训练不需要点击的图形学习得到的,因此更加便捷和准确。

当模型是根据预先输入的不需要点击的图形学习得到时,需要先根据屏幕的变化作为机器学习的训练集合,根据变化的图像找到不需要点击的图形进行机器学习,在一种可选的实施方式中,首先,每隔固定时间段进行一次屏幕图像的检查;其次,当屏幕图像发生变化时,获取变化的屏幕图像;然后,判断屏幕图像中是否包含不需要点击的图形;最后,如果包含不需要点击的图形,则根据上述图形训练模型。

通过上述方法经常不断优化训练模型,使得模型更加准确的找到测试时需要点击掉的对话框,从而使得在测试弹出对话框时,更加及时准确的消除对话框。

上述过程中,当判断屏幕图像中是否包含需要点击的图形时,在一种可选的实施方式中,上述需要点击的图形可以是对话框、也可以是按键图形、即,判断屏幕图像中是否有需要点击的按键图形。

在出现某种特定图案的对话框的屏幕的图像时,就选择该对话框中的确认键或者取消键,进行到下一步,直到再次出现新的对话框,再重新自动进行选择对话框中的确认键或取消键,从而完成消除对话框继续进行测试的目的。

通过上述可选的实施方式可以较准确有针对性的判断需要点击的图形,可以根据图形的种类和形状来进行简单的判断,比如,有的程序安装界面,可能所有的对话框中需要点击的只有某种特定的按键图形,此时,只需要寻找并判断特定的按键图形,再进行判断和点击即可,减少了运算量,增加了测试的速度。

在进行对话框自动消除的过程中,当判断出是否点击某个对话框时,就需要具体的实施点击行为,在一种可选的实施方式中,在判断结果为是的情况下,通过移动终端发送命令或通过服务器发送命令。

通过上述步骤,可以直接由移动终端发送点击消除对话框的命令,可以暂时将命令存储在服务器等待合适的时机触发命令,点击消除对话框,从而更加便捷的控制整个测试过程。

本发明实施例还提供了一种对话框消除装置,该装置可以通过获取单元22、判断单元24和发送单元26实现其功能。需要说明的是,本发明实施例的一种对话框消除装置可以用于执行本发明实施例所提供的一种对话框消除方法,本发明实施例的一种对话框消除方法也可以通过本发明实施例所提供的一种对话框消除装置来执行。

图2是根据本发明实施例的一种对话框消除装置的示意图。如图2所示,一种对话框消除装置包括:

获取单元22,用于获取测试设备在执行测试脚本的过程中的屏幕截图,其中,测试脚本用于对测试设备上安装的软件进行测试,屏幕截图为软件在被测试过程中在屏幕上显示的内容;

判断单元24,用于根据模型判断屏幕截图中是否出现需要被点击的对话框,其中,模型是根据预先输入的需要点击的图形学习得到的;

发送单元26,用于在判断结果为是的情况下,发送命令,其中,命令用于指示点击屏幕截图中出现的对话框。

通过上述装置,将屏幕图像的变化作为机器学习的训练集合,训练出变化的屏幕图像与需要点击的图形的集合关系的模型,从而根据该模型准确的选取需要点击的对话框,并且准确的自动点击对话框,从而在测试时提高测试效率。

在一种可选的实施方式中,判断单元包括:第一获取模块,用于当屏幕图像发生变化时,获取变化的屏幕图像;第一判断模块,用于判断屏幕图像中是否包含需要点击的图形;第一训练模块,用于如果包含需要点击的图形,则根据图形训练模型。

在一种可选的实施方式中,模型是根据预先输入的不需要点击的图形学习得到。

在一种可选的实施方式中,判断单元还包括:检查模块,用于每隔固定时间段进行一次屏幕图像的检查;第二获取模块,用于当屏幕图像发生变化时,获取变化的屏幕图像;第二判断模块,用于判断屏幕图像中是否包含不需要点击的图形;第二训练模块,用于如果包含不需要点击的图形,则根据图形训练模型。

在一种可选的实施方式中,第二判断模块包括:判断子模块,用于判断屏幕图像中是否有需要点击的按键图形。

在一种可选的实施方式中,发送单元用于:通过移动终端发送命令或通过服务器发送命令。

在本实施例中,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述方法。

在本实施例中,提供了一种处理器,处理器包括处理器的程序,其中,在程序运行时控制处理器所在设备执行上述方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

上述一种对话框消除装置实施例是与一种对话框消除方法相对应的,所以对于有益效果不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1