CN109783356A - 一种自动化测试方法及终端 - Google Patents

一种自动化测试方法及终端 Download PDF

Info

Publication number
CN109783356A
CN109783356A CN201811531381.0A CN201811531381A CN109783356A CN 109783356 A CN109783356 A CN 109783356A CN 201811531381 A CN201811531381 A CN 201811531381A CN 109783356 A CN109783356 A CN 109783356A
Authority
CN
China
Prior art keywords
target
target widget
control
widget
key message
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
Application number
CN201811531381.0A
Other languages
English (en)
Inventor
孙锦程
徐志成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201811531381.0A priority Critical patent/CN109783356A/zh
Publication of CN109783356A publication Critical patent/CN109783356A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种自动化测试方法及终端,该方法包括:在运行自动化测试用例时,获取待测试的目标页面的身份标识;基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件;根据每个所述目标控件的关键信息查找每个所述目标控件;当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。本发明实施例,基于控件的关键信息识别目标页面中的控件,能够准确识别页面中的控件,减少因控件的属性信息发生变化而无法识别控件导致自动化测试用例运行失败的问题,减少了误报概率,提高了自动化测试的稳定性。

Description

一种自动化测试方法及终端
技术领域
本发明属于计算机技术领域,尤其涉及一种自动化测试方法及终端。
背景技术
图形用户界面(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作用户界面。GUI Web自动化测试是在Web测试中的一种加快回归测试,提前发现产品缺陷,促进效率提升的重要手段。GUI Web自动化测试是通过自动化测试框架(如Selenium)找到页面上的控件,然后操作控件(读取内容、填写信息、点击等)来模拟用户的实际操作,去发现被测对象的缺陷。其中,Selenium为基于浏览器的自动化测试工具。
对于一些web项目,可能拥有成百上千个自动化测试用例,这些自动化测试用例会根据不同的优先级,按照不同的频率定时触发去跑。当自动化测试用例执行失败时,通过分析测试用例的失败原因来发现被测对象的缺陷。其中,测试用例的失败原因包括产品缺陷、测试用例缺陷、测试框架缺陷等。
然而,在通过自动化测试用例进行测试的过程中,有时候执行测试用例失败的原因并不是缺陷造成的,而是由于无法正确识别控件而导致自动化测试用例运行失败,进而导致误报,降低了自动化测试的稳定性。
发明内容
有鉴于此,本发明实施例提供了一种自动化测试方法及终端,以解决现有技术中,在通过自动化测试用例进行测试的过程中,因无法正确识别控件而导致自动化测试用例运行失败,进而导致误报的问题。
本发明实施例的第一方面提供了一种自动化测试方法,包括:
在运行自动化测试用例时,获取待测试的目标页面的身份标识;
基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
根据每个所述目标控件的关键信息查找每个所述目标控件;
当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
本发明实施例的第二方面提供了一种终端,包括:
获取单元,用于在运行自动化测试用例时,获取待测试的目标页面的身份标识;
第一查找单元,用于基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
第二查找单元,用于根据每个所述目标控件的关键信息查找每个所述目标控件;
测试单元,用于当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
本发明实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在运行自动化测试用例时,获取待测试的目标页面的身份标识;
基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
根据每个所述目标控件的关键信息查找每个所述目标控件;
当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在运行自动化测试用例时,获取待测试的目标页面的身份标识;
基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
根据每个所述目标控件的关键信息查找每个所述目标控件;
当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
实施本发明实施例提供的一种自动化测试方法及终端具有以下有益效果:
本发明实施例,在运行自动化测试用例的过程中,通过获取待测试的目标页面包含的每个控件的关键信息,并基于控件的关键信息识别目标页面中的控件,能够准确识别页面中的控件,减少因控件的属性信息发生变化而无法识别控件导致自动化测试用例运行失败的问题,减少了误报概率,提高了自动化测试的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种自动化测试方法的实现流程图;
图2是本发明另一实施例提供的一种自动化测试方法的实现流程图;
图3是本发明一实施例提供的一种终端的示意图;
图4是本发明另一实施例提供的一种终端的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明实施例提供的一种自动化测试方法的实现流程图。本实施例中自动化测试方法的执行主体为终端。终端包括但不限于智能手机、平板电脑、可穿戴设备等移动终端,还可以是台式电脑等。如图所示的自动化测试方法可包括:
S101:在运行自动化测试用例时,获取待测试的目标页面的身份标识。
测试人员在需要通过自动化测试用例对某网页应用程序或网页进行自动化测试时,触发终端启动相应的自动化测试用例,通过模拟用户操作与终端进行人机交互,测试该网页应用程序或该网页的功能是否正常,从而判断该网页应用程序或该网页是否存在设计缺陷。
终端在检测到测试人员触发用于测试目标对象的自动化测试指令时,运行用于测试目标对象对应的自动化测试用例。被测试的目标对象可以是应用程序、网页(web)项目,也可以是某页面。
终端在运行自动化测试用例时,基于该自动化测试用例的测试流程,确定当前待测试的目标页面,并基于每个页面的身份标识获取目标页面的身份标识。其中,在一个测试项目中,页面的身份标识为唯一标识。
S102:基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字。
控件的属性信息通常包括但不限于控件ID、控件名称以及控件的可扩展标记语言路径语言(Xml Path Language,XPath),还可以包括控件的类名。XPath即为标准通用标记语言(Extensible Markup Language,XML)路径语言,它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点、属性节点和文本节点,提供在数据结构树中找寻节点的能力。具体地,XPath使用路径表达式来选取XML文档中的节点或者节点集。
其中,控件的变化有以下两种:
1)控件的关键元素特性如控件ID、控件名称不变,但位置发生了变化。比如前后左右顺序做了调整,或者层级关系做了调整,这种情况下通过控件ID,名称均能够正确找到位置,但XPath通过路径查询或者数组取控件的方式有可能查找不到。
2)控件的位置没有变化,但控件ID或者控件名称发生了改变,比如控件名称由“Search”变成了“Search_ByCity”,那么通过原来控件名称就查找不到该控件了。
基于上述提到的控件变化的两者情况,在页面控件数据库中预先存储有每个待测项目所包含的所有的页面的身份标识,以及每个页面所包含的所有的控件各自的关键信息。其中,待测项目与页面的身份标识关联,页面的身份标识与该页面包含的所有控件的关键信息相关联。页面控件数据库可以存在于终端设备中,也可以存在于服务器或云端数据库中,此处不做限制。
终端基于页面控件数据库中预先存储的每个待测项目所包含的所有的页面的身份标识及其包含的所有控件的关键信息之间的关联关系,从页面控件数据库中获取与目标页面的身份标识匹配的目标身份标识,并获取与目标身份标识关联的所有控件的关键信息,得到目标页面包含的待测试的所有目标控件各自对应的关键信息。其中,目标页面中的目标控件为目标页面中所有待测试的控件。
控件的关键信息用于在其所处的页面中查找或识别该控件。控件的关键信息至少包括:控件的身份标识、控件的查找方式、控件的查找内容以及控件对应的待搜索的关键字。
控件的身份标识例如,控件ID、控件名称等。
控件的查找方式包括但不限于以下至少任意一种:通过控件ID进行查找、通过控件名称进行查找、通过控件的XPath进行查找,通过控件对应的关键字模糊匹配。
控件的查找内容基于控件的查找方式确定,控件对应的待搜索的关键字基于控件的查找内容确定。
其中,当查找方式为“通过控件ID进行查找”时,控件的查找内容为“查找控件ID”,控件对应的待搜索的关键字为“控件ID”。
当查找方式为“通过控件名称进行查找”时,控件的查找内容为“查找控件名称”,控件对应的待搜索的关键字为控件名称中的部分或全部字段。例如,某控件的查找方式为:通过控件名称进行查找,控件的名称为“Search_ByCity”,那么,控件的查找内容为“Search_ByCity”,该控件对应的待搜索的关键字可以为“Search”和“ByCity”。
当查找方式为“通过控件XPath进行查找”时,控件的查找内容为“查找控件的XPath”,控件对应的待搜索的关键字由控件的XPath确定,可以是XPath中的部分或全部。
可选地,当页面控件数据库存在终端中时,在S102之前,还可以包括:获取每个待测试的页面所包含的控件的关键信息,并基于每个所述控件的关键信息创建所述页面控件数据库。
终端可以获取每个待测试项目各自所包含的待测页面的身份标识,并获取每个待测页面中所包含的每个控件的关键信息,基于每个待测页面的每个控件的关键信息创建页面控件数据库。页面控件数据库中每个待测页面的身份标识与该待测页面包含的每个控件的关键信息关联存储。
其中,终端可以基于每个待测项目所包含的每个待测页面的每个控件的关键信息,创建控件表,并将控件表存储在页面控件数据库中。一个控件表可以用于存储一个待测项目的所有页面的控件的关键信息。控件表中,每个待测页面与其包含的每个控件的关键信息相关联。控件的关键信息如上所述,此处不赘述。
终端还可以获取每个待测页面中每个控件所处的位置,并将其存储至页面控件数据库。例如,当某个控件在某页面所处的位置为:在第三个子节点下面的第一个子节点下面的第二个子节点,该控件在页面中所处的位置可以记为“3|1|2”。
S103:根据每个所述目标控件的关键信息查找每个所述目标控件。
终端可以使用工具自动读取待测试项目的源码,从而获取待测试的目标页面中包含的控件信息;或采用网络爬虫(Web crawler)技术爬取待测试的目标页面中包含的控件信息。
终端基于获取到的每个目标控件的关键信息以及目标页面中包含的控件信息,在待测试的目标页面中搜索与关键信息匹配的控件信息,并将匹配的控件信息对应的控件识别为该关键信息对应的目标控件。
或者终端也可以基于自动化测试用例对应的测试流程,确定目标页面中当前待测试的目标控件,基于该目标控件的关键信息从待测试的目标页面中查找目标控件。
S104:当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
终端在根据关键信息查找到目标控件时,基于自动化测试用例对应的测试流程确定查找到的目标控件的测试顺序,基于目标控件的测试顺序以及自动化测试用例对应的测试流程,驱动当前待测试的目标控件并基于该目标控件的自动化测试流程,模拟用户操作该目标控件进行人机交互,从而对该目标控件进行自动化测试。同理,按照这样的方法分别测试目标页面中的每个目标控件,从而对目标页面进行自动化测试。
例如,当目标页面为登录页面,目标控件为登录控件,登录控件中包括用于输入用户名及登录密码的输入框时,终端基于登录控件的自动化测试流程,模拟用户操作,在登录控件中用于输入用户名的输入框中输入测试账号的用户名,在登录控件中用户输入登录密码的输入框中输入测试账号的登录密码,并在输入用户名及密码之后,模拟用户操作点击登录控件中的“确定”选项,以测试登录页面是否能够正常工作。
本发明实施例,在运行自动化测试用例的过程中,通过获取待测试的目标页面包含的每个控件的关键信息,并基于控件的关键信息识别目标页面中的控件,能够准确识别页面中的控件,减少因控件的属性信息发生变化而无法识别控件导致自动化测试用例运行失败的问题,减少了误报概率,提高了自动化测试的稳定性。
请参见图2,图2是本发明另一实施例提供的一种自动化测试方法的实现流程图。本实施例中自动化测试方法的执行主体为终端。终端包括但不限于智能手机、平板电脑、可穿戴设备等移动终端,还可以是台式电脑等。本实施例中的自动化测试方法可包括:
S201:在运行自动化测试用例时,获取待测试的目标页面的身份标识。
本实施例中S201与上一实施例中的S101相同,具体请参阅上一实施例中S101的相关描述,此处不赘述。
S202:基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字。
本实施例中S202与上一实施例中的S102相同,具体请参阅上一实施例中S102的相关描述,此处不赘述。
进一步地,页面控件数据库存储有每个控件在所属的页面中所处的位置信息。
进一步地,页面控件数据库可以包括每个控件的属性信息;控件的属性信息包括控件ID、控件名称以及XPath。
S203:根据每个所述目标控件的关键信息查找每个所述目标控件。
终端可以使用工具自动读取待测试项目的源码,从而获取待测试的目标页面中包含的控件信息;或采用网络爬虫(Web crawler)技术爬取待测试的目标页面中包含的控件信息。
终端基于获取到的每个目标控件的关键信息以及目标页面中包含的控件信息,在待测试的目标页面中搜索与关键信息匹配的控件信息,并将匹配的控件信息对应的控件识别为该关键信息对应的目标控件。
或者终端也可以基于自动化测试用例对应的测试流程,确定目标页面中当前待测试的目标控件,基于该目标控件的关键信息从待测试的目标页面中查找目标控件。
当页面控件数据库存储有每个控件在所属的页面中所处的位置信息时,终端在根据关键信息没有查找到目标控件时,执行S204。终端在根据关键信息查找到目标控件时,执行S205。
S204:当未查找到所述目标控件时,获取所述目标控件在所述目标网页中的目标位置信息,并根据所述目标位置信息查找目标控件。
终端根据目标控件的关键信息未查找到目标控件时,由于页面控件数据库存储有每个控件在所属的页面中所处的位置信息,因此,终端可以基于目标控件的身份标识从页面控件数据库存储中获取目标控件在目标网页中的目标位置信息,并基于获取到的目标位置信息查找目标控件。
例如,当目标位置信息为“3|1|2”时,标识目标控件处于第三个子节点下面的第一个子节点下面的第二个子节点,因此,终端在目标页面中查找第三个子节点,并在第三个子节点下查找第一个子节点,在第一个子节点下的第二个子节点所处的位置获取目标控件。
终端在根据目标位置信息未查找到目标控件时,判定目标控件已不存在;当根据目标位置信息查找到目标控件时,判定目标控件的XPath发生变化,执行S205。
可选地,本实施例中的自动化测试方法还可以包括S206和/或S207。在判定目标控件的XPath发生变化时,终端可以执行S205~S206;在判定目标控件已不存在时,可以执行S207。
S205:当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
终端在查找到目标控件时,基于自动化测试用例对应的测试流程确定查找到的目标控件的测试顺序,基于目标控件的测试顺序以及自动化测试用例对应的测试流程,驱动当前待测试的目标控件并基于该目标控件的自动化测试流程,模拟用户操作该目标控件进行人机交互,从而对该目标控件进行自动化测试。同理,按照这样的方法分别测试目标页面中的每个目标控件,从而对目标页面进行自动化测试。
例如,当目标页面为登录页面,目标控件为登录控件,登录控件中包括用于输入用户名及登录密码的输入框时,终端基于登录控件的自动化测试流程,模拟用户操作,在登录控件中用于输入用户名的输入框中输入测试账号的用户名,在登录控件中用户输入登录密码的输入框中输入测试账号的登录密码,并在输入用户名及密码之后,模拟用户操作点击登录控件中的“确定”选项,以测试登录页面是否能够正常工作。
进一步地,为了及时更新位置发生变化的目标控件的信息,在S204之后,本实施例中的自动化测试方法还可以包括S206:当根据所述目标位置信息查找到所述目标控件时,根据预设的联系方式发送变更通知;所述变更通知包括所述目标控件的目标位置信息,所述变更通知用于通知控件维护人员更新目标控件的可扩展标记语言路径语言XPath。
终端当根据目标控件的目标位置信息查找到目标控件时,判定目标控件的XPath发生变化,根据预设的手机号码或邮箱地址等发送用于表示目标控件的XPath发生变化的变更通知,以便相关人员基于目标控件的目标位置信息更新页面控件数据库存储中的目标控件的XPath。
其中,终端在执行S204之后,可以同时执行S205以及S206;也可以在执行S204之后,先执行S205再执行S206,或先执行S206再执行S205。
进一步地,为了维护人员及时更新位置发生变化的目标控件的信息,在S204之后,本实施例中的自动化测试方法还可以包括S207:当根据所述目标位置信息未查找到所述目标控件时,根据预设的联系方式发送控件消失告警信息;所述控件消失告警信息包括所述目标控件的关键信息以及所述目标位置信息。
终端当根据目标控件的目标位置信息查找到目标控件时,判定目标控件的XPath发生变化,根据预设的联系方式发送控件消失告警信息。控件消失告警信息包括目标控件的关键信息以及目标位置信息。控件消失告警信息用于通知测试人员或维护人员对目标页面进行维护。相关人员核实目标页面中的目标控件是否真的已消失,维护目标页面中的目标控件。可以理解的是,相关人员可以基于目标控件的关键信息以及目标位置信息,从页面控件数据库中搜索目标控件的关键信息以及目标位置信息,并将其删除。
其中,预设的联系方式可以是手机号码、邮箱地址等,还可以是接收告警信息的设备的设备标识。
其中,S206与S207为并列步骤,可以择一执行。
可选地,当页面控件数据库包括每个控件的属性信息;所述属性信息包括控件ID、控件名称以及XPath时,在S203之后,还可以包括S208~S210,具体如下:
S208:在查找到所述目标控件时,获取所述目标控件当前的属性信息。
终端在根据目标控件的关键信息查找到目标控件时,获取目标控件当前的属性信息。目标控件的属性信息包括目标控件的控件ID、控件名称以及XPath。
S209:基于所述目标控件当前的属性信息以及所述页面控件数据库中所述目标控件的预存的属性信息,检测所述目标控件是否存在变更属性信息。
终端将目标控件当前的属性信息与页面控件数据库中目标控件的预存的属性信息进行比较,以检测目标控件是否存在变更属性信息。
例如,终端将目标控件当前的控件ID与页面控件数据库中预存的目标控件的控件ID进行比较,检测其控件ID是否发送变更;将目标控件当前的控件名称与页面控件数据库中预存的目标控件的控件名称进行比较,检测其控件名称是否发送变更;将目标控件当前的XPath与页面控件数据库中预存的目标控件的XPath进行比较,检测其XPath是否发送变更。
如果比较结果为目标控件的控件ID、控件名称或XPath任意一个发生变更,那么判定目标控件存在变更属性信息,变更属性信息即为发生变更的属性信息;此时执行S210。
如果比较结果为目标控件的所有属性信息未发生变更,那么不更新页面控件数据库。
S210:当所述目标控件存在变更属性信息时,将所述目标控件的所述变更属性信息更新至所述页面控件数据库。
终端在确认目标控件的控件ID、控件名称或XPath任意一个发生变更时,将该目标控件对应的变更属性信息更新到页面控件数据库,以同步更新页面控件数据库中目标控件的属性信息。
其中,终端可以将目标控件的变更属性信息增加至变更集合,以便后续核验。或者,当确认目标控件的属性信息发生变更时,终端根据预存的联系方式(邮箱地址或设备标识等)将目标控件的变更属性信息反馈给测试人员或维护人员确认,并在确认信息正确时,那么将该目标控件对应的变更属性信息更新到页面控件数据库,以同步更新目标控件的控件信息。
可选地,在S205之后,本发明实施例还可以包括S211:当检测到所述自动化测试用例运行失败时,获取并反馈导致所述自动化测试用例运行失败的原因。
终端在检测到自动化测试用例运行失败时,可以获取运行错误的代码,并基于运行错误代码与运行失败的原因之间的预设对应关系,确定获取到的运行错误的代码对应的目标原因,基于预设的联系方式将目标原因反馈给相关人员。预设的联系方式可以是邮箱地址、即时通信账号、手机号码等,此处不做限制。
可选地,终端可以从缺陷库中获取该自动化测试用例运行失败的原因,并从中获取标记的已解决的导致运行失败的原因。当目标原因为标记的已解决的导致运行失败的原因时,终端可以忽略该目标原因,也可以将目标原因标记为待持续跟进的原因,并将其反馈给相关人员,以便相关人员确认目标原因是否解决。
本发明实施例,在运行自动化测试用例的过程中,通过获取待测试的目标页面包含的每个控件的关键信息,并基于控件的关键信息识别目标页面中的控件,能够准确识别页面中的控件,减少因控件的属性信息发生变化而无法识别控件导致自动化测试用例运行失败的问题,减少了误报概率,提高了自动化测试的稳定性。
终端在确认目标控件的属性信息发生变化或目标控件消失时,能够及时更新页面控件数据库,或发出告警信息通知相关人员处理。由于能够提高目标控件的信息的准确度,减少因无法识别目标控件或找不到目标控件而导致误报测试失败的情况发生,在一定程度上能够减少自动化测试用例测试的误报率,提高测试的稳定性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
请参阅图3,图3是本发明一实施例提供的一种终端的示意图。终端包括的各单元用于执行图1~图2对应的实施例中的各步骤。具体请参阅图1~图2各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,终端3包括:
获取单元310,用于在运行自动化测试用例时,获取待测试的目标页面的身份标识;
第一查找单元320,用于基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
第二查找单元330,用于根据每个所述目标控件的关键信息查找每个所述目标控件;
测试单元340,用于当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
可选地,终端3还可以包括:
第一预处理单元,用于在运行所述自动化测试用例前,检测测试环境,获取当前处于激活状态的预设的目标进程;其中,所述目标进程包括更新进程和/或病毒扫描进程;
第二预处理单元,用于当获取到所述目标进程时,禁止所述目标进程在所述自动化测试用例的运行时段运行。
可选地,终端3还可以包括:
创建单元,用于获取每个待测试的页面所包含的控件的关键信息,并基于每个所述控件的关键信息创建所述页面控件数据库。
进一步地,所述页面控件数据库存储有每个控件在所属的页面中所处的位置信息;终端还可以包括:
第三查找单元,用于当第二查找单元未查找到所述目标控件时,获取所述目标控件在所述目标网页中的目标位置信息,并根据所述目标位置信息查找目标控件。
进一步地,终端还可以包括:
通知单元,用于当第三查找单元根据所述目标位置信息查找到所述目标控件时,根据预设的联系方式发送变更通知;所述变更通知包括所述目标控件的目标位置信息,所述变更通知用于通知控件维护人员更新目标控件的可扩展标记语言路径语言XPath。
进一步地,终端还可以包括:
告警单元,用于当第三查找单元根据所述目标位置信息未查找到所述目标控件时,根据预设的联系方式发送控件消失告警信息;所述控件消失告警信息包括所述目标控件的关键信息以及所述目标位置信息。
可选地,所述页面控件数据库包括每个控件的属性信息;所述属性信息包括控件ID、控件名称以及XPath;终端还可以包括:
属性信息获取单元,用于在第二查找单元330根据每个所述目标控件的关键信息查找到所述目标控件时,获取所述目标控件当前的属性信息;
检测单元,用于基于所述目标控件当前的属性信息以及所述页面控件数据库中所述目标控件的预存的属性信息,检测所述目标控件是否存在变更属性信息;
数据更新单元,用于当所述目标控件存在变更属性信息时,将所述目标控件的所述变更属性信息更新至所述页面控件数据库。
可选地,终端还可以包括:
反馈单元,用于当检测到所述自动化测试用例运行失败时,获取并反馈导致所述自动化测试用例运行失败的原因。
图4是本发明另一实施例提供的一种终端的示意图。如图4所示,该实施例的终端4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个终端的自动化测试方法实施例中的步骤,例如图1所示的S101至S104。或者,所述处理器40执行所述计算机程序42时实现上述各终端实施例中各单元的功能,例如图3所示单元310至340功能。
示例性的,所述计算机程序42可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端4中的执行过程。例如,所述计算机程序42可以被分割成获取单元、第一查找单元、第二查找单元以及测试单元,各单元具体功能如上所述。
所述终端可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出终端、网络接入终端、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储终端,例如所述终端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储终端。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种自动化测试方法,其特征在于,包括:
在运行自动化测试用例时,获取待测试的目标页面的身份标识;
基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
根据每个所述目标控件的关键信息查找每个所述目标控件;
当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
2.根据权利要求1所述的自动化测试方法,其特征在于,所述基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息之前,还包括:
获取每个待测试的页面所包含的控件的关键信息,并基于每个所述控件的关键信息创建所述页面控件数据库。
3.根据权利要求1所述的自动化测试方法,其特征在于,所述页面控件数据库存储有每个控件在所属的页面中所处的位置信息;所述根据每个所述目标控件的关键信息查找每个所述目标控件之后,还包括:
当未查找到所述目标控件时,获取所述目标控件在所述目标网页中的目标位置信息,并根据所述目标位置信息查找目标控件。
4.根据权利要求3所述的自动化测试方法,其特征在于,所述当未查找到所述目标控件时,获取所述目标控件在所述目标网页中的目标位置信息,并根据所述目标位置信息查找目标控件之后,还包括:
当根据所述目标位置信息查找到所述目标控件时,根据预设的联系方式发送变更通知;所述变更通知包括所述目标控件的目标位置信息,所述变更通知用于通知控件维护人员更新目标控件的可扩展标记语言路径语言XPath。
5.根据权利要求3所述的自动化测试方法,其特征在于,所述当根据所述目标控件的关键信息未查找到所述目标控件时,获取所述目标控件在所述目标网页中的目标位置信息,并根据所述目标位置信息查找目标控件之后,还包括:
当根据所述目标位置信息未查找到所述目标控件时,根据预设的联系方式发送控件消失告警信息;所述控件消失告警信息包括所述目标控件的关键信息以及所述目标位置信息。
6.根据权利要求1所述的自动化测试方法,其特征在于,所述页面控件数据库包括每个控件的属性信息;所述属性信息包括控件ID、控件名称以及XPath;
所述根据每个所述目标控件的关键信息查找每个所述目标控件之后,还包括:
在查找到所述目标控件时,获取所述目标控件当前的属性信息;
基于所述目标控件当前的属性信息以及所述页面控件数据库中所述目标控件的预存的属性信息,检测所述目标控件是否存在变更属性信息;
当所述目标控件存在变更属性信息时,将所述目标控件的所述变更属性信息更新至所述页面控件数据库。
7.根据权利要求1至6任一项所述的自动化测试方法,其特征在于,所述当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试之后,还包括:
当检测到所述自动化测试用例运行失败时,获取并反馈导致所述自动化测试用例运行失败的原因。
8.一种终端,其特征在于,包括:
获取单元,用于在运行自动化测试用例时,获取待测试的目标页面的身份标识;
第一查找单元,用于基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
第二查找单元,用于根据每个所述目标控件的关键信息查找每个所述目标控件;
测试单元,用于当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
9.一种终端,其特征在于,所述终端包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
在运行自动化测试用例时,获取待测试的目标页面的身份标识;
基于所述目标页面的身份标识,从页面控件数据库中查找所述目标页面包含的所有目标控件各自对应的关键信息;所述关键信息用于在所述目标页面中查找所述目标控件,所述关键信息包括所述目标控件的身份标识、所述目标控件的查找方式、查找内容、待搜索的关键字;
根据每个所述目标控件的关键信息查找每个所述目标控件;
当查找到所述目标控件时,基于查找到的所述目标控件进行自动化测试。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN201811531381.0A 2018-12-14 2018-12-14 一种自动化测试方法及终端 Pending CN109783356A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811531381.0A CN109783356A (zh) 2018-12-14 2018-12-14 一种自动化测试方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811531381.0A CN109783356A (zh) 2018-12-14 2018-12-14 一种自动化测试方法及终端

Publications (1)

Publication Number Publication Date
CN109783356A true CN109783356A (zh) 2019-05-21

Family

ID=66496906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811531381.0A Pending CN109783356A (zh) 2018-12-14 2018-12-14 一种自动化测试方法及终端

Country Status (1)

Country Link
CN (1) CN109783356A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112269746A (zh) * 2020-11-10 2021-01-26 京东数科海益信息科技有限公司 自动化测试方法及相关设备
CN112579456A (zh) * 2020-12-24 2021-03-30 安徽航天信息科技有限公司 一种Web自动化测试方法及装置
CN112817582A (zh) * 2021-03-05 2021-05-18 网易(杭州)网络有限公司 代码处理方法、装置、计算机设备和存储介质
CN113485909A (zh) * 2021-06-01 2021-10-08 杭州网易云音乐科技有限公司 测试方法、装置、计算设备以及介质
CN113642642A (zh) * 2021-08-13 2021-11-12 上海哔哩哔哩科技有限公司 控件识别方法及装置
CN113791786A (zh) * 2021-09-23 2021-12-14 安然 基于ios系统的app页面控件自动化方法及装置
CN116594916A (zh) * 2023-07-17 2023-08-15 腾讯科技(深圳)有限公司 页面控件定位方法、装置及存储介质
WO2023230797A1 (zh) * 2022-05-30 2023-12-07 北京小米移动软件有限公司 一种跨系统测试方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112269746A (zh) * 2020-11-10 2021-01-26 京东数科海益信息科技有限公司 自动化测试方法及相关设备
CN112579456A (zh) * 2020-12-24 2021-03-30 安徽航天信息科技有限公司 一种Web自动化测试方法及装置
CN112579456B (zh) * 2020-12-24 2024-04-09 安徽航天信息科技有限公司 一种Web自动化测试方法及装置
CN112817582B (zh) * 2021-03-05 2023-08-08 网易(杭州)网络有限公司 代码处理方法、装置、计算机设备和存储介质
CN112817582A (zh) * 2021-03-05 2021-05-18 网易(杭州)网络有限公司 代码处理方法、装置、计算机设备和存储介质
CN113485909A (zh) * 2021-06-01 2021-10-08 杭州网易云音乐科技有限公司 测试方法、装置、计算设备以及介质
CN113485909B (zh) * 2021-06-01 2023-10-27 杭州网易云音乐科技有限公司 测试方法、装置、计算设备以及介质
CN113642642A (zh) * 2021-08-13 2021-11-12 上海哔哩哔哩科技有限公司 控件识别方法及装置
CN113642642B (zh) * 2021-08-13 2024-04-30 上海哔哩哔哩科技有限公司 控件识别方法及装置
CN113791786A (zh) * 2021-09-23 2021-12-14 安然 基于ios系统的app页面控件自动化方法及装置
CN113791786B (zh) * 2021-09-23 2024-01-19 安然 基于ios系统的app页面控件自动化方法及装置
WO2023230797A1 (zh) * 2022-05-30 2023-12-07 北京小米移动软件有限公司 一种跨系统测试方法及装置
CN116594916A (zh) * 2023-07-17 2023-08-15 腾讯科技(深圳)有限公司 页面控件定位方法、装置及存储介质
CN116594916B (zh) * 2023-07-17 2023-11-14 腾讯科技(深圳)有限公司 页面控件定位方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN109783356A (zh) 一种自动化测试方法及终端
JP7398068B2 (ja) ソフトウェアテスト
US20100281457A1 (en) Automating interactions with software user interfaces
JP2018045403A (ja) 異常検知システム及び異常検知方法
CN108255722B (zh) 脚本生成方法、脚本生成装置及服务器
US11184313B1 (en) Message content cleansing
CN111694612A (zh) 配置检查方法、装置、计算机系统及存储介质
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN111045927A (zh) 性能测试评估方法、装置、计算机设备及可读存储介质
CN113326247A (zh) 云端数据的迁移方法、装置及电子设备
CN113535587A (zh) 目标应用检测方法、装置及计算机设备
CN114637672A (zh) 自动化数据测试方法、装置、计算机设备及存储介质
CN113238940A (zh) 一种接口测试结果的比对方法、装置、设备和存储介质
CN112765188A (zh) 配置信息处理方法、配置管理系统、电子设备及存储介质
CN112328473A (zh) 代码自动化集成测试方法、装置及电子设备
CN110351162A (zh) 页面可用性监控方法、装置、计算机设备及存储介质
Wang et al. Intelligent software service configuration technology based on association mining
CN115640236B (zh) 一种脚本质量的检测方法及计算设备
US11829230B2 (en) Globally unique error codes for knowledge document indexing in software systems
US20120036110A1 (en) Automatically Reviewing Information Mappings Across Different Information Models
CN116483377B (zh) 一种代码检测方法、装置、电子设备及存储介质
US20230419020A1 (en) Machine Learning Based Document Visual Element Extraction
CN116383834B (zh) 针对源码漏洞检测工具异常的检测方法以及相关设备
US20240037243A1 (en) Artificial intelligence based security requirements identification and testing
CN116225374A (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