CN111159008B - 测试方法和装置以及电子设备 - Google Patents

测试方法和装置以及电子设备 Download PDF

Info

Publication number
CN111159008B
CN111159008B CN201811326290.3A CN201811326290A CN111159008B CN 111159008 B CN111159008 B CN 111159008B CN 201811326290 A CN201811326290 A CN 201811326290A CN 111159008 B CN111159008 B CN 111159008B
Authority
CN
China
Prior art keywords
value
request message
modified
variable
variable value
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
CN201811326290.3A
Other languages
English (en)
Other versions
CN111159008A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811326290.3A priority Critical patent/CN111159008B/zh
Publication of CN111159008A publication Critical patent/CN111159008A/zh
Application granted granted Critical
Publication of CN111159008B publication Critical patent/CN111159008B/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/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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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

本发明实施例提供了一种测试方法和装置以及电子设备。该方法包括:获取初始测试操作中的请求消息及相应的响应消息;根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值;对修改变量值后的所述请求消息进行回放,以对返回的响应消息进行结果验证。本发明实施例通过对初始测试所获得的请求消息中变量的值进行修改并回放,以通过对返回的响应进行验证来实现自动化回归测试,避免了对html元素进行识别和控制,无论是应用于多业务***的复杂业务流程,还是在测试环境不稳定的情况下,都能够极大地降低自动化测试的开发及维护成本。

Description

测试方法和装置以及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试方法和装置以及电子设备。
背景技术
回归测试作为软件生命周期的一个组成部分,在整个软件测试的过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。
自动化回归测试,一般是指通过计算机软件来模拟人的测试行为,代替人执行测试操作。
传统的针对web应用的自动化回归测试工具,一般是通过识别html元素和页面控件来实现自动化测试。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:当现有的自动化回归测试应用于多业务***的复杂业务流程时,涉及多种JS框架混合使用或多层Iframe页面嵌套等情况,对控件的识别及状态判断将非常复杂;同时,还需要针对测试环境不稳定的情况,做各种非预期页面的特殊处理,使得自动化测试的开发及维护成本较高。
发明内容
本发明实施例提供一种测试方法和装置以及电子设备,以解决现有技术中,通过识别html元素和页面控件来实现自动化测试,而带来的自动化测试的开发及维护成本较高的缺陷。
为达到上述目的,本发明实施例提供了一种测试方法,包括:
获取初始测试操作中的请求消息及相应的响应消息;
根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值;
对修改变量值后的所述请求消息进行回放,以对返回的响应消息进行结果验证。
本发明实施例还提供了一种测试装置,包括:
消息获取模块,用于获取初始测试操作中的请求消息及相应的响应消息;
变量修改模块,用于根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值;
回放模块,用于对修改变量值后的所述请求消息进行回放,以对返回的响应消息进行结果验证。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
获取初始测试操作中的请求消息及相应的响应消息;
根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值;
对修改变量值后的所述请求消息进行回放,以对返回的响应消息进行结果验证。
本发明实施例提供的测试方法和装置以及电子设备,通过对初始测试所获得的请求消息中变量的值进行修改并回放,以通过对返回的响应进行验证来实现自动化回归测试,避免了对html元素进行识别和控制,无论是应用于多业务***的复杂业务流程,还是在测试环境不稳定的情况下,都能够极大地降低自动化测试的开发及维护成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的业务***的***框图;
图2为本发明提供的测试方法一个实施例的流程图;
图3为本发明提供的测试方法另一个实施例的流程图;
图4为本发明提供的测试装置一个实施例的结构示意图;
图5为本发明提供的测试装置另一个实施例的结构示意图;
图6为本发明提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在现有技术中,通过识别html元素和页面控件来实现自动化测试。当自动化回归测试应用于多业务***的复杂业务流程时,涉及多种JS框架混合使用或多层Iframe页面嵌套等情况,对控件的识别及状态判断将非常复杂;同时,还需要针对测试环境不稳定的情况,做各种非预期页面的特殊处理,使得自动化测试的开发及维护成本较高。因此,针对现有技术的缺陷,本申请提出了一种测试方案,其主要原理是:通过第一遍测试(例如,手动测试)来收集web***中各项业务操作过程中的http请求消息和响应消息(即,录制过程),并对请求消息中变量的值进行修改,然后,对修改后变量值的请求消息进行回放,以对返回的响应消息进行结果验证。特别地,本申请提出了一种变量定位和修改值确定算法,从而能够自动地根据收集(录制)的结果来推测所收集的请求变量之间的关联性,并从而确定变量的修改值(例如,由于录制之后测试环境发生变化,而导致某些变量的值相应的改变,从而应该相应地修改其关联的变量的值),通过对返回的响应进行验证来实现自动化回归测试。在应用于多业务***的复杂业务流程时,能够避免对html元素的识别和控制;在测试环境不稳定导致请求得到的响应不符合预期的情况下,可以直接进行请求消息的重新发送,从而降低了自动化测试的开发及维护成本。
本发明实施例提供的方法可应用于任何具有软件测试功能的业务***。图1为本发明实施例提供的业务***的***框图,图1所示的结构仅仅是本发明的技术方案可以应用的业务***的示例之一。如图1所示,业务***中包括测试装置。该装置包括:消息获取模块、变量修改模块和回放模块,可以用来执行下述图2和图3所示的处理流程。在该业务***中,首先,获取初始测试操作中的请求消息及相应的响应消息;然后,根据获取到的请求消息及相应的响应消息,修改请求消息中的变量的变量值;对修改变量值后的请求消息进行回放,以对返回的响应消息进行结果验证,实现自动化回归测试。避免了对html元素进行识别和控制,无论是应用于多业务***的复杂业务流程,还是在测试环境不稳定的情况下,都能够极大地降低自动化测试的开发及维护成本。
上述实施例是对本发明实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本发明实施例具体技术方案进行详细描述。
实施例一
图2为本发明提供的测试方法一个实施例的流程图,该方法的执行主体可以为上述业务***,也可以为具有软件测试功能的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该测试方法包括如下步骤:
S201,获取初始测试操作中的请求消息及相应的响应消息。
在本发明实施例中,当进行自动化回归测试之前,首先需要进行一次初始测试操作(例如,手动侧测试),来收集web***中各项业务操作过程中的http请求消息和响应消息。具体地,可以录制初始测试操作过程,生成消息存储文件(例如,HAR文件,一种用于存储http请求消息和响应消息的通用格式文件);然后,解析该消息存储文件,以获取初始测试操作中的请求消息及相应的响应消息。
S202,根据获取到的请求消息及相应的响应消息,修改各请求消息中的变量的变量值。
在本发明实施例中,由于在获取到初始测试操作中的请求消息及相应的响应消息之后,测试环境发生变化,而导致某些变量的值相应的改变,从而应该相应地修改其关联的变量的值。因此,提出了一种变量定位和修改值确定算法,从而能够自动地根据收集的结果来推测所收集的请求变量之间的关联性,并从而确定变量的修改值。
S203,对修改变量值后的请求消息进行回放,以对返回的响应消息进行结果验证。
在本发明实施例中,对返回的响应的验证可以包括:验证返回码或返回的响应正文中是否包含某个特定的字符串等。
本发明实施例提供的测试方法,通过对初始测试所获得的请求消息中变量的值进行修改并回放,以通过对返回的响应进行验证来实现自动化回归测试,避免了对html元素进行识别和控制,无论是应用于多业务***的复杂业务流程,还是在测试环境不稳定的情况下,都能够极大地降低自动化测试的开发及维护成本。
实施例二
图3为本发明提供的测试方法另一个实施例的流程图。如图3所示,在上述图2所示实施例的基础上,本实施例提供的测试方法还可以包括以下步骤:
S301,录制初始测试操作过程,生成消息存储文件。
S302,解析该消息存储文件,获取初始测试操作中的请求消息及相应的响应消息。
在本发明实施例中,解析HAR文件(消息存储文件),可以得到有顺序的http请求消息,以及http请求消息中的各种参数变量。
另外,对变量值的修改过程如下步骤S303至S306所示:
S303,确定各请求消息中待修改的变量值及其唯一定位位置。
在本发明实施例中,预先会将所有的变量列出,在修改变量值时,首先,确定请求消息中存在哪些变量,默认地,所有的变量都会尝试进行修改(也可以指定某个变量不进行修改),如果某个变量找不到修改值,则使用原有的值,即,不进行修改。同时,在确定待修改的变量值时,还需确定其唯一的定位位置,以便后续需要根据该唯一定位位置来修改http请求消息中的变量值。
具体地,可以确定该变量值在HAR文件中的哪个请求消息中(各请求消息会按时间排序,给定编号),在http请求消息中的哪个位置类型(如,header、cookie、正文等),在该位置类型中的具***置(对于header、cookie等键/值类型,可以通过key(键)来确定位置;对于正文文本,可以通过包含该变量值的符串来定位),然后,将这三个因素结合,以确定该变量值的唯一定位位置。
S304,在请求消息之前的响应消息中,查找上述待修改的变量值的来源位置,以确定该待修改的变量值的匹配模式。
S305,根据上述匹配模式,在请求消息之前的响应消息中查找与该待修改的变量值相匹配的匹配值。
S306,根据该待修改的变量值的唯一定位位置,用上述匹配值替换该待修改的变量值。
由于在获取到初始测试操作中的请求消息及相应的响应消息之后,测试环境发生变化,而导致某些变量的值相应的改变,从而应该相应地修改其关联的变量的值。因此,在本发明实施例中,根据待修改的变量值的来源位置确定其匹配模式(即,确定该变量值如何进行修改),从而能够自动地根据收集的结果来推测所收集的请求变量之间的关联性,并从而确定变量的修改值(即,匹配值)。若待修改的变量值和某个值的字符串相同,或,在URL编解码后的字符串相同,则可以认为该值为匹配值。
另外,当与该待修改的变量值相匹配的所述匹配值为多个时,可以从多个匹配值中选取一个作为修改值;然后,根据该待修改的变量值的唯一定位位置,用该修改值替换该待修改的变量值。
具体地,若该待修改的变量值为键值类型,则选取与当前的请求消息最近的响应消息中的匹配值作为修改值。若该待修改的变量值为字符串类型,则根据各匹配值与该待修改的变量值的字符串长度差,以及各匹配值与该待修改的变量值的相似度,来选取修改值。
S307,对修改变量值后的请求消息进行回放,以对返回的响应消息进行结果验证。
本发明实施例提供的测试方法,通过对初始测试所获得的请求消息进行录制,根据解析出的请求消息及相应的响应消息得到请求消息中变量的修改值,以对请求消息进行修改并回放,并通过对返回的响应进行验证来实现自动化回归测试,避免了对html元素进行识别和控制,无论是应用于多业务***的复杂业务流程,还是在测试环境不稳定的情况下,都能够极大地降低自动化测试的开发及维护成本。
实施例三
图4为本发明提供的测试装置一个实施例的结构示意图,可用于执行如图2所示的方法步骤。如图4所示,该测试装置可以包括:消息获取模块41、变量修改模块42和回放模块43。
其中,消息获取模块41用于获取初始测试操作中的请求消息及相应的响应消息;变量修改模块42用于根据获取到的请求消息及相应的响应消息,修改各请求消息中的变量的变量值;回放模块43用于对修改变量值后的请求消息进行回放,以对返回的响应消息进行结果验证。
在本发明实施例中,当进行自动化回归测试之前,首先需要进行一次初始测试操作(例如,手动侧测试),消息获取模块41则收集web***中各项业务操作过程中的http请求消息和响应消息。由于在获取到初始测试操作中的请求消息及相应的响应消息之后,测试环境发生变化,而导致某些变量的值相应的改变,从而应该相应地修改其关联的变量的值。因此,变量修改模块42根据消息获取模块41获取到的请求消息及相应的响应消息,修改各请求消息中的变量的变量值,以实现自动地根据收集的结果来推测所收集的请求变量之间的关联性,并从而确定变量的修改值。然后,回放模块43对变量修改模块42修改变量值后的请求消息进行回放,以对返回的响应消息进行结果验证。例如,可以验证返回码或返回的响应正文中是否包含某个特定的字符串等。
本发明实施例提供的测试装置,通过对初始测试所获得的请求消息中变量的值进行修改并回放,以通过对返回的响应进行验证来实现自动化回归测试,避免了对html元素进行识别和控制,无论是应用于多业务***的复杂业务流程,还是在测试环境不稳定的情况下,都能够极大地降低自动化测试的开发及维护成本。
实施例四
图5为本发明提供的测试装置另一个实施例的结构示意图,可以用于执行如图3所示的方法步骤。如图5所示,在上述图4所示实施例的基础上,变量修改模块42可以包括:变量确定单元421、来源查找单元422、匹配值查找单元423和替换单元424。
其中,变量确定单元421可以用于确定各请求消息中待修改的变量值及其唯一定位位置;来源查找单元422可以用于在该请求消息之前的响应消息中,查找该待修改的变量值的来源位置,以确定该待修改的变量值的匹配模式;匹配值查找单元423用于根据来源查找单元422确定的匹配模式,在该请求消息之前的响应消息中查找与该待修改的变量值相匹配的匹配值;替换单元424可以用于根据变量确定单元421确定的该待修改的变量值的唯一定位位置,用匹配值查找单元423查找到的匹配值替换该待修改的变量值。
在本发明实施例中,预先会将所有的变量列出,在修改变量值时,首先,变量确定单元421确定请求消息中存在哪些变量,默认地,所有的变量都会尝试进行修改(也可以指定某个变量不进行修改),如果某个变量找不到修改值,则使用原有的值,即,不进行修改。同时,变量确定单元421在确定待修改的变量值时,还需确定其唯一的定位位置,以便后续需要根据该唯一定位位置来修改http请求消息中的变量值。
具体地,变量确定单元421可以确定该变量值在HAR文件中的哪个请求消息中(各请求消息会按时间排序,给定编号),在http请求消息中的哪个位置类型(如,header、cookie、正文等),在该位置类型中的具***置(对于header、cookie等键/值类型,可以通过key(键)来确定位置;对于正文文本,可以通过包含该变量值的符串来定位),然后,将这三个因素结合,以确定该变量值的唯一定位位置。
由于在获取到初始测试操作中的请求消息及相应的响应消息之后,测试环境发生变化,而导致某些变量的值相应的改变,从而应该相应地修改其关联的变量的值。因此,在本发明实施例中,来源查找单元422根据待修改的变量值的来源位置确定其匹配模式(即,确定该变量值如何进行修改),从而能够自动地根据收集的结果来推测所收集的请求变量之间的关联性,并使得匹配值查找单元423能够确定变量的修改值(即,匹配值)。若待修改的变量值和某个值的字符串相同,或,在URL编解码后的字符串相同,则可以认为该值为匹配值。
另外,当与该待修改的变量值相匹配的所述匹配值为多个时,替换单元424可以从多个匹配值中选取一个作为修改值;然后,根据该待修改的变量值的唯一定位位置,用该修改值替换该待修改的变量值。
具体地,若该待修改的变量值为键值类型,替换单元424则选取与当前的请求消息最近的响应消息中的匹配值作为修改值。若该待修改的变量值为字符串类型,替换单元424则根据各匹配值与该待修改的变量值的字符串长度差,以及各匹配值与该待修改的变量值的相似度,来选取修改值。
进一步地,在本发明实施例提供的测试装置中,消息获取模块41可以包括:录制单元411和解析单元412。
其中,录制单元411可以用于录制初始测试操作过程,生成消息存储文件;解析单元412可以用于解析该消息存储文件,获取初始测试操作中的请求消息及相应的响应消息。
在本发明实施例中,解析单元412解析录制单元411生成的HAR文件(消息存储文件),可以得到有顺序的http请求消息,以及http请求消息中的各种参数变量。
本发明实施例提供的测试装置,通过对初始测试所获得的请求消息进行录制,根据解析出的请求消息及相应的响应消息得到请求消息中变量的修改值,以对请求消息进行修改并回放,并通过对返回的响应进行验证来实现自动化回归测试,避免了对html元素进行识别和控制,无论是应用于多业务***的复杂业务流程,还是在测试环境不稳定的情况下,都能够极大地降低自动化测试的开发及维护成本。
实施例五
以上描述了测试装置的内部功能和结构,该装置可实现为一种电子设备。图6为本发明提供的电子设备实施例的结构示意图。如图6所示,该电子设备包括存储器61和处理器62。
存储器61,用于存储程序。除上述程序之外,存储器61还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器62,与存储器61耦合,执行存储器61所存储的程序,以用于:
获取初始测试操作中的请求消息及相应的响应消息;
根据获取到的请求消息及相应的响应消息,修改各请求消息中的变量的变量值;
对修改变量值后的各请求消息进行回放,以对返回的响应消息进行结果验证。
进一步,如图6所示,电子设备还可以包括:通信组件63、电源组件64、音频组件65、显示器66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
通信组件63被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件63经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件63还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件64,为电子设备的各种组件提供电力。电源组件64可以包括电源管理***,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件65被配置为输出和/或输入音频信号。例如,音频组件65包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器61或经由通信组件63发送。在一些实施例中,音频组件65还包括一个扬声器,用于输出音频信号。
显示器66包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种测试方法,其特征在于,包括:
获取初始测试操作中的请求消息及相应的响应消息;
根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值;
对修改变量值后的所述请求消息进行回放,以对返回的响应消息进行结果验证;
其中,所述根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值,包括:
确定各所述请求消息中待修改的变量值及其唯一定位位置;
若所述待修改的变量值为键值类型,则选取与当前的所述请求消息最近的所述响应消息中的匹配值作为修改值;
若所述待修改的变量值为字符串类型,则根据所述匹配值与所述待修改的变量值的字符串长度差,以及所述匹配值与所述待修改的变量值的相似度,选取所述修改值;
根据所述待修改的变量值的唯一定位位置,用所述修改值替换所述待修改的变量值。
2.根据权利要求1所述的测试方法,其特征在于,所述根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值,包括:
确定各所述请求消息中待修改的变量值及其唯一定位位置;
在所述请求消息之前的所述响应消息中,查找所述待修改的变量值的来源位置,以确定所述待修改的变量值的匹配模式;
根据所述匹配模式,在所述请求消息之前的所述响应消息中查找与所述待修改的变量值相匹配的匹配值;
根据所述待修改的变量值的唯一定位位置,用所述匹配值替换所述待修改的变量值。
3.根据权利要求1或2所述的测试方法,其特征在于,所述获取初始测试操作中的请求消息及相应的响应消息,包括:
录制所述初始测试操作过程,生成消息存储文件;
解析所述消息存储文件,获取所述初始测试操作中的请求消息及相应的响应消息。
4.一种测试装置,其特征在于,包括:
消息获取模块,用于获取初始测试操作中的请求消息及相应的响应消息;
变量修改模块,用于根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值;
回放模块,用于对修改变量值后的所述请求消息进行回放,以对返回的响应消息进行结果验证,
其中,所述根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值,包括:
确定各所述请求消息中待修改的变量值及其唯一定位位置;
若所述待修改的变量值为键值类型,则选取与当前的所述请求消息最近的所述响应消息中的匹配值作为修改值;
若所述待修改的变量值为字符串类型,则根据所述匹配值与所述待修改的变量值的字符串长度差,以及所述匹配值与所述待修改的变量值的相似度,选取所述修改值;
根据所述待修改的变量值的唯一定位位置,用所述修改值替换所述待修改的变量值。
5.根据权利要求4所述的测试装置,其特征在于,所述变量修改模块包括:
变量确定单元,用于确定各所述请求消息中待修改的变量值及其唯一定位位置;
来源查找单元,用于在所述请求消息之前的所述响应消息中,查找所述待修改的变量值的来源位置,以确定所述待修改的变量值的匹配模式;
匹配值查找单元,用于根据所述匹配模式,在所述请求消息之前的所述响应消息中查找与所述待修改的变量值相匹配的匹配值;
替换单元,用于根据所述待修改的变量值的唯一定位位置,用所述匹配值替换所述待修改的变量值。
6.根据权利要求4或5所述的测试装置,其特征在于,所述消息获取模块包括:
录制单元,用于录制所述初始测试操作过程,生成消息存储文件;
解析单元,用于解析所述消息存储文件,获取所述初始测试操作中的请求消息及相应的响应消息。
7.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
获取初始测试操作中的请求消息及相应的响应消息;
根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值;
对修改变量值后的所述请求消息进行回放,以对返回的响应消息进行结果验证,
其中,所述根据所述请求消息及相应的响应消息,修改所述请求消息中的变量的变量值,包括:
确定各所述请求消息中待修改的变量值及其唯一定位位置;
若所述待修改的变量值为键值类型,则选取与当前的所述请求消息最近的所述响应消息中的匹配值作为修改值;
若所述待修改的变量值为字符串类型,则根据所述匹配值与所述待修改的变量值的字符串长度差,以及所述匹配值与所述待修改的变量值的相似度,选取所述修改值;
根据所述待修改的变量值的唯一定位位置,用所述修改值替换所述待修改的变量值。
CN201811326290.3A 2018-11-08 2018-11-08 测试方法和装置以及电子设备 Active CN111159008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811326290.3A CN111159008B (zh) 2018-11-08 2018-11-08 测试方法和装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811326290.3A CN111159008B (zh) 2018-11-08 2018-11-08 测试方法和装置以及电子设备

Publications (2)

Publication Number Publication Date
CN111159008A CN111159008A (zh) 2020-05-15
CN111159008B true CN111159008B (zh) 2023-05-05

Family

ID=70554917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811326290.3A Active CN111159008B (zh) 2018-11-08 2018-11-08 测试方法和装置以及电子设备

Country Status (1)

Country Link
CN (1) CN111159008B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1909173A1 (en) * 2006-10-06 2008-04-09 Neoware, Inc. Management of data of settings in an operating system of a computer
CN103064781A (zh) * 2011-10-18 2013-04-24 飞图科技(北京)有限公司 一种手机软件的自动化测试方法
CN107122289A (zh) * 2016-02-25 2017-09-01 阿里巴巴集团控股有限公司 ***回归测试的方法、装置及***
CN107508720A (zh) * 2017-07-25 2017-12-22 ***股份有限公司 一种自动化测试方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326889B2 (en) * 2010-11-24 2012-12-04 Sap Ag Systems and methods for generating customizing documentation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1909173A1 (en) * 2006-10-06 2008-04-09 Neoware, Inc. Management of data of settings in an operating system of a computer
CN103064781A (zh) * 2011-10-18 2013-04-24 飞图科技(北京)有限公司 一种手机软件的自动化测试方法
CN107122289A (zh) * 2016-02-25 2017-09-01 阿里巴巴集团控股有限公司 ***回归测试的方法、装置及***
CN107508720A (zh) * 2017-07-25 2017-12-22 ***股份有限公司 一种自动化测试方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
开源Web自动化测试框架的改进研究;黄侨;葛世伦;;科学技术与工程(15);全文 *

Also Published As

Publication number Publication date
CN111159008A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
KR101301127B1 (ko) 콘텐츠 시청 확인 장치 및 그 방법
CN110532169A (zh) 接口测试用例生成方法、装置、计算机设备及存储介质
CN108959059B (zh) 一种测试方法以及测试平台
CN104602131A (zh) 一种弹幕处理方法及***
CN103634199A (zh) 通知消息的显示方法及装置
US20160110376A1 (en) Method and Apparatus for Generating Multimedia File
CN103793324A (zh) 嵌入式软件的测试装置和测试方法以及测试场景组合方法
CN112423135B (zh) 视频回放的信息处理方法、装置、计算机设备和存储介质
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN112463634A (zh) 微服务架构下的软件测试方法及装置
CN107810638A (zh) 通过跳过冗余片段优化顺序内容的传递
CN113672748A (zh) 多媒体信息播放方法及装置
CN113807955A (zh) 信息审核方法及相关设备
CN106713011A (zh) 一种获取测试数据的方法与***
CN103279337A (zh) 执行应用文件的方法和装置及其屏幕捕获方法和装置
CN113138934B (zh) 自动测试的方法、介质、装置和计算设备
CN114531345B (zh) 流量比对结果存储方法、装置、设备及存储介质
CN111159008B (zh) 测试方法和装置以及电子设备
CN106250401A (zh) 一种回放原始通讯数据的装置和方法
CN114780434A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN110347581B (zh) 测试方法和装置以及电子设备
CN111258877B (zh) 首屏页面可见时间的检测方法、装置及电子设备
CN113791984A (zh) 接口自动化测试方法及装置
CN109684525B (zh) 文档显示方法、装置、存储介质及测试设备
CN114510305A (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