CN108427639B - 自动化测试方法、应用服务器及计算机可读存储介质 - Google Patents

自动化测试方法、应用服务器及计算机可读存储介质 Download PDF

Info

Publication number
CN108427639B
CN108427639B CN201810067253.9A CN201810067253A CN108427639B CN 108427639 B CN108427639 B CN 108427639B CN 201810067253 A CN201810067253 A CN 201810067253A CN 108427639 B CN108427639 B CN 108427639B
Authority
CN
China
Prior art keywords
webpage
data
test
request
test script
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
Application number
CN201810067253.9A
Other languages
English (en)
Other versions
CN108427639A (zh
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 Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201810067253.9A priority Critical patent/CN108427639B/zh
Publication of CN108427639A publication Critical patent/CN108427639A/zh
Application granted granted Critical
Publication of CN108427639B publication Critical patent/CN108427639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

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

本发明公开了一种自动化测试方法,该方法包括:配置摸爬应用程序;当网页前端发生改变而发出测试网页请求,且所述应用服务器在接受到该测试网页请求时,模拟前端向后端发送的http请求;根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;根据所述数据生成性能测试脚本;将所述数据及所述性能测试脚本发送至后端;及在后端执行所述性能测试脚本,以在后端完成回归测试。本发明还提供一种应用服务器及计算机可读存储介质。本发明提供的自动化测试方法、应用服务器及计算机可读存储介质能够避免现有技术中致当网页有一些细微的改动,都要在前端针对每一个网页做大量的回归测试,耗费测试资源的缺陷,同时提高测试效率。

Description

自动化测试方法、应用服务器及计算机可读存储介质
技术领域
本发明涉及测试技术领域,尤其涉及一种自动化测试方法、应用服务器及计算机可读存储介质。
背景技术
当前,在很多Web(网页)项目中未实现前后端分离,导致当网页有一些细微的改动,都要在前端针对每一个网页做大量的回归测试,耗费测试资源。
发明内容
有鉴于此,本发明提出一种自动化测试方法、应用服务器及计算机可读存储介质,以解决如何避免致当网页有一些细微的改动,都要在前端针对每一个网页做大量的回归测试,耗费测试资源的问题。
首先,为实现上述目的,本发明提出一种自动化测试方法,该方法包括步骤:
配置摸爬应用程序;
当网页前端发生改变而发出测试网页请求,且所述应用服务器在接受到该测试网页请求时,模拟前端向后端发送的http请求;
根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;
根据所述摸爬应用程序抓取到的网页前端的数据生成性能测试脚本;
将所述摸爬应用程序抓取到的网页前端的数据及所述性能测试脚本发送至后端;及
在后端执行所述性能测试脚本,以在后端完成回归测试。
可选地,该方法的根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据的步骤之后,还包括如下步骤:
生成网页数据抓取日志;
根据所述网页数据抓取日志,判断抓取的网页前端的数据是否已经齐全;
若所述抓取的网页前端的数据没有齐全,则重新执行所述摸爬应用程序,直到抓取齐全所述网页前端的数据。
可选地,所述根据所述数据生成性能测试脚本的步骤,具体包括如下步骤:
根据所述网页数据抓取日志分析抓取到的网页前端数据的层级关系;
根据所述层级关系生成数据树状结构图,进而生成性能测试脚本。
可选地,所述将所述数据及所述性能测试脚本发送至后端的步骤,具体包括如下步骤:
根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本;
将集成有多个测试任务的测试脚本文件及数据传送至后端。
可选地,当接收到测试网页请求时,模拟前端向后端发送http请求的步骤中,当接收到测试网页请求时,通过HttpClient模拟前端向后端发送http请求。
此外,为实现上述目的,本发明还提供一种应用服务器,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的自动化测试系统,所述自动化测试系统被所述处理器执行时实现如下步骤:
配置摸爬应用程序;
当网页前端发生改变而发出测试网页请求,且所述应用服务器在接受到该测试网页请求时,模拟前端向后端发送的http请求;
根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;
根据所摸爬应用程序抓取到的网页前端的述数据生成性能测试脚本;
将所述摸爬应用程序抓取到的网页前端的数据及所述性能测试脚本发送至后端;及
在后端执行所述性能测试脚本,以在后端完成回归测试。
可选地,该方法的根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据的步骤之后,还包括如下步骤:
生成网页数据抓取日志;
根据所述网页数据抓取日志,判断抓取的网页前端的数据是否已经齐全;
若所述抓取的网页前端的数据没有齐全,则重新执行所述摸爬应用程序,直到抓取齐全所述网页前端的数据。
可选地,所述根据所述数据生成性能测试脚本的步骤,具体包括如下步骤:
根据所述网页数据抓取日志分析抓取到的网页前端数据的层级关系;
根据所述层级关系生成数据树状结构图,进而生成性能测试脚本。
可选地,所述将所述数据及所述性能测试脚本发送至后端的步骤,具体包括如下步骤:
根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本;
将集成有多个测试任务的测试脚本文件及数据传送至后端。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有自动化测试系统,所述自动化测试系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的自动化测试方法的步骤。
相较于现有技术,本发明所提出的自动化测试方法、应用服务器及计算机可读存储介质,首先,配置摸爬应用程序;然后,当接收到测试网页请求时,模拟前端向后端发送http请求;进一步地,根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;进而,根据所述数据生成性能测试脚本;接着,将所述数据及所述性能测试脚本发送至后端;最后,在后端执行所述性能测试脚本,以在后端完成回归测试。这样,避免现有技术中致当网页有一些细微的改动,都要在前端针对每一个网页做大量的回归测试,耗费测试资源的缺陷,同时提高测试效率。
附图说明
图1是本发明应用服务器一可选的硬件架构的示意图;
图2是本发明自动化测试系统第一实施例的程序模块示意图;
图3是本发明自动化测试系统第二实施例的程序模块示意图;
图4是本发明自动化测试方法第一实施例的流程示意图;
图5是本发明自动化测试方法第二实施例的流程示意图。
附图标记:
Figure GDA0001586195250000041
Figure GDA0001586195250000051
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明应用服务器2一可选的硬件架构的示意图。
本实施例中,所述应用服务器2可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-13的应用服务器2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述应用服务器2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该应用服务器2可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述应用服务器2的内部存储单元,例如该应用服务器2的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述应用服务器2的外部存储设备,例如该应用服务器2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器11还可以既包括所述应用服务器2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述应用服务器2的操作系统和各类应用软件,例如自动化测试系统200的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述应用服务器2的总体操作。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述的自动化测试系统200等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述应用服务器2与其他电子设备之间建立通信连接。
至此,己经详细介绍了本发明相关设备的硬件结构和功能。下面,将基于上述介绍提出本发明的各个实施例。
首先,本发明提出一种自动化测试系统200。
参阅图2所示,是本发明自动化测试系统200第一实施例的程序模块图。
本实施例中,所述自动化测试系统200包括一系列的存储于存储器11上的计算机程序指令,当该计算机程序指令被处理器12执行时,可以实现本发明各实施例的自动化测试操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,自动化测试系统200可以被划分为一个或多个模块。例如,在图2中,所述自动化测试系统200可以被分割成配置模块201、发送模块202、抓取模块203、生成模块204及执行模块205。其中:
所述配置模块201,用于配置摸爬应用程序。
具体地,所述应用服务器2通过所述配置模块201配置摸爬应用程序,并配置所述摸爬应用程序的摸爬规则。其中,所述摸爬规则包括但不限于摸爬的网页类别、内容,文件格式等。在本实施例中,所述摸爬程序可以从网页的某一个菜单选项开始,逐一读取网页中所有菜单选项的内容。所述摸爬应用程序还可以在一个菜单选项中找到在网页中的其它菜单选项的连接地址,然后通过这些链接地址寻找下一个菜单选项,这样一直循环下去,直到把这个网页所有的菜单选项都抓取完为止。
所述发送模块202,用于当网页前端发生改变而发出测试网页请求,且所述应用服务器在接受到该测试网页请求时,模拟前端向后端发送的http请求。
通常地,网页项目中没有实现前段后端分离,在这种情况下,当网页前端即使发生一些细微的改动,都需要在前端针对每一个网页做大量的回归测试,耗费测试资源,增加测试员的工作量。
因此,在本实施例中,当网页前端发生改变而发出测试网页请求,并将所述测试网页请求发送至应用服务器2且所述应用服务器2在接受到该测试网页请求时,通过所述发送模块202模拟前端向后端发送http请求。在本实施例中,所述应用服务器通过HttpClient模拟前端向后端发起Http请求。
在本发明一实施例中,可以使用以下代码实现通过HttpClient去模拟Http请求,可以理解的是,以下代码仅是为了更好的解释本发明,并作为本发明的限定,在其他的实施例中,可以根据具体的应用环境对代码进行调整:
CloseableHttpClient httpclient=HttpClients.createDefault();
1 HttpGet request=new HttpGet(url);
2 request.setHeader("User-Agent","Mozilla/5.0(Windows NT 6.1;WOW64)...");
3 CloseableHttpResponse response=httpclient.execute(request);
4
5 //read response
6
所述抓取模块203,用于根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据。
具体地,所述应用服务器2利用网页摸爬程序根据预配置好的摸爬规则抓取网页组件数据,所述网页组件数据包括每个菜单栏、输入框、页面等包含的数据。
在本实施例中,所述抓取模块203通过所述摸爬程序在抓取数据的同时,还生成网页抓取日志。所述应用服务器2根据所述网页数据抓取日志,判断抓取的网页前端的数据是否已经齐全。若所述抓取的网页前端的数据没有齐全,则重新执行所述摸爬应用程序,以重新抓取网页前端的数据,直到抓取齐全所述网页前端的数据。
所述生成模块模块204,用于根据所述摸爬应用程序抓取的网页前端的数据生成性能测试脚本。
具体地,所述应用服务器2根据所述网页数据抓取日志分析抓取到的网页前端数据的层级关系,即根据网页抓取日志对抓取的数据及所述数据涉及的数据判断出所述网页摸爬程序抓取的网页组件数据的层级关系,并生成相应的树状结构图。进一步通过所述生成模块204根据所述层级关系生成数据树状结构图,生成性能测试脚本。
在本实施例中,所述树状结构图为XML文件,XML文件包含有网页组件数据之间的层级关系信息。进一步地,所述应用服务器按2照该树状结构图的XML文件逻辑生成对应的组件展示页面的XML文件,此时的XML文件包含有网页组件数据之间的层级关系信息及网页的附加参数信息。最后,根据所述组件展示页面的XML文件及附加参数信息生成性能测试脚本。
所述发送模块202,还用于将所述摸爬应用程序抓取网页前端的数据及所述性能测试脚本发送至后端。
具体地,为了避免在前端针对每一个网页进行回归测试,造成浪费测试资源的缺陷,所述应用服务器2根据所述http请求,通过所述发生模块202将所述网页摸爬程序抓取齐全的网页组件数据及所述性能测试脚本全部打包发送至后端,以实现在后端进行测试。
所述执行模块205,用于在后端执行所述性能测试脚本,以在后端完成回归测试。
具体地,在后端运行所述性能测试脚本,实现了在后端快速完成前端页面的回归测试。快速的验证网页代码修改对于网页原始功能是否受到影响。
通过上述程序模块201-205,本发明所提出的自动化测试系统200,首先,配置摸爬应用程序;然后,当接收到测试网页请求时,模拟前端向后端发送http请求;进一步地,根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;进而,根据所述数据生成性能测试脚本;接着,将所述数据及所述性能测试脚本发送至后端;最后,在后端执行所述性能测试脚本,以在后端完成回归测试。这样,避免现有技术中致当网页有一些细微的改动,都要在前端针对每一个网页做大量的回归测试,耗费测试资源的缺陷,同时提高测试效率。
参阅图3所示,是本发明自动化测试系统200第二实施例的程序模块图。本实施例中,所述的自动化测试系统200除了包括第一实施例中的所述配置模块201、发送模块202、抓取模块203、生成模块204及执行模块205之外,还包括集成模块206。
所述及集成模块206,用于根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本。
通常地,在网页项目中若未单独开放出接口,大量并发的测试(如一个系统的登录测试)在测试过程中一般会疏忽。
因此,在本实施例中,当所述应用服务器2接收到测试网页请求时,根据接收到测试网页请求获取测试任务,并将多个测试任务集成在一个测试脚本。其中,所述多个测试任务为多个用户的行为测试,所述用户的行为包括但不限于网页登陆、发帖、下订单等等,从而了解多用户并发访问同一个网页、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题、服务器崩溃等问题。
所述发送模块202,还用于将集成有多个测试任务的测试脚本文件及数据传送至后端。
具体地,以网页的测试登陆为例说明,如果网页项目没有单独开放出测试接口,网页每次只能测试一个用户的登陆,进而不能测试网页的响应性能。假如说某网页的要求为每秒最大可以处理100个登陆请求,则通过集成有100个测试任务(即100个登陆请求)的测试脚本文件测试并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围,表示并发测试通过。
在本实施例中,通过将多个测试任务的配置文件集成在一个测试脚本,并在后端运行测试脚本,实现了网页的并发测试。
通过上述程序模块206,本发明所提出的基于自动化测试系统200可以根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本,将集成有多个测试任务的测试脚本文件及数据传送至后端,实现了在后端后端运行测试脚本,完成并发测试。
此外,本发明还提出一种自动化测试方法。
参阅图4所示,是本发明自动化测试方法第一实施例的流程示意图。在本实施例中,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S401,配置摸爬应用程序。
具体地,所述应用服务器2配置摸爬应用程序,并配置所述摸爬应用程序的摸爬规则。其中,所述摸爬规则包括但不限于摸爬的网页类别、内容,文件格式等。在本实施例中,所述摸爬程序可以从网页的某一个菜单选项开始,逐一读取网页中所有菜单选项的内容。所述摸爬应用程序还可以在一个菜单选项中找到在网页中的其它菜单选项的连接地址,然后通过这些链接地址寻找下一个菜单选项,这样一直循环下去,直到把这个网页所有的菜单选项都抓取完为止。
步骤S402,当网页前端发生改变而发出测试网页请求,且所述应用服务器在接受到该测试网页请求时,模拟前端向后端发送的http请求。
通常地,网页项目中没有实现前段后端分离,在这种情况下,当网页前端即使发生一些细微的改动,都需要在前端针对每一个网页做大量的回归测试,耗费测试资源,增加测试员的工作量。
因此,在本实施例中,当网页前端发生改变而发出测试网页请求,并将所述测试网页请求发送至应用服务器2且所述应用服务器2在接受到该测试网页请求时,模拟前端向后端发送http请求。在本实施例中,所述应用服务器通过HttpClient模拟前端向后端发起Http请求。
在本发明一实施例中,可以使用以下代码实现通过HttpClient去模拟Http请求,可以理解的是,以下代码仅是为了更好的解释本发明,并作为本发明的限定,在其他的实施例中,可以根据具体的应用环境对代码进行调整:
CloseableHttpClient httpclient=HttpClients.createDefault();
1 HttpGet request=new HttpGet(url);
2 request.setHeader("User-Agent","Mozilla/5.0(Windows NT 6.1;WOW64)...");
3 CloseableHttpResponse response=httpclient.execute(request);
4
5 //read response
6
步骤S403,根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据。
具体地,所述应用服务器2利用网页摸爬程序根据预配置好的摸爬规则抓取网页组件数据,所述网页组件数据包括每个菜单栏、输入框、页面等包含的数据。
在本实施例中,所述应用服务器2通过所述摸爬程序在抓取数据的同时,还生成网页抓取日志。所述应用服务器2根据所述网页数据抓取日志,判断抓取的网页前端的数据是否已经齐全。若所述抓取的网页前端的数据没有齐全,则重新执行所述摸爬应用程序,以重新抓取网页前端的数据,直到抓取齐全所述网页前端的数据。
步骤S404,根据所述摸爬应用程序抓取的网页前端的数据生成性能测试脚本。
具体地,所述应用服务器2根据所述网页数据抓取日志分析抓取到的网页前端数据的层级关系,即根据网页抓取日志对抓取的数据及所述数据涉及的数据判断出所述网页摸爬程序抓取的网页组件数据的层级关系,并生成相应的树状结构图。进一步,所述应用服务器2根据所述层级关系生成数据树状结构图,生成性能测试脚本。
在本实施例中,所述树状结构图为XML文件,XML文件包含有网页组件数据之间的层级关系信息。进一步地,所述应用服务器按2照该树状结构图的XML文件逻辑生成对应的组件展示页面的XML文件,此时的XML文件包含有网页组件数据之间的层级关系信息及网页的附加参数信息。最后,根据所述组件展示页面的XML文件及附加参数信息生成性能测试脚本。
步骤S405,将所述摸爬应用程序抓取的网页前端的数据及所述性能测试脚本发送至后端。
具体地,为了避免在前端针对每一个网页进行回归测试,造成浪费测试资源的缺陷,所述应用服务器2根据所述http请求,将所述网页摸爬程序抓取齐全的网页组件数据及所述性能测试脚本全部打包发送至后端,以实现在后端进行测试。
步骤S406,在后端执行所述性能测试脚本,以在后端完成回归测试。
具体地,在后端运行所述性能测试脚本,实现了在后端快速完成所有页面的回归测试。快速的验证网页代码修改对于网页原始功能是否受到影响。
通过上述步骤S401-S406,本发明提出的自动化测试方法,首先,配置摸爬应用程序;然后,当接收到测试网页请求时,模拟前端向后端发送http请求;进一步地,根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;进而,根据所述数据生成性能测试脚本;接着,将所述数据及所述性能测试脚本发送至后端;最后,在后端执行所述性能测试脚本,以在后端完成回归测试。这样,避免现有技术中致当网页有一些细微的改动,都要在前端针对每一个网页做大量的回归测试,耗费测试资源的缺陷,同时提高测试效率。
如图5所示,是本发明自动化测试方法的第二实施例的流程示意图。本实施例中,所述自动化测试方法与上述第一实施例的区别在于该方法还包括步骤S501-S502。
该方法包括以下步骤:
步骤S501,根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本。
通常地,在网页项目中若未单独开放出接口,大量并发的测试(如一个系统的登录测试)在测试过程中一般会疏忽。
因此,在本实施例中,当所述应用服务器2接收到测试网页请求时,根据接收到测试网页请求获取测试任务,并将多个测试任务集成在一个测试脚本。其中,所述多个测试任务为多个用户的行为测试,所述用户的行为包括但不限于网页登陆、发帖、下订单等等,从而了解多用户并发访问同一个网页、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题、服务器崩溃等问题。
步骤S502,将集成有多个测试任务的测试脚本文件及数据传送至后端。
具体地,以网页的测试登陆为例说明,如果网页项目没有单独开放出测试接口,网页每次只能测试一个用户的登陆,进而不能测试网页的响应性能。假如说某网页的要求为每秒最大可以处理100个登陆请求,则通过集成有100个测试任务(即100个登陆请求)的测试脚本文件测试并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围,表示并发测试通过。
在本实施例中,通过将多个测试任务的配置文件集成在一个测试脚本,并在后端运行测试脚本,实现了网页的并发测试。
通过上述步骤S501-502,本发明所提出的基于自动化测试方法可以根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本,将集成有多个测试任务的测试脚本文件及数据传送至后端,实现了在后端后端运行测试脚本,完成并发测试。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种自动化测试方法,应用于应用服务器,其特征在于,该方法包括步骤:
配置摸爬应用程序,所述摸爬应用程序从网页的预设菜单选项开始,逐一读取网页中所有菜单选项的内容;
当网页前端发生改变而发出测试网页请求,且所述应用服务器在接受到该测试网页请求时,模拟前端向后端发送的http请求;
根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;
生成网页数据抓取日志;
根据所述网页数据抓取日志,判断抓取的网页前端的数据是否已经齐全;
若所述抓取的网页前端的数据没有齐全,则重新执行所述摸爬应用程序直到抓取齐全所述网页前端的数据;
根据所述摸爬应用程序抓取到的网页前端的数据生成性能测试脚本;
将所述摸爬应用程序抓取到的网页前端的数据及所述性能测试脚本发送至后端;及
在后端执行所述性能测试脚本,以在后端完成回归测试。
2.如权利要求1所述的自动化测试方法,其特征在于,所述根据所述数据生成性能测试脚本的步骤,具体包括如下步骤:
根据所述网页数据抓取日志分析抓取到的网页前端数据的层级关系;
根据所述层级关系生成数据树状结构图,进而生成性能测试脚本。
3.如权利要求1所述的自动化测试方法,其特征在于,所述将所述数据及所述性能测试脚本发送至后端的步骤,具体包括如下步骤:
根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本;
将集成有多个测试任务的测试脚本文件及数据传送至后端。
4.如权利要求1-3任一所述的自动化测试方法,其特征在于,当接收到测试网页请求时,模拟前端向后端发送http请求的步骤中,当接收到测试网页请求时,通过HttpClient模拟前端向后端发送http请求。
5.一种应用服务器,其特征在于,所述应用服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的自动化测试系统,所述自动化测试系统被所述处理器执行时实现如下步骤:
配置摸爬应用程序,所述摸爬应用程序从网页的预设菜单选项开始,逐一读取网页中所有菜单选项的内容;
当网页前端发生改变而发出测试网页请求,且所述应用服务器在接受到该测试网页请求时,模拟前端向后端发送的http请求;
根据所述http请求,通过所述摸爬应用程序抓取网页前端的数据;
生成网页数据抓取日志;
根据所述网页数据抓取日志,判断抓取的网页前端的数据是否已经齐全;
若所述抓取的网页前端的数据没有齐全,则重新执行所述摸爬应用程序直到抓取齐全所述网页前端的数据;
根据所述摸爬应用程序抓取到的网页前端的数据生成性能测试脚本;
将所述摸爬应用程序抓取到的网页前端的数据及所述性能测试脚本发送至后端;及
在后端执行所述性能测试脚本,以在后端完成回归测试。
6.如权利要求5所述的应用服务器,其特征在于,所述根据所述数据生成性能测试脚本的步骤,具体包括如下步骤:
根据所述网页数据抓取日志分析抓取到的网页前端数据的层级关系;
根据所述层级关系生成数据树状结构图,进而生成性能测试脚本。
7.如权利要求5所述的应用服务器,其特征在于,所述将所述数据及所述性能测试脚本发送至后端的步骤,具体包括如下步骤:
根据所述网页测试请求获取网页测试任务,将多个测试任务集成在一个测试脚本;
将集成有多个测试任务的测试脚本文件及数据传送至后端。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有自动化测试系统,所述自动化测试系统可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-4中任一项所述的自动化测试方法的步骤。
CN201810067253.9A 2018-01-24 2018-01-24 自动化测试方法、应用服务器及计算机可读存储介质 Active CN108427639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810067253.9A CN108427639B (zh) 2018-01-24 2018-01-24 自动化测试方法、应用服务器及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810067253.9A CN108427639B (zh) 2018-01-24 2018-01-24 自动化测试方法、应用服务器及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108427639A CN108427639A (zh) 2018-08-21
CN108427639B true CN108427639B (zh) 2021-05-07

Family

ID=63156071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810067253.9A Active CN108427639B (zh) 2018-01-24 2018-01-24 自动化测试方法、应用服务器及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108427639B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287096A (zh) * 2019-05-20 2019-09-27 深圳壹账通智能科技有限公司 H5前端页面测试方法、电子装置及计算机可读存储介质
CN110287098A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 自动创建测试脚本方法、服务器及计算机可读存储介质
CN113312266B (zh) * 2021-06-11 2023-09-15 成都精灵云科技有限公司 基于自动化测试快速生成测试拓扑结构图的系统及其方法
CN113485880A (zh) * 2021-07-12 2021-10-08 浙江网商银行股份有限公司 测试方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190561A1 (en) * 2002-06-19 2006-08-24 Watchfire Corporation Method and system for obtaining script related information for website crawling
CN102508779B (zh) * 2011-11-17 2015-04-22 北京北纬点易信息技术有限公司 基于网络爬虫日志的性能测试脚本自动化生成系统及方法
CN102622443A (zh) * 2012-03-13 2012-08-01 北京邮电大学 一种面向微博的定制化筛选系统及方法
CN104965904B (zh) * 2015-06-30 2019-06-04 北京奇虎科技有限公司 一种多平台数据的抓取方法和装置
CN106776339B (zh) * 2016-12-30 2018-07-24 深圳壹账通智能科技有限公司 自动化测试方法及装置
CN107465682B (zh) * 2017-08-10 2019-11-19 深圳市华傲数据技术有限公司 爬虫登录目标网站的实现方法及系统

Also Published As

Publication number Publication date
CN108427639A (zh) 2018-08-21

Similar Documents

Publication Publication Date Title
CN108427639B (zh) 自动化测试方法、应用服务器及计算机可读存储介质
CN108427705B (zh) 电子装置、分布式系统日志查询方法及存储介质
CN107133180B (zh) 动态页面的测试方法、测试装置及存储介质
CN108494771B (zh) 电子装置、防火墙开通验证方法及存储介质
CN106484611B (zh) 基于自动化协议适配的模糊测试方法和装置
CN111813701B (zh) 基于http的接口测试方法、装置、计算机设备及存储介质
CN110647471B (zh) 接口测试用例生成方法、电子装置及存储介质
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN110119350B (zh) 软件开发工具包测试方法、装置和设备及计算机存储介质
CN112597020A (zh) 接口测试方法、装置、计算机设备及存储介质
CN112416964A (zh) 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质
CN111737114A (zh) 一种登录功能测试方法和装置
CN112818270A (zh) 数据跨域传递方法、装置及计算机设备
CN111752820B (zh) gRPC接口的压力测试方法、计算机设备和存储介质
CN114564387A (zh) 一种针对OpenStack云平台的场景式自动化测试方法及系统
CN111045934A (zh) 页面分析方法、装置、客户端、存储介质及电子设备
CN112256557B (zh) 程序回归测试方法、装置、系统、计算机设备及存储介质
CN117370203B (zh) 自动化测试方法、系统、电子设备及存储介质
CN116743619B (zh) 网络服务的测试方法、装置、设备及存储介质
CN111857985A (zh) 浏览器插件的调用方法、装置、存储介质及终端
CN114253814A (zh) 游戏服务器压力测试方法及装置
CN110727576A (zh) 一种web页面测试方法、装置、设备及存储介质
CN113656302A (zh) Waf规则自动测试方法、系统、存储介质及终端设备
CN112416750A (zh) 应用程序边界测试方法及系统
CN114371866A (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