CN112231209A - 参数获取方法、装置、计算机设备和存储介质 - Google Patents

参数获取方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112231209A
CN112231209A CN202011077304.XA CN202011077304A CN112231209A CN 112231209 A CN112231209 A CN 112231209A CN 202011077304 A CN202011077304 A CN 202011077304A CN 112231209 A CN112231209 A CN 112231209A
Authority
CN
China
Prior art keywords
request message
agent program
test
interface
program
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
CN202011077304.XA
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.)
Kingdee Medical Software Technology Co ltd
Original Assignee
Kingdee Medical Software 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 Kingdee Medical Software Technology Co ltd filed Critical Kingdee Medical Software Technology Co ltd
Priority to CN202011077304.XA priority Critical patent/CN112231209A/zh
Publication of CN112231209A publication Critical patent/CN112231209A/zh
Pending legal-status Critical Current

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

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

本申请涉及一种参数获取方法、装置、计算机设备和存储介质。所述方法包括:在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息;将各个所述请求信息发送至代理程序;通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数。采用本方法能够提高参数获取的效率。

Description

参数获取方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种参数获取方法、装置、计算机设备和存储介质。
背景技术
在互联网产品质量保障中,接口自动化测试已俨然成为质量保障手段不可或缺的一环,但在接口自动化测试中,经常会面临接口数据上下文依赖的问题,比如当前接口B中的某个参数,是由上一个接口A响应返回体获取得到的。对于这类接口上下文数据依赖管理的问题,通常较为容易解决,只需要在调用接口B之前,先成功调用接口A,并拿到接口A的响应体数据。
而在一些场景中,当前页面测试接口所需的参数是绑定在前置页面中的,而前置页面中的参数往往是无法通过接口调用的形式直接获取得到。传统的参数获取方法,是直接通过抓包工具如Charles,人工手动抓取前置页面中的参数,存在参数获取效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高效率的参数获取方法、装置、计算机设备和存储介质。
一种参数获取方法,所述方法包括:
在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息;
将各个所述请求信息发送至代理程序;
通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数。
在其中一个实施例中,所述通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数,包括:
通过所述代理程序监听各个所述请求信息,将各个请求信息的标识与指定标识进行匹配;
当匹配成功时,将与所述指定标识匹配成功所对应的请求信息作为目标请求信息,获取所述目标请求信息中所包括的测试所需的参数。
在其中一个实施例中,所述方法还包括:
预先在操作模拟程序中配置代理程序的地址信息;
所述对所述前置页面进行模拟操作,生成各个请求信息,包括:
通过所述操作模拟程序对所述前置页面进行模拟操作,生成各个请求信息;
所述将各个所述请求信息发送至代理程序,包括:
通过所述操作模拟程序基于所述代理程序的地址信息查找到所述代理程序,将各个所述请求信息发送至查找到的所述代理程序。
在其中一个实施例中,所述预先在操作模拟程序中配置代理程序的地址信息,包括:
预先在操作模拟程序中配置代理程序的IP地址和端口地址;所述代理程序的所述IP地址和所述端口地址均属于所述代理程序的地址信息;
所述通过所述操作模拟程序基于所述代理程序的地址信息查找到所述代理程序,将各个所述请求信息发送至查找到的所述代理程序,包括:
通过所述操作模拟程序基于所述代理程序的IP地址查找到所述代理程序,基于所述端口地址查找到所述代理程序的指定端口,将各个所述请求信息发送至查找到的所述代理程序的指定端口。
在其中一个实施例中,对当前页面的接口进行测试之前,还包括:
获取当前页面的接口的测试任务;
将对前置页面进行模拟操作所对应的脚本文件配置于所述测试任务中;
所述在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息,包括:
在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,基于对前置页面进行模拟操作所对应的脚本文件,对所述前置页面进行模拟操作,生成各个请求信息。
在其中一个实施例中,所述通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数之后,还包括:
通过所述代理程序将所述测试所需的参数透传至当前页面的接口的测试任务中;
在当前页面的接口的测试任务中,将接收到的所述测试所需的参数赋值给预设变量,从赋值之后的所述预设变量获取所述测试所需的参数,对当前页面的接口进行测试。
在其中一个实施例中,所述方法还包括:
预先对所述代理程序配置监听规则;
所述通过所述代理程序监听各个所述请求信息,包括:
通过所述代理程序基于所述监听规则监听各个所述请求信息。
一种参数获取装置,所述装置包括:
模拟操作模块,用于在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息;
发送模块,用于将各个所述请求信息发送至代理程序;
监听模块,用于通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述参数获取方法、装置、计算机设备和存储介质,在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对前置页面进行模拟操作,生成各个请求信息;将各个请求信息发送至代理程序;通过代理程序监听各个请求信息,当监听到目标请求信息时,可以获取目标请求信息中所包括的测试所需的参数,无需用户手动参与,实现了参数的自动化获取,提高了参数获取的效率,从而也提高了对当前页面的接口进行测试的效率。
附图说明
图1为一个实施例中参数获取方法的流程示意图;
图2为另一个实施例中参数获取方法的流程示意图;
图3为一个实施例中预先在操作模拟程序中配置代理程序的地址信息步骤的流程示意图;
图4为另一个实施例中参数获取方法的流程示意图;
图5为一个实施例创建的测试任务的界面示意图;
图6为另一个实施例中参数获取方法的流程示意图;
图7为一个实施例中参数获取装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种参数获取方法,本实施例以该方法应用于计算机设备进行举例说明。计算机设备可以是终端,也可以是服务器。可以理解的是,该方法可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤102,在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对前置页面进行模拟操作,生成各个请求信息。
在当前页面中,存在有各种元素,例如文本、图片、视频、链接、虚拟按钮等等。在当前页面的各种元素中,可以配置有接口,通过该接口可以检测到触发操作,并可以对该触发操作生成请求信息进行响应。触发操作例如单击、双击、滑动等操作。请求信息指的是触发操作所生成的请求数据的信息。请求信息可以是Cookie信息。在请求信息中可以包括有各种信息,如参数、触发操作的时刻、元素标识等。
例如,用户点击视频元素,通过视频元素中配置的接口,对该点击操作进行响应,可以跳转至视频播放页面。又如,用户点击登录按钮,通过登录按钮中配置的接口,对该点击操作进行响应,可以进入登录成功之后的网站页面。
前置页面指的是处于当前页面之前展示的页面。前置页面可以是当前页面的上一个页面,也可以是当前页面之前的第三个页面,不限于此。例如,在第一个页面中存在有各种链接,当点击其中一个链接后跳转至第二个页面,则第一个页面为第二个页面的前置页面。又如,在第一个页面中内嵌有第二个页面,则第二个页面为第一个页面的前置页面。当前页面和前置页面的形式并不限定,可以是HTML5页面,也可以是其他形式的页面。又如,点击第一个页面中的元素,跳转至第二个页面,点击第二个页面中的元素,跳转至第三个页面,则第一个页面和第二个页面均是第三个页面的前置页面。
需要指出的是,计算机设备对前置页面进行模拟操作时,可以对前置页面中的所有元素进行模拟操作,也可以对特定的元素进行模拟操作。前置页面中的元素所包括的接口即前置接口,对前置页面中的元素进行模拟操作,即对前置页面中的元素所包括的前置接口进行模拟操作。
可以理解的是,企业在将应用程序、网站等产品上市之前,需要预先对产品中各个页面的接口进行测试,从而保证用户可以正常使用该产品。接口测试是对外部系统与内部系统之间的接口、以及内部各个子系统之间的交互点进行测试。对接口进行测试,如检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
模拟操作指的是模拟对前置页面进行触发操作。例如,模拟对前置页面中的按钮、视频、图片等元素进行单击、双击、滑动等触发操作。
计算机设备在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,通过操作模拟程序对前置页面进行UI(User Interface,用户界面)自动化模拟操作,生成各个请求信息。其中,操作模拟程序为UI自动化脚本,可以是PhantomJs程序。PhantomJS是一个基于webkit的JavaScript API(Application Programming Interface,应用程序接口),也即一种无界面的浏览器。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。WebKit是一个开源的浏览器引擎。QtWebKit是一个用Qt封装了Webkit浏览器引擎的工具包。Qt是一种跨平台C++图形用户界面应用程序开发框架。
计算机设备在对当前页面的接口进行测试过程中,获取测试所需的参数的标识,从标识中可以确定测试所需的参数所属的页面。可以理解的是,前置页面中包括有一个或者多个元素,则分别对各个元素进行模拟操作,可以得到一个或者多个请求信息。
步骤104,将各个请求信息发送至代理程序。
代理程序指的是对请求信息进行监听从而可以获取到测试所需的参数的程序,即代理获取到参数的程序。
代理程序可以是mitmproxy。mitmproxy是一款支持SSL(Secure Sockets Layer,安全套接字协议)的HTTP(HyperText Transfer Protocol,超文本传输协议)代理程序,采用Python实现,可以用于调试HTTP通信,发起中间人攻击等。mitmproxy提供了一个控制台接口,该控制台接口用于动态拦截和编辑HTTP数据包。其中,Python是一种跨平台的计算机程序设计语言。
在一种实施方式中,计算机设备可以对前置页面中的各个元素依次进行模拟操作,分别生成各个请求信息,则计算机设备可以依次将各个请求信息发送至代理程序。
在另一种实施方式中,计算机设备对前置页面中的各个元素进行模拟操作完成之后,将生成的各个请求信息进行打包,将打包之后的各个请求信息发送至代理程序。
在另一种实施方式中,计算机设备每间隔预设时长,将新生成的各个请求信息发送至代理程序。
步骤106,通过代理程序监听各个请求信息,当监听到目标请求信息时,获取目标请求信息中所包括的测试所需的参数。
目标请求信息指的是测试所需的参数所属的请求信息。在目标请求信息中,可以包括有测试所需的参数,还可以包括触发操作时刻、触发操作的元素标识等信息。
在一个实施例中,测试所需的参数还可以是请求头信息。请求头信息是setDateHeader方法和setIntHeadr方法专门用来设置包含日期和整数值的应答头,前者避免了把Java时间转换为GMT(Greenwich Mean Time,格林威治时间)时间字符串的麻烦,后者则避免了把整数转换为字符串的麻烦。在另一个实施例中,测试所需的参数还可以是前置页面中各个接口的参数,例如登录接口的参数、页面跳转接口的参数、语音播放接口的参数、下载接口的参数等。
计算机设备通过代理程序监听各个请求信息,判断接收到的各个请求信息中是否包括目标请求信息,当监听到目标请求信息时,则获取目标请求中所包括的测试所需的参数。
具体地,通过代理程序监听各个请求信息,将各个请求信息的标识与指定标识进行匹配;当匹配成功时,将与指定标识匹配成功所对应的请求信息作为目标请求信息,获取目标请求信息中所包括的测试所需的参数。
计算机设备预先在代理程序中配置目标请求信息的指定标识。例如目标请求信息可以是指定域名、指定元素标识等,不限于此。
请求信息携带有各种信息,如参数、域名信息、元素标识、所属页面标识等。计算机设备监听各个请求信息,可以获取各个请求信息中的标识,将各个请求信息中的标识分别与指定标识进行匹配;当匹配成功时,表示与指定标识匹配成功的请求信息为目标请求信息,则获取目标请求信息中所包括的测试所需的参数。
上述参数获取方法,在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对前置页面进行模拟操作,生成各个请求信息;将各个请求信息发送至代理程序;通过代理程序监听各个请求信息,当监听到目标请求信息时,可以获取目标请求信息中所包括的测试所需的参数,无需用户手动参与,实现了参数的自动化获取,提高了参数获取的效率,从而也提高了对当前页面的接口进行测试的效率。
在一个实施例中,上述方法还包括:预先对代理程序配置监听规则;通过代理程序监听各个请求信息,包括:通过代理程序基于监听规则监听各个请求信息。
监听规则指的是代理程序监听请求信息的规则。例如,监听规则可以是当监听到指定域名的请求信息,则拦截指定域名下的请求信息如Cookie信息,拦截成功后,并将Cookie信息写入到文本文件如Cookie.txt中。
计算机设备预先对代理程序配置监听规则,则代理程序在监听过程中,按照预先配置的监听规则对各个请求信息进行监听,可以准确地监听到目标请求信息从而从目标请求信息中获取到测试所需的参数。
在一个实施例中,如图2所示,上述方法还包括:
步骤202,预先在操作模拟程序中配置代理程序的地址信息。
操作模拟程序指的是对前置页面进行模拟操作的程序。操作模拟程序可以是PhantomJs。PhantomJS是一个基于webkit的JavaScript API(Application ProgrammingInterface,应用程序接口),也即一种无界面的浏览器。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。WebKit是一个开源的浏览器引擎。QtWebKit是一个用Qt封装了Webkit浏览器引擎的工具包。Qt是一种跨平台C++图形用户界面应用程序开发框架。
代理程序的地址信息指的是代理程序的地址的信息。代理程序的地址信息可以是IP(Internet Protocol,互联网协议)地址、端口地址、代理程序的标识等信息。
对前置页面进行模拟操作,生成各个请求信息,包括:
步骤204,通过操作模拟程序对前置页面进行模拟操作,生成各个请求信息。
计算机设备可以通过操作模拟程序对前置页面进行模拟操作,可以自动获取到前置页面所生成的各个请求信息。
将各个请求信息发送至代理程序,包括:
步骤206,通过操作模拟程序基于代理程序的地址信息查找到代理程序,将各个请求信息发送至查找到的代理程序。
可以理解的是,代理程序的地址信息具有唯一性,可以唯一查找到代理程序,则操作模拟程序获取到各个请求信息之后,可以将各个请求信息发送至查找到的代理程序。
在本实施例中,计算机设备预先在操作模拟程序中配置代理程序的地址信息,则通过操作模拟程序生成各个请求信息之后可以准确查找到代理程序,并将各个请求信息发送至代理程序。
在一个实施例中,如图3所示,预先在操作模拟程序中配置代理程序的地址信息,包括:
步骤302,预先在操作模拟程序中配置代理程序的IP地址和端口地址;代理程序的IP地址和端口地址均属于代理程序的地址信息。
基于代理程序的地址信息查找到代理程序,将各个请求信息发送至查找到的代理程序,包括:
步骤304,通过操作模拟程序基于代理程序的IP地址查找到代理程序,基于端口地址查找到代理程序的指定端口,将各个请求信息发送至查找到的代理程序的指定端口。
代理程序的IP地址和端口地址可以根据需要进行配置。例如,代理程序proxy=127.0.0.1:6666,即代理程序的IP地址为127.0.0.1,端口地址为6666。
计算机预先在操作模拟程序中配置代理程序的IP地址和端口地址,则通过操作模拟程序基于代理程序的IP地址,可以查找到代理程序,基于端口地址可以查找到代理程序的指定端口,从而将各个请求信息准确发送至代理程序的指定端口中。
在一个实施例中,上述方法还包括:预先在代理程序的指定端口启动监听功能。具体地,计算机设备可以对代理程序的指定端口配置mitmdump命令,通过mitmdump命令启动监听功能,则代理程序的指定端口可以监听接收到的各个请求信息。
其中,mitmdump命令是代理程序mitmproxy的命令行版本,功能与代理程序相同,可以对各个请求信息进行监听,从而获取到目标请求信息中的参数。
在一个实施例中,如图4所示,对当前页面的接口进行测试之前,还包括:
步骤402,获取当前页面的接口的测试任务。
计算机设备可以预先创建测试任务,通过测试任务对当前页面的接口进行测试。在一个实施例中,计算机设备可以通过Jenkins应用创建测试任务,通过Jenkins应用创建的测试任务对当前页面的接口进行测试。Jenkins是一款开源CI(Continuousintegration,持续集成)&CD(Continuous Delivery,持续交付)软件,用于自动化各种任务,包括构建、测试和部署等任务。
步骤404,将对前置页面进行模拟操作所对应的脚本文件配置于测试任务中。
对前置页面进行模拟操作所对应的脚本文件,也即操作模拟程序的脚本文件。计算机设备将对前置页面进行模拟操作所对应的脚本文件配置于测试任务中,开启测试任务,对当前页面的接口进行测试。
在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对前置页面进行模拟操作,生成各个请求信息,包括:
步骤406,在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,基于对前置页面进行模拟操作所对应的脚本文件,对前置页面进行模拟操作,生成各个请求信息。
计算机设备在对当前页面的接口进行测试的过程中,当测试所需的参数属于前置页面的参数时,则可以执行对前置页面进行模拟操作所对应的脚本文件,对前置页面进行模拟操作所对应的脚本文件即操作模拟程序的脚本文件,开启操作模拟程序,从而对前置页面进行模拟操作,生成各个请求信息。
在本实施例中,获取当前页面的接口的测试任务,将对前置页面进行模拟操作所对应的脚本文件配置于测试任务中,则在当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,可以基于对前置页面进行模拟操作所对应的脚本文件,对前置页面进行模拟操作,生成各个请求信息,从而可以通过代理程序从各个请求信息中获取到目标请求信息,从目标请求信息中获取到测试所需的参数,实现了自动化获取前置页面的参数,提高了参数获取的效率。
在一个实施例中,通过代理程序监听各个请求信息,当监听到目标请求信息时,获取目标请求信息中所包括的测试所需的参数之后,还包括:通过代理程序将测试所需的参数透传至当前页面的接口的测试任务中;在当前页面的接口的测试任务中,将接收到的测试所需的参数赋值给预设变量,从赋值之后的预设变量获取测试所需的参数,对当前页面的接口进行测试。
透传,即透明传输(pass-through),指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。计算机设备可以通过Trigger parameterized build on other projects插件,提取测试所需的参数,并将测试所需的参数透传至当前页面的接口的测试任务中。
计算机设备预先创建测试任务,通过Trigger parameterized build on otherprojects插件,提取测试所需的参数,并将测试所需的参数透传至当前页面的接口的测试任务中,通过测试任务对当前页面的接口进行测试。当前页面的接口的测试任务即对当前页面的接口进行测试的任务。预设变量指的是测试任务中预先设置的变量,用于接收测试所需的参数。例如,预设变量为JSESSIONID_KEY,代理程序将测试所需的参数透传至测试任务中,赋值给预设变量JSESSIONID_KEY。
在创建测试任务JOB后,还可以通过Jenkins应用自带的一种HOOK传递机制,指定当前测试任务JOB创建完成后,再执行一些其它操作。比如再调用一个其它测试任务JOB,也可以在创建后执行发送邮件或者其它功能。又如,当前测试任务JOB为A,用于执行自动化用例测试,用例测试结束后,即A执行完之后,通过创建一个任务JOB为B,用于执行环境数据清理和恢复。
具体地,计算机设备将接收到的测试所需的参数赋值给第一变量,再将第一变量的值赋值给第二变量,从赋值之后的第二变量获取测试所需的参数,对当前页面的接口进行测试,可以便于区分测试所需的参数与变量之间的关系。例如,计算机设备将接收到的测试所需的参数赋值给第一变量JSESSIONID_KEY,再将第一变量的值赋值给第二变量JSESSIONID_COOKIES,即JSESSIONID_COOKIES=$JSESSIONID_KEY。其中,第一变量和第二变量均可以根据需要进行定义。
在一个实施例中,如图5为创建的测试任务的界面示意图,在创建的测试任务中,Projects to build,即所测试的任务为线上环境接口巡检,测试所需的参数先赋值给第一变量,再由第一变量赋值给第二变量,即JSESSIONID_COOKIES,即JSESSIONID_COOKIES=$JSESSIONID_KEY;在创建的测试任务中,还可以设置Trigger when build is Stable。
计算机设备通过代理程序将测试所需的参数透传至当前页面的接口的测试任务中,将测试所需的参数赋值给测试任务中的预设变量,则测试任务在对当前页面的接口进行测试的过程中,可以从赋值之后的预设变量获取测试所需的参数,实现对当前页面的接口进行测试,也提高了测试的效率。
在一个实施例中,如图6所示,计算机设备预先配置代理程序602的监听规则,预先在操作模拟程序604中配置代理程序的地址信息,获取测试任务606,预先将操作模拟程序604的脚本文件配置于测试任务606中。在测试任务606对当前页面的接口进行测试的过程中,当测试所需的参数属于前置页面的参数时,通过预先配置的操作模拟程序604的脚本文件,对前置页面进行模拟操作,生成各个请求信息,发送至代理程序602。代理程序602监听各个请求信息,当监听到目标请求信息时,获取目标请求信息中所包括的测试所需的参数,并将测试所需的参数赋值给测试任务606中的预设变量,从赋值之后的预设变量获取测试所需的参数,对当前页面的接口进行测试。其中,测试任务中包括有对当前页面的接口进行测试的脚本,通过对当前页面的接口进行测试的脚本对当前页面进行测试。
在一个实施例中,对当前页面的接口进行测试之后,还包括:获取对当前页面的接口进行测试的结果,将结果存储在数据库中。可以理解的是,计算机设备将对当前页面的接口进行测试的结果存储在数据库中,当后续需要调用该结果时,可以从数据库中查找并调用。
在另一个实施例中,对当前页面的接口进行测试之后,还包括:获取对当前页面的接口进行测试的结果,将结果展示在显示界面中。计算机设备将对当前页面的接口进行测试的结果展示在显示界面中,开发人员可以直接获取到对当前页面的接口进行测试的结果,从而可以对测试的参数进行调整,从而更准确对当前页面的接口进行测试。
在另一个实施例中,对当前页面的接口进行测试之后,还包括:获取对当前页面的接口进行测试的结果,将测试的结果与预设结果进行匹配;当匹配不通过时,修改测试参数,重新对当前页面的接口进行测试,直到测试的结果与预设结果匹配通过为止。
测试参数指的是测试过程中的参数,例如测试的次数、测试所采用的接口、测试所采用的代理程序等。当测试的结果与预设结果匹配不通过时,表示对当前页面的接口进行测试的结果不通过,则计算机设备修改测试参数,重新对当前页面的接口进行测试,直到测试的结果与预设结果匹配通过为止。
应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种参数获取装置700,包括:模拟操作模块702、发送模块704和监听模块706,其中:
模拟操作模块702,用于在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息。
发送模块704,用于将各个所述请求信息发送至代理程序。
监听模块706,用于通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数。
上述参数获取装置,在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对前置页面进行模拟操作,生成各个请求信息;将各个请求信息发送至代理程序;通过代理程序监听各个请求信息,当监听到目标请求信息时,可以获取目标请求信息中所包括的测试所需的参数,无需用户手动参与,实现了参数的自动化获取,提高了参数获取的效率,从而也提高了对当前页面的接口进行测试的效率。
在一个实施例中,上述监听模块706还用于通过所述代理程序监听各个所述请求信息,将各个请求信息的标识与指定标识进行匹配;当匹配成功时,将与所述指定标识匹配成功所对应的请求信息作为目标请求信息,获取所述目标请求信息中所包括的测试所需的参数。
在一个实施例中,上述参数获取装置700还包括配置模块,用于预先在操作模拟程序中配置代理程序的地址信息;上述模拟操作模块702还用于通过所述操作模拟程序对所述前置页面进行模拟操作,生成各个请求信息;上述发送模块704还用于通过所述操作模拟程序基于所述代理程序的地址信息查找到所述代理程序,将各个所述请求信息发送至查找到的所述代理程序。
在一个实施例中,上述配置模块还用于预先在操作模拟程序中配置代理程序的IP地址和端口地址;所述代理程序的所述IP地址和所述端口地址均属于所述代理程序的地址信息;上述发送模块704还用于通过所述操作模拟程序基于所述代理程序的IP地址查找到所述代理程序,基于所述端口地址查找到所述代理程序的指定端口,将各个所述请求信息发送至查找到的所述代理程序的指定端口。
在一个实施例中,上述配置模块还用于获取当前页面的接口的测试任务;将对前置页面进行模拟操作所对应的脚本文件配置于所述测试任务中;上述模拟操作模块702还用于在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,基于对前置页面进行模拟操作所对应的脚本文件,对所述前置页面进行模拟操作,生成各个请求信息。
在一个实施例中,上述参数获取装置还包括测试模块,用于通过所述代理程序将所述测试所需的参数透传至当前页面的接口的测试任务中;在当前页面的接口的测试任务中,将接收到的所述测试所需的参数赋值给预设变量,从赋值之后的所述预设变量获取所述测试所需的参数,对当前页面的接口进行测试。
在一个实施例中,上述配置模块还用于预先对所述代理程序配置监听规则;上述监听模块704还用于通过所述代理程序基于所述监听规则监听各个所述请求信息。
关于参数获取装置的具体限定可以参见上文中对于参数获取方法的限定,在此不再赘述。上述参数获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试所需的参数、测试结果等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种参数获取方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种参数获取方法,其特征在于,所述方法包括:
在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息;
将各个所述请求信息发送至代理程序;
通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数。
2.根据权利要求1所述的方法,其特征在于,所述通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数,包括:
通过所述代理程序监听各个所述请求信息,将各个请求信息的标识与指定标识进行匹配;
当匹配成功时,将与所述指定标识匹配成功所对应的请求信息作为目标请求信息,获取所述目标请求信息中所包括的测试所需的参数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先在操作模拟程序中配置代理程序的地址信息;
所述对所述前置页面进行模拟操作,生成各个请求信息,包括:
通过所述操作模拟程序对所述前置页面进行模拟操作,生成各个请求信息;
所述将各个所述请求信息发送至代理程序,包括:
通过所述操作模拟程序基于所述代理程序的地址信息查找到所述代理程序,将各个所述请求信息发送至查找到的所述代理程序。
4.根据权利要求3所述的方法,其特征在于,所述预先在操作模拟程序中配置代理程序的地址信息,包括:
预先在操作模拟程序中配置代理程序的IP地址和端口地址;所述代理程序的所述IP地址和所述端口地址均属于所述代理程序的地址信息;
所述通过所述操作模拟程序基于所述代理程序的地址信息查找到所述代理程序,将各个所述请求信息发送至查找到的所述代理程序,包括:
通过所述操作模拟程序基于所述代理程序的IP地址查找到所述代理程序,基于所述端口地址查找到所述代理程序的指定端口,将各个所述请求信息发送至查找到的所述代理程序的指定端口。
5.根据权利要求1所述的方法,其特征在于,对当前页面的接口进行测试之前,还包括:
获取当前页面的接口的测试任务;
将对前置页面进行模拟操作所对应的脚本文件配置于所述测试任务中;
所述在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息,包括:
在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,基于对前置页面进行模拟操作所对应的脚本文件,对所述前置页面进行模拟操作,生成各个请求信息。
6.根据权利要求1所述的方法,其特征在于,所述通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数之后,还包括:
通过所述代理程序将所述测试所需的参数透传至当前页面的接口的测试任务中;
在当前页面的接口的测试任务中,将接收到的所述测试所需的参数赋值给预设变量,从赋值之后的所述预设变量获取所述测试所需的参数,对当前页面的接口进行测试。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先对所述代理程序配置监听规则;
所述通过所述代理程序监听各个所述请求信息,包括:
通过所述代理程序基于所述监听规则监听各个所述请求信息。
8.一种参数获取装置,其特征在于,所述装置包括:
模拟操作模块,用于在对当前页面的接口进行测试过程中,当测试所需的参数属于前置页面的参数时,对所述前置页面进行模拟操作,生成各个请求信息;
发送模块,用于将各个所述请求信息发送至代理程序;
监听模块,用于通过所述代理程序监听各个所述请求信息,当监听到目标请求信息时,获取所述目标请求信息中所包括的测试所需的参数。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202011077304.XA 2020-10-10 2020-10-10 参数获取方法、装置、计算机设备和存储介质 Pending CN112231209A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011077304.XA CN112231209A (zh) 2020-10-10 2020-10-10 参数获取方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011077304.XA CN112231209A (zh) 2020-10-10 2020-10-10 参数获取方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112231209A true CN112231209A (zh) 2021-01-15

Family

ID=74111777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011077304.XA Pending CN112231209A (zh) 2020-10-10 2020-10-10 参数获取方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112231209A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238965A (zh) * 2021-06-18 2021-08-10 杭州遥望网络科技有限公司 一种接口测试脚本生成方法、系统及存储介质
CN113504910A (zh) * 2021-07-09 2021-10-15 深圳平安智汇企业信息管理有限公司 代码文本的处理方法、装置、设备及存储介质
CN114153729A (zh) * 2021-11-30 2022-03-08 北京达佳互联信息技术有限公司 网页测试方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120262812A1 (en) * 2011-02-11 2012-10-18 Xyratex Technology Limited Test apparatus and method of testing with a test apparatus
US20140067474A1 (en) * 2012-09-04 2014-03-06 EngageClick, Inc. System and method for creating and implementing scalable and effective surveys and testing methods with human interaction proof (hip) capabilities
CN106997322A (zh) * 2017-02-15 2017-08-01 网易宝有限公司 用于自动化测试的方法及设备
CN107844421A (zh) * 2017-10-31 2018-03-27 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN109144856A (zh) * 2018-07-27 2019-01-04 北京皮尔布莱尼软件有限公司 一种ui自动化测试方法、计算设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120262812A1 (en) * 2011-02-11 2012-10-18 Xyratex Technology Limited Test apparatus and method of testing with a test apparatus
US20140067474A1 (en) * 2012-09-04 2014-03-06 EngageClick, Inc. System and method for creating and implementing scalable and effective surveys and testing methods with human interaction proof (hip) capabilities
CN106997322A (zh) * 2017-02-15 2017-08-01 网易宝有限公司 用于自动化测试的方法及设备
CN107844421A (zh) * 2017-10-31 2018-03-27 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN109144856A (zh) * 2018-07-27 2019-01-04 北京皮尔布莱尼软件有限公司 一种ui自动化测试方法、计算设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238965A (zh) * 2021-06-18 2021-08-10 杭州遥望网络科技有限公司 一种接口测试脚本生成方法、系统及存储介质
CN113238965B (zh) * 2021-06-18 2023-04-07 杭州遥望网络科技有限公司 一种接口测试脚本生成方法、系统及存储介质
CN113504910A (zh) * 2021-07-09 2021-10-15 深圳平安智汇企业信息管理有限公司 代码文本的处理方法、装置、设备及存储介质
CN113504910B (zh) * 2021-07-09 2023-09-22 深圳平安智汇企业信息管理有限公司 代码文本的处理方法、装置、设备及存储介质
CN114153729A (zh) * 2021-11-30 2022-03-08 北京达佳互联信息技术有限公司 网页测试方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN112231209A (zh) 参数获取方法、装置、计算机设备和存储介质
CN110442524B (zh) 一种针对带有认证授权的web服务接口测试方法和装置
CN111026635B (zh) 一种软件项目的测试系统、方法、装置及存储介质
US20090082008A1 (en) Mobile Phone Code Debugging Method and Apparatus
CN104536890B (zh) 测试系统、方法和装置
CN106484611B (zh) 基于自动化协议适配的模糊测试方法和装置
CN112988608B (zh) 数据测试方法、装置、计算机设备及存储介质
CN112732572A (zh) 服务的测试方法、装置及系统、存储介质、电子装置
CN110413329A (zh) Iot设备远程调试方法、装置及系统
CN110493064A (zh) 防火墙管理方法、装置、计算机设备和存储介质
US20230239375A1 (en) Deriving proxy stability without network inspection
CN107113199B (zh) 用于分析和处理通信序列的分析装置
CN113641582A (zh) 混合模式移动应用调试方法及系统
CN106708717B (zh) 一种开发调试方法及装置
CN113641581A (zh) 混合模式移动应用调试方法及系统
CN114915565B (zh) 网络调试的方法和系统
CN113138915A (zh) 一种页面测试方法、装置及介质
JP5235588B2 (ja) 通信異常発生装置
CN111552643A (zh) 多浏览器网页访问同步方法、系统
CN113626330A (zh) 混合模式移动应用调试方法及系统
CN113641580A (zh) 混合模式移动应用调试方法及系统
CN113204449A (zh) 会话备份方法、计算机可读存储介质及终端设备
CN112433938A (zh) 移动端应用测试的方法和装置
CN109271310B (zh) 移动应用程序网络功能的开发测试方法和装置
US20240004782A1 (en) Remote debugging of local gui rendering by playing back a capture file to recreate a real-time local network environment

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