买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种页面测试方法、装置及其设备_阿里巴巴集团控股有限公司_201810301916.9 

申请/专利权人:阿里巴巴集团控股有限公司

申请日:2018-04-04

公开(公告)日:2024-04-09

公开(公告)号:CN110347577B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2024.04.09#授权;2019.11.12#实质审查的生效;2019.10.18#公开

摘要:本申请提供一种页面测试方法、装置及其设备,该方法包括:确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试。通过本申请的技术方案,减轻测试工作量,提高用户体验。服务器的运行环境与测试用例的测试环境相匹配,符合测试需求,可以避免由于运行环境不匹配导致的测试失败。可以提升测试效率,节省测试资源。

主权项:1.一种页面测试方法,其特征在于,应用于服务器,所述方法包括:确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试;其中,所述获得与所述测试用例和所述待测试页面对应的测试程序和环境信息,包括:通过所述测试用例和所述待测试页面查询映射关系,得到与所述测试用例和所述待测试页面对应的测试程序和环境信息;其中,所述映射关系用于记录测试用例、待测试页面、测试程序和环境信息的对应关系;其中,所述环境信息包括硬件环境和或软件环境;其中,所述确定需要利用测试用例对待测试页面进行测试之前,还包括:获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述服务器包括录制工具、连接器和环境管理器;所述录制工具用于在主机利用测试用例对待测试页面进行测试时录制操作信息,并根据所述操作信息生成测试程序;在用户通过主机对待测试页面进行测试时,所述连接器用于与主机进行连接,远程监控主机行为,使所述录制工具能够录制主机的操作信息;在所述录制工具录制操作信息,并根据所述操作信息生成测试程序时,所述环境管理器用于收集并存储环境信息,在根据测试程序对待测试页面进行自动化测试时,所述环境管理器用于利用存储的该环境信息搭建环境。

全文数据:一种页面测试方法、装置及其设备技术领域本申请涉及互联网技术领域,尤其是一种页面测试方法、装置及其设备。背景技术页面测试也可以成为界面测试,简称UI测试是指:测试页面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合使用习惯、页面操作是否便捷、页面导航是否简单易懂、页面元素是否可用、页面中文字是否正确、页面中命名是否统一等。其中,在页面上线之前,日常、预发等环境每当有代码变更部署时,需要利用测试用例对页面进行多次测试。例如,第一次日常代码变更部署测试时,使用测试用例A和测试用例B对页面进行手工测试;第二次日常代码变更部署测试时,使用测试用例A和测试用例B对页面进行手工测试;有多少次代码变更部署,就需要多少次测试,以此类推。在上述方式中,需要用户按照测试用例对页面进行手工测试,测试工作量很大。尤其是每当有代码变更部署时,都需要回归所有测试过程,如果加上多个环境变更发布,例如有m次代码变更都需要部署、n套环境、k个手工用例,那么,测试用例运行总量为m*n*k,m和n的增多,影响测试次数进一步加大,从而增加测试工作量,影响用户测试效率。发明内容本申请提供一种页面测试方法,应用于服务器,所述方法包括:确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试。本申请提供一种页面测试方法,应用于服务器,所述方法包括:获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。本申请提供一种页面测试装置,应用于服务器,所述装置包括:确定模块,用于确定需要利用测试用例对待测试页面进行测试;获得模块,用于获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;测试模块,用于利用该测试程序和该环境信息对所述待测试页面进行测试。本申请提供一种页面测试装置,应用于服务器,所述装置包括:获取模块,用于获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;记录模块,用于在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。本申请提供一种服务器,包括:处理器,用于确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试。本申请提供一种服务器,所述服务器包括:处理器,用于获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。基于上述技术方案,本申请实施例中,在需要利用测试用例对待测试页面进行测试时,可以获得与该测试用例和该待测试页面对应的测试程序和环境信息,并根据该测试程序和该环境信息对待测试页面进行测试,而不需要用户按照测试用例对页面进行手工测试,从而减轻测试工作量,提高用户体验。而且,可以根据映射关系中的环境信息构建服务器的运行环境,这样,服务器的运行环境与测试用例的测试环境相匹配,符合测试需求,可以保证测试过程的顺利进行,避免由于运行环境不匹配导致的测试失败。此外,服务器可以支持多个用户的测试,从而可以提升测试效率,并可以节省测试资源。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。图1A和图1B是本申请一种实施方式中的应用场景示意图;图2是本申请一种实施方式中的页面测试方法流程图;图3是本申请另一种实施方式中的页面测试方法流程图;图4是本申请一种实施方式中的页面测试装置结构图;图5是本申请另一种实施方式中的页面测试装置结构图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例提出一种页面测试方法,该方法可以应用于包括主机和服务器的系统,参见图1A所示,为本申请实施例的应用场景示意图。主机是用户对待测试页面进行测试时使用的本地设备,可以为PCPersonalComputer,个人计算机、平板电脑、笔记本电脑、移动终端、智能手机等,对此主机的类型不做限制。服务器是用户对待测试页面进行测试时使用的云端设备,可以为PC、平板电脑、笔记本电脑、移动终端、智能手机等,对此服务器的类型不做限制。其中,用户是需要对待测试页面进行测试的用户,可以是开发人员、WEB测试人员、自动化测试人员等,对此不做限制,只要是需要对待测试页面进行测试的用户即可,在图1A中,以用户A、用户B和用户C为例进行说明。其中,主机是用户使用的本地设备,可以包括浏览器或者APP应用程序,用户可以通过浏览器或者APP访问待测试页面,继而对待测试页面进行测试。其中,服务器是云端设备,可以采用虚拟化技术,在服务器虚拟出多个虚拟机VirtualMachine,每个虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。此外,虚拟机可以远程访问主机的操作系统,监控主机的操作行为,如对主机的测试过程进行监控。其中,待测试页面是需要进行测试的页面,即待测试页面被开发后,在上线前,可以对待测试页面进行多次测试。例如,在第一次日常代码变更部署测试时,用户A使用测试用例A和测试用例B对待测试页面进行测试;在第二次日常代码变更部署测试时,用户A使用测试用例A和测试用例B对待测试页面进行测试;在第三次日常代码变更部署测试时,用户B使用测试用例A、测试用例B和测试用例C对待测试页面进行测试;在第四次日常代码变更部署测试时,用户C使用测试用例A、测试用例B和测试用例C对待测试页面进行测试。在传统方式中,由用户按照测试用例对待测试页面进行手工测试,如上述测试过程均是对待测试页面进行手工测试,测试工作量很大,影响用户体验。例如,如果有m次代码变更都需要部署、n套环境、k个手工用例,那么,测试用例运行总量为m*n*k,m和n的增多,影响测试次数进一步加大,从而增加测试工作量,影响用户测试效率。本申请实施例中,在第一次日常代码变更部署测试时,用户A使用测试用例A对待测试页面进行手工测试,在测试过程中,服务器可以录制主机11的操作信息,并根据该操作信息生成与测试用例A对应的测试程序A。基于此,在第二次日常代码变更部署测试时,用户A使用测试用例A对待测试页面进行测试时,就可以利用测试程序A对待测试页面进行自动化测试,而不是使用测试用例A对待测试页面进行手工测试。在第三次日常代码变更部署测试时,用户B也可以利用测试程序A对待测试页面进行自动化测试,在第四次日常代码变更部署测试时,用户C也可以利用测试程序A对待测试页面进行自动化测试。同理,针对测试用例B和测试用例C,服务器也可以生成对应的测试程序B和测试程序C,并利用测试程序B和测试程序C对待测试页面进行自动化测试。显然,上述方式可以对待测试页面进行自动化测试,从而可以减轻手工测试的工作量,提高用户使用体验。在上述实施例中,测试用例与测试程序的区别在于:测试用例可以包括多个步骤,各个步骤可以是方便用户理解的描述性文字,如测试用例包括步骤1-步骤10,步骤1是输入abc,步骤2是点击鼠标左键,步骤3是输入回车等,以此类推,用户看到这些步骤,就可以依次执行各个步骤。测试程序是与测试用例对应的软件代码,是机器可以自动执行的软件代码,在机器执行测试程序的过程中,不需要用户的参与,如测试程序包括步骤1-步骤10对应的软件代码,机器自动执行这个软件代码的过程,相当于执行了测试用例的步骤1-步骤10。其中,测试程序也可以称为测试脚本Testingscript或者自动化脚本,是一个供机器执行的软件代码,为了方便描述,本文以测试程序为例进行说明。在上述实施例中,手工测试和自动化测试的区别在于:手工测试是用户手工执行测试用例中各步骤的方式,如针对步骤1-步骤10,用户手工执行步骤1,即输入abc,然后用户手工执行步骤2,即点击鼠标左键,以此类推。自动化测试是机器自动执行测试程序中软件代码的方式,如测试程序包括步骤1-步骤10对应的软件代码,机器自动执行测试程序后,相当于执行了步骤1-步骤10。综上所述,本申请实施例中,通过对待测试页面进行自动化测试,减少对待测试页面进行手工测试,从而减轻手工测试的工作量,提高用户使用体验。在一个例子中,由服务器录制操作信息,并根据操作信息生成测试程序,而不是由用户本地的主机录制操作信息,并生成测试程序,其原因可以包括:1、若由用户本地的主机录制操作信息,并根据操作信息生成测试程序,则需要在主机搭建录制环境如安装录制工具等,会占用大量主机资源,影响主机性能,而且在每个主机如主机11-主机13均搭建录制环境。与此不同的是,若由服务器录制操作信息,并根据操作信息生成测试程序,则不需要在主机搭建录制环境,提高主机性能,节约主机资源。而且,可以在服务器虚拟出用于录制操作信息的虚拟机,并由该虚拟机执行录制操作信息的过程,而服务器的其它虚拟机可以继续执行自身业务,从而不会造成对其它业务的影响。2、考虑到测试程序的执行对环境要求高,因此,测试程序的录制环境与测试程序的回放环境一致,例如,在环境A下录制操作信息,并根据操作信息生成测试程序后,在环境A下执行测试程序,以对待测试页面进行自动化测试。基于此,若由用户本地的主机录制操作信息,并根据操作信息生成测试程序,则用户A在主机11生成测试程序后,只能在主机11执行该测试程序,以对待测试页面进行自动化测试,无法在另一个主机对待测试页面进行自动化测试,或者,用户A需要按照主机11的环境搭建另一个主机的环境,才能够在另一个主机对待测试页面进行自动化测试,环境搭建比较困难,资源成本高。与此不同的是,若由服务器录制操作信息,并根据操作信息生成测试程序,则不会对主机的环境造成限制,可以由录制操作信息的虚拟机如虚拟机141执行测试程序,以对待测试页面进行自动化测试,或者,基于虚拟机141的环境确定另一虚拟机如虚拟机142,虚拟机142的环境与虚拟机141的环境相同,这样,可以由虚拟机142执行测试程序,以对待测试页面进行自动化测试。3、若由用户本地的主机录制操作信息,并根据操作信息生成测试程序,则用户A在主机11生成测试程序后,只有用户A能够通过主机11执行该测试程序,以对待测试页面进行自动化测试,用户B和用户C无法使用该测试程序。与此不同的是,若由服务器录制操作信息,并根据操作信息生成测试程序,服务器生成测试程序后,用户A、用户B和用户C均可以使用该测试程序,支持多个用户在同一服务器共用测试程序,从而节省测试资源,提高资源利用率。在一个例子中,参见图1B所示,为服务器的结构示意图,服务器可以包括语义分析器、录制工具、连接器和环境管理器。当由服务器的虚拟机录制操作信息时,则语义分析器、录制工具、连接器和环境管理器可以部署在虚拟机。其中,语义分析器用于采用相似度算法分析数据之间的相似度,如采用词向量模型分析数据之间的相似度,在后续实施例中介绍相似度的分析过程。其中,在录制过程中,录制工具用于在主机利用测试用例对待测试页面进行手工测试时,录制操作信息,并根据该操作信息生成测试程序。此外,在回写过程中,录制工具用于根据该测试程序对待测试页面进行自动化测试。其中,连接器可以为HTMLHyperTextMarkupLanguage,超级文本标记语言VNCVirtualNetworkConsole,虚拟网络控制台虚拟操作系统连接器,在用户通过主机对待测试页面进行手工测试时,连接器用于与主机进行连接,能够远程监控主机行为,从而使录制工具能够录制主机的操作信息。其中,环境管理器可以为虚拟机镜像环境管理器,在虚拟机录制操作信息,并根据操作信息生成测试程序时,环境管理器用于收集虚拟机的环境信息,并存储环境信息。在虚拟机根据该测试程序对待测试页面进行自动化测试时,可以利用存储的该环境信息搭建虚拟机的环境,以使录制环境与回写环境一致。在上述应用场景下,本申请实施例中提出的页面测试方法,可以包括录制过程和回写过程。在录制过程中,用户可以通过主机对待测试页面进行手工测试,服务器可以录制主机的操作信息,并根据该操作信息生成测试程序。在回写过程中,服务器可以根据该测试程序对待测试页面进行自动化测试。以下结合具体的实施例,对录制过程和回写过程进行详细说明,参见图2所示,为上述录制过程的处理流程图,参见图3所示,为上述回写过程的处理流程图。参见图2所示,为页面测试方法的流程图,该方法应用于服务器,包括:步骤201,获取主机利用测试用例对待测试页面进行测试时的操作信息。其中,获取主机利用测试用例对待测试页面进行测试时的操作信息,可以包括:在主机利用测试用例对待测试页面进行测试如用户通过主机对待测试页面进行手工测试时,服务器获取该主机的操作信息,该操作信息包括但不限于以下之一或者任意组合:输入操作、点击操作、滚动操作、悬浮操作。例如,在用户通过主机对待测试页面进行手工测试时,如用户输入abc,则服务器可以获取到这个输入操作,确定操作信息是输入abc;若用户点击鼠标左键,则服务器可以获取到这个点击操作,确定操作信息是点击鼠标左键;若用户滚动鼠标,则服务器可以获取到这个滚动操作,确定操作信息是鼠标滚动前的位置A和鼠标滚动后的位置B,表示鼠标从位置A滚动到位置B,以此类推。其中,在主机利用测试用例对待测试页面进行测试如手工测试时,则服务器可以使用录制工具获取该主机的操作信息,对此获取过程不做限制。步骤202,根据该操作信息生成测试程序,并获取服务器所处的环境信息。其中,服务器在获取到操作信息后,就可以将该操作信息转换成测试程序,对此转换过程不做限制。例如,可以将“输入abc”这个操作信息转换成机器可以自动执行的软件代码,在机器自动执行该软件代码时,就会输入abc。其中,环境信息可以包括但不限于硬件环境和或软件环境。该硬件环境可以是硬件配置信息,可以包括但不限于:处理器信息、内存信息、硬盘信息等,对此硬件环境的内容不做限制。该软件环境可以是软件配置信息,可以包括但不限于操作系统、数据库等,对此软件环境的内容不做限制。其中,当服务器获取操作信息,并根据该操作信息生成测试程序时,则可以获取该服务器的环境信息;当服务器内虚拟出的虚拟机获取操作信息,并根据该操作信息生成测试程序时,则可以获取该服务器内的虚拟机的环境信息。步骤203,在映射关系中记录该测试用例、该待测试页面、该测试程序和该环境信息的对应关系。其中,所述映射关系用于对待测试页面进行测试。其中,映射关系可以是表格结构,也可以是文件结构,还可以是其它结构,对此不做限制,只要能够记录测试用例、待测试页面、测试程序和环境信息的对应关系即可。如表1所示,是表格结构的映射关系示例,对此内容不做限制。表1测试用例待测试页面测试程序环境信息测试用例A待测试页面1测试程序A环境信息A测试用例B待测试页面1测试程序B环境信息B测试用例C待测试页面1测试程序C环境信息A在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。在一个例子中,测试程序可以包括多个操作信息对应的子程序,测试用例可以包括至少一个断言数据。基于此,可以获取操作信息对应的页面信息,确定该页面信息对应的断言数据;查询该断言数据所属的测试用例,并在测试程序中记录该操作信息对应的子程序与该断言数据所属的测试用例的对应关系。例如,当测试用例A包括步骤1-步骤10时,主机利用测试用例A对待测试页面进行测试时,会产生步骤1-步骤10分别对应的操作信息1-操作信息10,这样,在根据操作信息生成测试程序时,就可以生成操作信息1-操作信息10分别对应的子程序1-子程序10,而子程序1-子程序10就可以组合成上述测试程序。例如,在执行步骤1后,假设当前页面是A页面,则服务器可以从A页面获取到页面信息,该页面信息是步骤1对应的操作信息1对应的页面信息,该页面信息可以是A页面的主题、某段文字、某个按钮等,对此不做限制。例如,测试用例A可以包括一个或者多个断言数据,如断言数据A和断言数据B,断言数据A是存在138110,断言数据B是不存在xyz。假设A页面的页面信息存在138110,则确定该页面信息对应断言数据A,并查询到断言数据A所属的测试用例A,并可以在测试程序中记录操作信息1对应的子程序1与测试用例A的对应关系,对于该对应关系的作用,将在后续实施例中介绍。在另一个例子中,该测试程序可以包括多个操作信息对应的子程序,且该测试用例可以包括至少一个子用例,且子用例可以包括至少一个断言数据或者不包括断言数据。基于此,还可以获取操作信息对应的页面信息,并确定该页面信息对应的断言数据;然后,可以查询该断言数据所属的子用例,并在测试程序中记录该操作信息对应的子程序与该断言数据所属的子用例的对应关系。例如,测试用例A包括子用例A1和子用例A2,子用例A1包括断言数据A和断言数据B,断言数据A是存在138110,断言数据B是不存在xyz。基于此,假设A页面的页面信息存在138110,则确定页面信息对应断言数据A,并查询到断言数据A所属的子用例A1,并在测试程序中记录操作信息1对应的子程序1与子用例A1的对应关系,对于该对应关系的作用,在后续实施例介绍。在上述实施例中,确定页面信息对应的断言数据,可以包括:对页面信息进行分词处理,得到分词数据;获取分词数据与至少一个断言数据的相似度;根据分词数据与至少一个断言数据的相似度,从至少一个断言数据中确定与分词数据对应的断言数据。进一步,获取分词数据与至少一个断言数据的相似度,可以包括:采用词向量模型获取分词数据与至少一个断言数据的相似度。例如,对页面信息进行分词处理,得到分词数据1和分词数据2,对此分词处理过程不做限制。然后,采用词向量模型word2vec模型计算断言数据A与分词数据1相似度,假设为85%,计算断言数据A与分词数据2相似度,假设为20%,并计算断言数据B与分词数据1相似度,假设为10%,计算断言数据B与分词数据2相似度,假设为0%。其中,word2vec模型的特点是将所有词向量化,这样,可以定量的度量词与词之间的关系,挖掘词之间的联系。基于word2vec模型,可以计算断言数据与分词数据的相似度,对此不做限制。假设将相似度大于阈值根据经验配置,如80%的断言数据确定为分词数据对应的断言数据,则可以将断言数据A确定为分词数据1对应的断言数据。以下结合如下的处理流程,对上述录制过程的方案进行进一步的说明。步骤211,主机获得测试用例A,该测试用例A包括至少一个子用例,如子用例1和子用例2。该子用例1可以包括断言数据A和断言数据B,该断言数据A是存在138110,该断言数据B是不存在xyz;该子用例2可以包括断言数据C,该断言数据C是存在118456。当然,上述至少一个示例,对此不做限制。在实际应用中,一个子用例可以是测试用例的一个步骤,对此不做限制。其中,在将测试用例提供给主机之前,分词器可以分析出子用例中的断言数据,并在子用例中记录断言数据,如在子用例1中记录断言数据A和断言数据B,在子用例2中记录断言数据C。而且,上述断言数据还可以包括case标识、case、关键字的对应关系,如断言数据A包括标识A、存在、138110的对应关系,断言数据B包括标识B、不存在、xyz的对应关系,以此类推。其中,上述测试用例A可以是手工用例,或者单元测试自动化用例,或者,API自动化用例,或者流量自动化用例,对此测试用例A的类型不做限制。步骤212,主机在浏览器输入待测试页面的URLUniformResourceLocator,统一资源定位符,浏览器将待测试页面的URL发送给服务器,服务器打开待测试页面的URL。而且,服务器启动录制工具,并对主机的操作信息进行监控。步骤213,主机利用测试用例A对待测试页面进行测试。例如,基于测试用例A的各步骤,用户通过主机在浏览器窗口执行输入、点击、滚动等手工操作。例如,先执行子用例A中的各步骤,然后执行子用例B中的各步骤。步骤214,服务器获取主机利用测试用例A对待测试页面进行测试时的操作信息。例如,在主机利用测试用例A对待测试页面进行测试时,服务器可以获取该主机的操作信息。其中,该操作信息可以包括但不限于以下之一或者任意组合:输入操作、点击操作、滚动操作、悬浮操作等。步骤215,服务器将该操作信息转换成子程序,对此转换过程不做限制。步骤216,服务器获取该操作信息对应的页面信息,并判断是否存在该页面信息对应的断言数据。如果是,则执行步骤217;如果否,则执行步骤219。步骤217,服务器查询该页面信息对应的断言数据所属的子用例,例如,若该页面信息对应断言数据A,则服务器可以从测试用例A中查询到断言数据A所属的子用例1。本步骤之前,服务器还可以从主机获取到测试用例A。步骤218,服务器记录该操作信息对应的子程序即步骤215中得到的子程序与该断言数据A所属的子用例1的对应关系,然后,执行步骤219。在一个例子中,服务器还可以提示用户手工关联子程序与子用例的对应关系,由用户手工关联子程序与子用例的对应关系,对此过程不再详加赘述。步骤219,服务器判断录制过程是否结束。如果否,返回步骤214,获取下一个操作信息,利用该操作信息执行步骤215-步骤218。如果是,执行步骤220。步骤220,服务器将得到的所有子程序组合成测试程序。步骤221,服务器获取本服务器所处的环境信息。步骤222,服务器可以在映射关系中记录该测试用例、该待测试页面如该待测试页面的URL、该测试程序和该环境信息的对应关系。参见图3所示,为页面测试方法的流程图,该方法应用于服务器,包括:步骤301,确定需要利用测试用例对待测试页面进行测试。步骤302,获得与该测试用例和该待测试页面对应的测试程序和环境信息。其中,获得与该测试用例和该待测试页面对应的测试程序和环境信息,可以包括:通过该测试用例和该待测试页面查询映射关系,得到与该测试用例和该待测试页面对应的测试程序和环境信息;其中,所述映射关系用于记录测试用例、待测试页面、测试程序和环境信息的对应关系,参见表1所示。经过录制过程的处理,已经在映射关系中记录测试用例、待测试页面、测试程序和环境信息的对应关系,因此,在步骤301中,若确定需要利用测试用例A对待测试页面1进行测试,则可以通过测试用例A和待测试页面1查询表1所示的映射关系,得到测试程序为测试程序A,且环境信息为环境信息A。步骤303,利用得到的测试程序和环境信息对待测试页面进行测试。其中,利用得到的测试程序和环境信息对待测试页面进行测试,可以包括:根据该环境信息构建服务器的运行环境;在该运行环境下,利用该测试程序对待测试页面进行测试。例如,若服务器存在环境信息为环境信息A的虚拟机1,则由虚拟机1根据测试程序A对待测试页面1进行自动化测试。若服务器不存在环境信息为环境信息A的虚拟机,则在服务器虚拟出一个环境信息为环境信息A的虚拟机2,由虚拟机2根据测试程序A对待测试页面1进行自动化测试。在一个例子中,测试程序可以包括多个子程序,利用测试程序对待测试页面进行测试,可以包括:获取利用子程序对待测试页面进行测试时的断言结果;然后,从该测试程序中解析出该子程序对应的测试用例,并在该测试用例中记录所述断言结果;其中,该测试程序可以包括子程序与测试用例的对应关系。在另一个例子中,测试程序可以包括多个子程序,且测试用例可以包括至少一个子用例,每个子用例包括断言数据。基于此,利用测试程序对待测试页面进行测试,可以包括:获取利用子程序对待测试页面进行测试时的断言结果;然后,可以从该测试程序中解析出该子程序对应的子用例,并在该子用例中记录所述断言结果;其中,该测试程序可以包括子程序与子用例的对应关系。例如,测试程序包括子程序1-子程序10,在利用子程序1对待测试页面进行测试时,得到断言结果A,如断言结果A是“存在138110”。假设测试程序包括子程序1与子用例1的对应关系在上述实施例,已经介绍测试程序包括子程序与子用例的对应关系,因此,服务器可以从该测试程序中解析出子程序1对应的子用例1,并在该子用例1中记录所述断言结果A。显然,经过上述方式,可以将断言结果记录到对应的子用例中,这样,用户就可以直接从子用例中查询到断言结果,继而根据断言结果分析待测试页面的测试结果。以下结合如下的处理流程,对上述回写过程的方案进行进一步的说明。步骤311,主机需要利用测试用例A对待测试页面1进行测试。步骤312,服务器确定需要利用测试用例A对待测试页面1进行测试。步骤313,服务器通过测试用例A和待测试页面1查询表1所示的映射关系,得到测试程序为测试程序A,且环境信息为环境信息A。步骤314,服务器构建与环境信息A对应的运行环境。步骤315,在该运行环境下,服务器依次选取测试程序A的每个子程序。步骤316,服务器利用选取的子程序对待测试页面1进行测试。步骤317,服务器获取利用该子程序对待测试页面1进行测试时的断言结果。步骤318,服务器从测试程序A中解析出该子程序对应的子用例。步骤319,服务器在该子用例中记录该断言结果。步骤320,服务器判断测试程序A的每个子程序是否均执行完成。如果是,则结束流程,显然,在上述过程中,已经将所有断言结果记录到子用例中,从而方便用户的查看。如果否,则返回步骤315,选择下一个子程序继续执行。基于上述技术方案,本申请实施例中,在需要利用测试用例对待测试页面进行测试时,可以从映射关系中查询到与该测试用例和该待测试页面对应的测试程序和环境信息,并根据该测试程序和该环境信息对待测试页面进行测试,而不需要用户按照测试用例对页面进行手工测试,从而减轻测试工作量,提高用户体验。而且,可以根据映射关系中的环境信息构建服务器的运行环境,这样,服务器的运行环境与测试用例的测试环境相匹配,符合测试需求,可以保证测试过程的顺利进行,避免由于运行环境不匹配导致的测试失败。此外,服务器可以支持多个用户的测试,从而可以提升测试效率,并可以节省测试资源。基于与上述方法同样的申请构思,本申请实施例还提供一种页面测试装置,可以应用于服务器。如图4所示,为所述装置的结构图,所述装置包括:确定模块401,用于确定需要利用测试用例对待测试页面进行测试;获得模块402,用于获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;测试模块403,用于利用该测试程序和该环境信息对待测试页面进行测试。在一个例子中,所述获得模块402,具体用于通过所述测试用例和所述待测试页面查询映射关系,得到与所述测试用例和所述待测试页面对应的测试程序和环境信息;其中,所述映射关系用于记录测试用例、待测试页面、测试程序和环境信息的对应关系。所述测试模块403,具体用于根据所述环境信息构建所述服务器的运行环境;在所述运行环境下,利用所述测试程序对所述待测试页面进行测试。所述测试程序包括多个子程序,所述测试用例包括至少一个子用例;所述测试模块403利用所述测试程序对所述待测试页面进行测试时具体用于:获取利用子程序对所述待测试页面进行测试时的断言结果;从所述测试程序中解析所述子程序对应的子用例,并在所述子用例中记录所述断言结果;其中,所述测试程序包括子程序与子用例的对应关系。基于与上述方法同样的申请构思,本申请实施例还提供一种服务器,所述服务器包括处理器。所述处理器,用于确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试。基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,其中,所述计算机指令被执行时进行如下处理:确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试。基于与上述方法同样的申请构思,本申请实施例还提供一种页面测试装置,可以应用于服务器。如图5所示,为所述装置的结构图,所述装置包括:获取模块501,用于获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;记录模块502,用于在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。所述测试程序包括多个操作信息对应的子程序,所述测试用例包括至少一个子用例,所述子用例包括至少一个断言数据;所述获取模块501,还用于获取所述操作信息对应的页面信息,确定所述页面信息对应的断言数据;所述记录模块502,还用于查询所述断言数据所属的子用例,并在所述测试程序中记录所述操作信息对应的子程序与所述断言数据所属的子用例的对应关系。基于与上述方法同样的申请构思,本申请实施例还提供一种服务器,所述服务器包括:处理器,用于获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和或硬件中实现。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备系统、和计算机程序产品的流程图和或方框图来描述的。应理解可以由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

权利要求:1.一种页面测试方法,其特征在于,应用于服务器,所述方法包括:确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试。2.根据权利要求1所述的方法,其特征在于,所述获得与所述测试用例和所述待测试页面对应的测试程序和环境信息,包括:通过所述测试用例和所述待测试页面查询映射关系,得到与所述测试用例和所述待测试页面对应的测试程序和环境信息;其中,所述映射关系用于记录测试用例、待测试页面、测试程序和环境信息的对应关系。3.根据权利要求2所述的方法,其特征在于,所述确定需要利用测试用例对待测试页面进行测试之前,还包括:获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系。4.根据权利要求3所述的方法,其特征在于,所述获取主机利用测试用例对待测试页面进行测试时的操作信息,包括:在主机利用测试用例对待测试页面进行测试时,获取所述主机的操作信息;其中,所述操作信息包括以下之一或者任意组合:输入操作、点击操作、滚动操作、悬浮操作。5.根据权利要求3所述的方法,其特征在于,所述测试程序包括多个操作信息对应的子程序,所述测试用例包括至少一个断言数据,所述方法还包括:获取所述操作信息对应的页面信息,确定所述页面信息对应的断言数据;查询所述断言数据所属的测试用例,并在所述测试程序中记录所述操作信息对应的子程序与所述断言数据所属的测试用例的对应关系。6.根据权利要求3所述的方法,其特征在于,所述测试程序包括多个操作信息对应的子程序,所述测试用例包括至少一个子用例,且所述子用例包括至少一个断言数据,所述方法还包括:获取所述操作信息对应的页面信息,确定所述页面信息对应的断言数据;查询所述断言数据所属的子用例,并在所述测试程序中记录所述操作信息对应的子程序与所述断言数据所属的子用例的对应关系。7.根据权利要求5或6所述的方法,其特征在于,所述确定所述页面信息对应的断言数据,包括:对所述页面信息进行分词处理,得到分词数据;获取所述分词数据与至少一个断言数据的相似度;根据所述分词数据与至少一个断言数据的相似度,从所述至少一个断言数据中确定与所述分词数据对应的断言数据。8.根据权利要求7所述的方法,其特征在于,所述获取所述分词数据与至少一个断言数据的相似度,包括:采用词向量模型获取所述分词数据与至少一个断言数据的相似度。9.根据权利要求1所述的方法,其特征在于,所述利用得到的测试程序和环境信息对所述待测试页面进行测试,包括:根据所述环境信息构建所述服务器的运行环境;在所述运行环境下,利用所述测试程序对所述待测试页面进行测试。10.根据权利要求9所述的方法,其特征在于,所述测试程序包括多个子程序,所述利用所述测试程序对所述待测试页面进行测试,包括:获取利用子程序对所述待测试页面进行测试时的断言结果;从所述测试程序中解析所述子程序对应的测试用例,在所述测试用例中记录所述断言结果;其中,所述测试程序包括子程序与测试用例的对应关系。11.根据权利要求9所述的方法,其特征在于,所述测试程序包括多个子程序,所述测试用例包括至少一个子用例;所述利用所述测试程序对所述待测试页面进行测试,包括:获取利用子程序对所述待测试页面进行测试时的断言结果;从所述测试程序中解析所述子程序对应的子用例,并在所述子用例中记录所述断言结果;其中,所述测试程序包括子程序与子用例的对应关系。12.一种页面测试方法,其特征在于,应用于服务器,所述方法包括:获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。13.根据权利要求12所述的方法,其特征在于,所述测试程序包括多个操作信息对应的子程序,所述测试用例包括至少一个子用例,且所述子用例包括至少一个断言数据,所述方法还包括:获取所述操作信息对应的页面信息,确定所述页面信息对应的断言数据;查询所述断言数据所属的子用例,并在所述测试程序中记录所述操作信息对应的子程序与所述断言数据所属的子用例的对应关系。14.根据权利要求13所述的方法,其特征在于,所述确定所述页面信息对应的断言数据,包括:对所述页面信息进行分词处理,得到分词数据;获取所述分词数据与至少一个断言数据的相似度;根据所述分词数据与至少一个断言数据的相似度,从所述至少一个断言数据中确定与所述分词数据对应的断言数据。15.一种页面测试装置,其特征在于,应用于服务器,所述装置包括:确定模块,用于确定需要利用测试用例对待测试页面进行测试;获得模块,用于获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;测试模块,用于利用该测试程序和该环境信息对所述待测试页面进行测试。16.根据权利要求15所述的装置,其特征在于,所述获得模块,具体用于通过所述测试用例和所述待测试页面查询映射关系,得到与所述测试用例和所述待测试页面对应的测试程序和环境信息;其中,所述映射关系用于记录测试用例、待测试页面、测试程序和环境信息的对应关系。17.根据权利要求15所述的装置,其特征在于,所述测试模块,具体用于根据所述环境信息构建所述服务器的运行环境;在所述运行环境下,利用所述测试程序对所述待测试页面进行测试。18.根据权利要求17所述的装置,其特征在于,所述测试程序包括多个子程序,所述测试用例包括至少一个子用例;所述测试模块利用所述测试程序对所述待测试页面进行测试时具体用于:获取利用子程序对所述待测试页面进行测试时的断言结果;从所述测试程序中解析所述子程序对应的子用例,并在所述子用例中记录所述断言结果;其中,所述测试程序包括子程序与子用例的对应关系。19.一种页面测试装置,其特征在于,应用于服务器,所述装置包括:获取模块,用于获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;记录模块,用于在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。20.根据权利要求19所述的装置,其特征在于,所述测试程序包括多个操作信息对应的子程序,所述测试用例包括至少一个子用例,所述子用例包括至少一个断言数据;所述获取模块,还用于获取所述操作信息对应的页面信息,确定所述页面信息对应的断言数据;所述记录模块,还用于查询所述断言数据所属的子用例,并在所述测试程序中记录所述操作信息对应的子程序与所述断言数据所属的子用例的对应关系。21.一种服务器,其特征在于,包括:处理器,用于确定需要利用测试用例对待测试页面进行测试;获得与所述测试用例和所述待测试页面对应的测试程序和环境信息;利用得到的测试程序和环境信息对所述待测试页面进行测试。22.一种服务器,其特征在于,所述服务器包括:处理器,用于获取主机利用测试用例对待测试页面进行测试时的操作信息;根据所述操作信息生成测试程序,获取所述服务器所处的环境信息;在映射关系中记录所述测试用例、所述待测试页面、所述测试程序和所述环境信息的对应关系;其中,所述映射关系用于对待测试页面进行测试。

百度查询: 阿里巴巴集团控股有限公司 一种页面测试方法、装置及其设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。