掌桥专利:专业的专利平台
掌桥专利
首页

一种自动化测试方法及装置

文献发布时间:2023-06-19 11:57:35


一种自动化测试方法及装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种自动化测试方法及装置。

背景技术

对于商业银行来说,业务发展速度越来越快,业务覆盖面越来越广,业务系统复杂度越来越高是一个总体的发展趋势。且银行应用系统的版本上线时间,呈现出缩短趋势和不可调和倾向,对于快速开发和软件质量的要求越来越高,业务对软件开发、测试、投产的时间要求越来越短。基于这些特征,银行系统的自动化测试应运而生。

但是,由于银行系统的安全性要求较高,银行系统中通常包括多个加密控件。若在加密控件下继续进行自动化测试,则需要自动化测试人员采用屏蔽加密控件的方式或者采用安装插件的方式,完成自动化测试。这样一来,现有的自动化测试的方法费时费力,效率较低。

发明内容

本申请提供一种自动化测试方法及装置,解决了现有的自动化测试的方法费时费力,效率较低的问题。

为达到上述目的,本申请采用如下技术方案:

第一方面,提供一种自动化测试方法,包括:获取自动化测试脚本;自动化测试脚本包括自动登录脚本;自动登录脚本用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作;在待测试系统中运行自动化测试脚本,以使得待测试系统完成自动化测试。

由上可知,在自动化测试时,首先获取自动化测试脚本,由于自动化测试脚本包括自动登录脚本(用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作),因此,在在待测试系统中运行自动化测试脚本时,可以对加密登录控件对应的界面执行登录操作,以使得待测试系统完成自动化测试。解决了现有的自动化测试的方法费时费力,效率较低的问题,提高了自动化测试的效率。

第二方面,提供一种自动化测试装置,该自动化测试装置包括:获取单元和处理单元;获取单元,用于获取自动化测试脚本;自动化测试脚本包括自动登录脚本;自动登录脚本用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作;处理单元,用于在待测试系统中运行自动化测试脚本,以使得待测试系统完成自动化测试。

第三方面,提供一种自动化测试装置,包括存储器和处理器。存储器用于存储计算机执行指令,处理器与存储器通过总线连接。当自动化测试装置运行时,处理器执行存储器存储的计算机执行指令,以使自动化测试装置执行第一方面所述的自动化测试方法。

该自动化测试装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述自动化测试方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。

第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的自动化测试方法。

第五方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的自动化测试方法。

需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机存储介质上。其中,第一计算机存储介质可以与自动化测试装置的处理器封装在一起的,也可以与自动化测试装置的处理器单独封装,本申请实施例对此不作限定。

本发明中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。

在本申请实施例中,上述自动化测试装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。

本发明的这些方面或其他方面在以下的描述中会更加简明易懂。

附图说明

图1为本申请实施例提供的一种自动化测试装置的硬件结构示意图;

图2为本申请实施例提供的又一种自动化测试装置的硬件结构示意图;

图3为本申请实施例提供的一种自动化测试方法的流程示意图;

图4为本申请实施例提供的又一种自动化测试方法的流程示意图;

图5为本申请实施例提供的又一种自动化测试方法的流程示意图;

图6为本申请实施例提供的一种装置的结构示意图。

具体实施方式

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

需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。

如背景技术所描述,由于银行系统的安全性要求较高,银行系统中通常包括多个加密控件。若在加密控件下继续进行自动化测试,则需要自动化测试人员采用屏蔽加密控件的方式或者采用安装插件的方式,完成自动化测试。这样一来,现有的自动化测试的方法费时费力,效率较低。

针对上述问题,本申请实施例提供了一种自动化测试方法,在自动化测试时,首先获取自动化测试脚本,由于自动化测试脚本包括自动登录脚本(用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作),因此,在在待测试系统中运行自动化测试脚本时,可以对加密登录控件对应的界面执行登录操作,以使得待测试系统完成自动化测试。解决了现有的自动化测试的方法费时费力,效率较低的问题,提高了自动化测试的效率。

上述自动化测试装置可以为用于对待测试系统执行自动化测试的设备,也可以为该设备中的芯片,还可以为该设备中的片上系统。

可选的,该设备可以是物理机,例如:台式电脑,又称台式机或桌面机(desktopcomputer)、手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备。

可选的,上述自动化测试装置也可以通过部署在物理机上的虚拟机(virtualmachine,VM),实现上述自动化测试装置所要实现的功能。

为了便于理解,下面对本申请实施例中的自动化测试装置的结构进行描述。

图1示出了本申请实施例提供的自动化测试装置的一种硬件结构示意图。如图1所示,该自动化测试装置包括处理器11,存储器12、通信接口13、总线14。处理器11,存储器12以及通信接口13之间可以通过总线14连接。

处理器11是自动化测试装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器11可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。

作为一种实施例,处理器11可以包括一个或多个CPU,例如图1中所示的CPU 0和CPU 1。

存储器12可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

一种可能的实现方式中,存储器12可以独立于处理器11存在,存储器12可以通过总线14与处理器11相连接,用于存储指令或者程序代码。处理器11调用并执行存储器12中存储的指令或程序代码时,能够实现本发明实施例提供的自动化测试方法。

另一种可能的实现方式中,存储器12也可以和处理器11集成在一起。

通信接口13,用于与其他设备通过通信网络连接。所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口13可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。

总线14,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

需要指出的是,图1示出的结构并不构成对该自动化测试装置的限定。除图1所示部件之外,该自动化测试装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

图2示出了本申请实施例中自动化测试装置的另一种硬件结构。如图2所示,通信装置可以包括处理器21以及通信接口22。处理器21与通信接口22耦合。

处理器21的功能可以参考上述处理器11的描述。此外,处理器21还具备存储功能,可以参考上述存储器12的功能。

通信接口22用于为处理器21提供数据。该通信接口22可以是通信装置的内部接口,也可以是自动化测试装置对外的接口(相当于通信接口13)。

需要指出的是,图1(或图2)中示出的结构并不构成对自动化测试装置的限定,除图1(或图2)所示部件之外,该自动化测试装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合附图对本申请实施例提供的自动化测试方法进行详细介绍。

图3为本申请实施例提供的一种自动化测试方法的流程示意图。如图3所示,该自动化测试方法包括下述S301-S302。

S301、自动化测试装置获取自动化测试脚本。

其中,自动化测试脚本包括自动登录脚本;自动登录脚本用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作。

具体的,在自动化测试的过程中,测试人员首先要为待测试系统编辑自动化测试脚本。在测试人员通过电子设备编辑好自动化测试脚本后,电子设备可以通过通信链路向自动化测试装置发送自动化测试脚本。相应的,自动化测试装置接收自动化测试脚本。

可选的,测试人员还可以直接在自动化测试装置上编辑自动化测试脚本。相应的,在编辑好自动化测试脚本后,自动化测试装置便可以直接获取到自动化测试脚本。

进一步的,自动登录脚本包括:获取脚本和执行脚本;获取脚本用于获取待测试系统中的控件位置;执行脚本用于调用待测试系统中的键盘控件和鼠标控件,并控制键盘控件和鼠标控件执行登录操作。

S302、自动化测试装置在待测试系统中运行自动化测试脚本,以使得待测试系统完成自动化测试。

具体的,在获取自动化测试脚本后,自动化测试装置在待测试系统中运行自动化测试脚本,以使得待测试系统完成自动化测试。

本申请实施例提供一种自动化测试方法,包括:获取自动化测试脚本;自动化测试脚本包括自动登录脚本;自动登录脚本用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作;在待测试系统中运行自动化测试脚本,以使得待测试系统完成自动化测试。

由上可知,在自动化测试时,首先获取自动化测试脚本,由于自动化测试脚本包括自动登录脚本(用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作),因此,在在待测试系统中运行自动化测试脚本时,可以对加密登录控件对应的界面执行登录操作,以使得待测试系统完成自动化测试。解决了现有的自动化测试的方法费时费力,效率较低的问题,提高了自动化测试的效率。

在一种可以实现的方式中,结合上述描述,自动登录脚本包括:获取脚本和执行脚本;获取脚本用于获取待测试系统中的控件位置;执行脚本用于调用待测试系统中的键盘控件和鼠标控件,并控制键盘控件和鼠标控件执行登录操作。在这种情况下,结合图3,如图4所示,上述S302中,在待测试系统中运行自动化测试脚本的方法具体包括:S401-S402。

S401、在待测试系统中运行自动化测试脚本的过程中,若当前时刻的自动化测试进程为登录加密登录控件对应的登录进程,则自动化测试装置调用获取脚本,获取待测试系统在当前时刻的登录页面,并从登录页面中确定加密登录控件的位置。

具体的,若待测试系统中使用了加密控件,则自动化测试装置无法通过JavaScript等前台方式直接获取加密控件对应的输入框元素,但加密控件最终会在待测试系统的界面上会展示出来。在这种情况下,在待测试系统中运行自动化测试脚本的过程中,若当前时刻的自动化测试进程为登录加密登录控件对应的登录进程,则自动化测试装置调用获取脚本,获取待测试系统在当前时刻的登录页面,并从登录页面中确定加密登录控件的位置。

可选的,自动化测试装置调用获取脚本,获取待测试系统在当前时刻的登录页面,并从登录页面中确定加密登录控件的位置时,可以用界面坐标工具,获取待测界面的各元素坐标,并从待测界面的各元素坐标中确定加密登录控件的坐标,然后将加密登录控件的坐标确定为加密登录控件的位置。

S402、自动化测试装置调用执行脚本,控制键盘控件和鼠标控件在加密登录控件的位置执行登录操作。

具体的,在获取待测试系统在当前时刻的登录页面,并从登录页面中确定加密登录控件的位置后,自动化测试装置调用执行脚本,控制键盘控件和鼠标控件在加密登录控件的位置执行登录操作。这样一来,自动化测试装置便可以通过待测试系统自带的键盘控件和鼠标控件,完成自动化测试,解决了现有的自动化测试的方法费时费力,效率较低的问题,提高了自动化测试的效率。

在一种可以实现的方式中,结合图4,如图5所示,上述调用执行脚本,控制键盘控件和鼠标控件在加密登录控件的位置执行登录操作的方法具体包括:S501-S502。

S501、自动化测试装置调用执行脚本,控制鼠标控件在加密登录控件的位置执行点击操作,以唤起键盘控件。

具体的,在获取待测试系统在当前时刻的登录页面,并从登录页面中确定加密登录控件的位置后,自动化测试装置可以调用执行脚本,控制鼠标控件在加密登录控件的位置执行点击操作,以唤起键盘控件。

示例性的,在待测试系统的显示界面的某个位置有需要输入用户名和密码的加密控件。自动化测试装置在获取待测试系统在当前时刻的登录页面,并从登录页面中确定加密登录控件的位置后,自动化测试装置可以执行脚本,控制鼠标控件在需要输入用户名和密码的加密控件的位置执行点击操作。在这种情况下,自动化测试装置唤起键盘控件。

S502、自动化测试装置控制键盘控件在加密登录控件的位置执行输入操作,以输入预先存储于自动化测试脚本中的账户名或密码。

具体的,在调用执行脚本,控制鼠标控件在加密登录控件的位置执行点击操作,以唤起键盘控件后,自动化测试装置控制键盘控件在加密登录控件的位置执行输入操作,以输入预先存储于自动化测试脚本中的账户名或密码。

上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对自动化测试装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图6示出了一种自动化测试装置的组成示意图,包括:获取单元601和处理单元602。

获取单元601,用于获取自动化测试脚本。自动化测试脚本包括自动登录脚本。自动登录脚本用于在待测试系统进行自动化测试过程中,对加密登录控件对应的界面执行登录操作。例如,结合图3,获取单元601用于执行S301。

处理单元602,用于在待测试系统中运行自动化测试脚本,以使得待测试系统完成自动化测试。例如,结合图3,处理单元602用于执行S302。

可选的,自动登录脚本包括:获取脚本和执行脚本。获取脚本用于获取待测试系统中的控件位置。执行脚本用于调用待测试系统中的键盘控件和鼠标控件,并控制键盘控件和鼠标控件执行登录操作。

可选的,处理单元602,具体用于:

在待测试系统中运行自动化测试脚本的过程中,若当前时刻的自动化测试进程为登录加密登录控件对应的登录进程,则调用获取脚本,获取待测试系统在当前时刻的登录页面,并从登录页面中确定加密登录控件的位置。例如,结合图4,处理单元602用于执行S401。

调用执行脚本,控制键盘控件和鼠标控件在加密登录控件的位置执行登录操作。例如,结合图4,处理单元602用于执行S402。

可选的,处理单元602,具体用于:

调用执行脚本,控制鼠标控件在加密登录控件的位置执行点击操作,以唤起键盘控件。例如,结合图5,处理单元602用于执行S501。

控制键盘控件在加密登录控件的位置执行输入操作,以输入预先存储于自动化测试脚本中的账户名或密码。例如,结合图5,处理单元602用于执行S502。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令。当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的自动化测试方法中,装置执行的各个步骤。

本申请实施例还提供一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的自动化测试方法中,装置执行的各个步骤。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取的存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种自动化攻击测试方法及基于此的自动化安全测试方法
  • 一种天线远场发射端自动化测试装置及其自动化测试方法
技术分类

06120113117383