CN106209503A - Rpc接口测试方法及系统 - Google Patents

Rpc接口测试方法及系统 Download PDF

Info

Publication number
CN106209503A
CN106209503A CN201610493357.7A CN201610493357A CN106209503A CN 106209503 A CN106209503 A CN 106209503A CN 201610493357 A CN201610493357 A CN 201610493357A CN 106209503 A CN106209503 A CN 106209503A
Authority
CN
China
Prior art keywords
test
rpc
server
configuration file
rpc interface
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.)
Granted
Application number
CN201610493357.7A
Other languages
English (en)
Other versions
CN106209503B (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.)
Urumqi Bangbangjun Technology Co ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201610493357.7A priority Critical patent/CN106209503B/zh
Publication of CN106209503A publication Critical patent/CN106209503A/zh
Application granted granted Critical
Publication of CN106209503B publication Critical patent/CN106209503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

本发明公开了一种RPC接口测试方法及系统,涉及RPC接口测试领域,该方法的步骤为:在服务器上建立Socket连接,通过Socket与RPC接口进行通信,读取预先设置的RPC服务的服务器配置信息、测试数据配置文件和数据库配置文件,服务器配置信息包括用于写入RPC调用语言的命令行终端和公共RPC的调用方法;运行测试所需的驱动数据后,加载所述测试数据配置文件和数据库配置文件,通过公共RPC的调用方法在服务器上进行RPC服务登录;在命令行终端上写入测试数据配置文件的测试参数,根据测试参数进行测试。本发明能够在RPC服务出现问题时及时发现并修复,简化了后期的操作过程和维修成本。

Description

RPC接口测试方法及系统
技术领域
本发明涉及RPC(Remote Procedure Call Protocol,远程过程调用协议,通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议)接口测试领域,具体涉及一种RPC接口测试方法及系统。
背景技术
接口测试(对系统组件间接口进行测试)主要用于检测外部系统与系统(包括各个子系统)之间的交互点,接口测试重点为检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
目前,Web测试中的接口测试主要关注前端服务中基于http协议的post(传送数据)和get(获取数据)请求,而对后端服务中较通用的RPC接口测试研究不多,RPC接口的测试方法尚无,进而会使得RPC服务使用时存在以下缺陷:
RPC服务在创建和初期使用时出现的问题比较隐蔽,无法及时修复,若该问题在RPC服务完善后再来修复,则会重新大幅度修整RPC服务,不仅操作过程比较复杂,而且修复成本较高。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:提供一种RPC接口测试方法及系统,本发明能够在RPC服务出现问题时及时发现并修复,简化了后期的操作过程和维修成本。
为达到以上目的,本发明提供的RPC接口测试方法,包括以下步骤:
S1:在服务器上建立Socket连接,通过Socket与RPC接口进行通信,读取预先设置的RPC服务的服务器配置信息、测试数据配置文件和数据库配置文件,转到S2;
所述服务器配置信息包括用于写入RPC调用语言的命令行终端和公共RPC的调用方法;
S2:运行测试所需的驱动数据后,加载所述测试数据配置文件和数据库配置文件,通过公共RPC的调用方法在服务器上进行RPC服务登录,转到S3;
S3:在命令行终端上写入测试数据配置文件的测试参数,根据测试参数进行测试。
在上述技术方案的基础上,S3中所述根据测试参数进行测试的具体流程为:读取测试数据配置文件中预先定义的不正确或正确的用户数据;执行S3的过程中,若出现异常,则捕获异常信息。
在上述技术方案的基础上,S3之后还包括以下步骤:根据预先设置的测试场景恢复配置,进行测试场景恢复。
在上述技术方案的基础上,S1中所述通过Socket与RPC接口进行通信之后,还包括以下步骤:读取预先设置的Socket的服务器配置信息。
在上述技术方案的基础上,S1中所述服务器配置信息还包括服务器ip、RPC服务的端口号和RPC服务的消息码。
本发明提供的实现上述方法的RPC接口测试系统,包括测试连接建立模块、测试驱动登陆模块和RPC接口测试模块;
测试连接建立模块用于:在服务器上建立Socket连接,通过Socket与RPC接口进行通信,读取预先设置的RPC服务的服务器配置信息、测试数据配置文件和数据库配置文件,向测试驱动登陆模块发送测试驱动登陆信号;
所述服务器配置信息包括用于写入RPC调用语言的命令行终端和公共RPC的调用方法;
测试驱动登陆模块用于:收到测试驱动登陆信号后,运行测试所需的驱动数据,加载所述测试数据配置文件和数据库配置文件,通过公共RPC的调用方法在服务器上进行RPC服务登录,向RPC接口测试模块发送RPC接口测试信号;
RPC接口测试模块用于:收到RPC接口测试信号后,在命令行终端上写入测试数据配置文件的测试参数,根据测试参数进行测试。
在上述技术方案的基础上,所述RPC接口测试模块根据测试参数进行测试的具体流程为:读取测试数据配置文件中预先定义的不正确或正确的用户数据;测试过程中,若出现异常,则捕获异常信息。
在上述技术方案的基础上,该系统还包括测试测试场景恢复模块,其用于:在RPC接口测试模块测试完成后,根据预先设置的测试场景恢复配置,进行测试场景恢复。
在上述技术方案的基础上,所述测试连接建立模块通过Socket与RPC接口进行通信之后,还包括以下工作流程:读取预先设置的Socket的服务器配置信息。
在上述技术方案的基础上,所述测试连接建立模块读取的服务器配置信息,还包括服务器ip、RPC服务的端口号和RPC服务的消息码。
与现有技术相比,本发明的优点在于:
本发明根据自行创造的测试方式,能够完成RPC接口的测试,进而使得RPC服务出现问题时能够及时发现并修复,简化了后期的操作过程和维修成本。
附图说明
图1为本发明实施例中RPC接口测试方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明实施例中的RPC接口测试方法,借鉴了数据驱动的测试自动化思想(以数据来控制自动化测试的流程和动作的测试,其中数据是独立于测试用例脚本的,通常以文本文件形式、Excel文件形式、XML文件等形式存在),以Python语言(面向对象、解释型计算机程序设计语言)为主实现了后端服务器的Socket通信和RPC调用,并结合软件测试中的边界值、等价类、正交试验设计等方法编写接口测试用例。
其中Socket通信通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
本发明实施例进行RPC接口测试之前,需要实现与后端服务器的Socket进行通信、以及通过Python语言调用具体的RPC服务(RPC接口承载的是RPC服务)。
与后端服务器的Socket进行通信的流程为:
(1)定义socket管理类,包括创建连接-create Socket()、发送数据-send Data()、接收数据-recvData()、和关闭连接-close Socket()。
(2)定义数据包处理类,包括数据包解码-decode()、编码-encode()、字符过滤-filter()。
(3)定义RPC调用类,RPC调用类包括读取后端服务器配置信息:-processServerInfo()、读取测试数据配置-processYaml()、读取数据库配置-processMysql()、后端服务登录-loginClient()、公共的RPC调用方法-callRPC()。
通过Python语言调用具体的RPC的流程为:
(1)定义具体RPC的调用方法:call_RPC_A(args[])。
(2)定义执行RPC调用类,执行RPC调用类类包括场景初始化-init()、执行具体RPC调用-test_RPC_A()、测试场景恢复配置-cover()。
(3)定义驱动数据。
在此基础上,本发明实施例中的RPC接口测试方法,包括以下步骤:
S1:在后台服务器上建立Socket连接,通过Socket与RPC接口进行通信,分别读取预先设置的RPC服务的服务器配置信息、RPC服务的测试数据配置文件、RPC服务的数据库配置文件、以及Socket的服务器配置信息,转到S2。
S1中RPC服务的服务器配置信息包括服务器ip、RPC服务的端口号port、RPC的消息码、用于写入RPC调用语言的命令行终端和公共的RPC调用方法。
S2:运行测试所需的驱动数据后,加载S1中的测试数据配置文件和数据库配置文件,通过公共的RPC调用方法在后台服务器上进行RPC服务登录,转到S3。
S3:在命令行终端上写入测试数据配置文件的实际测试参数,根据测试参数进行测试test_RPC_get_member_ban_info(),转到S4。
S3中根据测试参数进行测试可以为以下2种中的任意1种流程:
(1)test_case_error_uid:读取测试数据配置文件中预先定义的不正确的用户数据;
(2)test_case_correct_uid:读取测试数据配置文件中预先定义的正确的用户数据。
S3中若测试过程中出现异常(例如读取测试数据配置文件错误等),则捕获并打印异常信息。
S4:根据预先设置的测试场景恢复配置,进行测试场景恢复(例如将测试场景恢复为RPC的正常工作场景等)。
本发明实施例提供的实现上述方法的RPC接口测试系统,包括测试连接建立模块、测试驱动登陆模块、RPC接口测试模块和测试测试场景恢复模块。
测试连接建立模块用于:在服务器上建立Socket连接,通过Socket与RPC接口进行通信,读取预先设置的RPC服务的服务器配置信息、测试数据配置文件、数据库配置文件、以及Socket的服务器配置信息,向测试驱动登陆模块发送测试驱动登陆信号。
所述服务器配置信息包括服务器ip、RPC服务的端口号port、RPC的消息码、用于写入RPC调用语言的命令行终端和公共的RPC调用方法。
测试驱动登陆模块用于:收到测试驱动登陆信号后,运行测试所需的驱动数据,加载所述测试数据配置文件和数据库配置文件,通过公共RPC的调用方法在服务器上进行RPC服务登录,向RPC接口测试模块发送RPC接口测试信号。
RPC接口测试模块用于:收到RPC接口测试信号后,在命令行终端上写入测试数据配置文件的测试参数,根据测试参数进行测试,测试的具体工作流程为:读取测试数据配置文件中预先定义的不正确或正确的用户数据;测试过程中,若出现异常,则捕获异常信息。
测试测试场景恢复模块用于:在RPC接口测试模块测试完成后,根据预先设置的测试场景恢复配置,进行测试场景恢复。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种RPC接口测试方法,其特征在于,该方法包括以下步骤:
S1:在服务器上建立Socket连接,通过Socket与RPC接口进行通信,读取预先设置的RPC服务的服务器配置信息、测试数据配置文件和数据库配置文件,转到S2;
所述服务器配置信息包括用于写入RPC调用语言的命令行终端和公共RPC的调用方法;
S2:运行测试所需的驱动数据后,加载所述测试数据配置文件和数据库配置文件,通过公共RPC的调用方法在服务器上进行RPC服务登录,转到S3;
S3:在命令行终端上写入测试数据配置文件的测试参数,根据测试参数进行测试。
2.如权利要求1所述的RPC接口测试方法,其特征在于:S3中所述根据测试参数进行测试的具体流程为:读取测试数据配置文件中预先定义的不正确或正确的用户数据;执行S3的过程中,若出现异常,则捕获异常信息。
3.如权利要求1所述的RPC接口测试方法,其特征在于:S3之后还包括以下步骤:根据预先设置的测试场景恢复配置,进行测试测试场景恢复。
4.如权利要求1至3任一项所述的RPC接口测试方法,其特征在于:S1中所述通过Socket与RPC接口进行通信之后,还包括以下步骤:读取预先设置的Socket的服务器配置信息。
5.如权利要求1至3任一项所述的RPC接口测试方法,其特征在于:S1中所述服务器配置信息还包括服务器ip、RPC服务的端口号和RPC服务的消息码。
6.一种实现权利要求1至5任一项所述方法的RPC接口测试系统,其特征在于:该系统包括测试连接建立模块、测试驱动登陆模块和RPC接口测试模块;
测试连接建立模块用于:在服务器上建立Socket连接,通过Socket与RPC接口进行通信,读取预先设置的RPC服务的服务器配置信息、测试数据配置文件和数据库配置文件,向测试驱动登陆模块发送测试驱动登陆信号;
所述服务器配置信息包括用于写入RPC调用语言的命令行终端和公共RPC的调用方法;
测试驱动登陆模块用于:收到测试驱动登陆信号后,运行测试所需的驱动数据,加载所述测试数据配置文件和数据库配置文件,通过公共RPC的调用方法在服务器上进行RPC服务登录,向RPC接口测试模块发送RPC接口测试信号;
RPC接口测试模块用于:收到RPC接口测试信号后,在命令行终端上写入测试数据配置文件的测试参数,根据测试参数进行测试。
7.如权利要求6所述的RPC接口测试系统,其特征在于:所述RPC接口测试模块根据测试参数进行测试的具体工作流程为:读取测试数据配置文件中预先定义的不正确或正确的用户数据;测试过程中,若出现异常,则捕获异常信息。
8.如权利要求6所述的RPC接口测试系统,其特征在于:该系统还包括测试测试场景恢复模块,其用于:在RPC接口测试模块测试完成后,根据预先设置的测试场景恢复配置,进行测试场景恢复。
9.如权利要求6至8任一项所述的RPC接口测试系统,其特征在于:所述测试连接建立模块通过Socket与RPC接口进行通信之后,还包括以下工作流程:读取预先设置的Socket的服务器配置信息。
10.如权利要求6至8任一项所述的RPC接口测试系统,其特征在于:所述测试连接建立模块读取的服务器配置信息,还包括服务器ip、RPC服务的端口号和RPC服务的消息码。
CN201610493357.7A 2016-06-28 2016-06-28 Rpc接口测试方法及系统 Active CN106209503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610493357.7A CN106209503B (zh) 2016-06-28 2016-06-28 Rpc接口测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610493357.7A CN106209503B (zh) 2016-06-28 2016-06-28 Rpc接口测试方法及系统

Publications (2)

Publication Number Publication Date
CN106209503A true CN106209503A (zh) 2016-12-07
CN106209503B CN106209503B (zh) 2019-07-09

Family

ID=57462374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610493357.7A Active CN106209503B (zh) 2016-06-28 2016-06-28 Rpc接口测试方法及系统

Country Status (1)

Country Link
CN (1) CN106209503B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851513A (zh) * 2016-12-30 2017-06-13 歌尔科技有限公司 一种电子产品的测试方法和系统
CN108628729A (zh) * 2017-03-15 2018-10-09 北京嘀嘀无限科技发展有限公司 一种软件测试方法和软件测试客户端
CN108763047A (zh) * 2018-05-31 2018-11-06 北京五八信息技术有限公司 对scf进行性能测试的方法、装置、设备及存储介质
CN109871289A (zh) * 2019-02-01 2019-06-11 北京顺丰同城科技有限公司 一种远程过程调用rpc服务生成方法及装置
CN111580989A (zh) * 2020-04-30 2020-08-25 成都新潮传媒集团有限公司 一种文件处理方法及装置
CN112597000A (zh) * 2020-12-09 2021-04-02 山东浪潮通软信息科技有限公司 一种基于WebScoket协议的即时通讯软件自动化测试方法
CN112819605A (zh) * 2021-01-29 2021-05-18 山东浪潮通软信息科技有限公司 资金结算业务测试方法、装置及计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212357A (zh) * 2006-12-31 2008-07-02 亿阳信通股份有限公司 一种接口的测试方法和装置
CN103812726A (zh) * 2014-01-26 2014-05-21 烽火通信科技股份有限公司 一种数据通信设备的自动化测试方法及装置
CN104142882A (zh) * 2013-05-08 2014-11-12 百度在线网络技术(北京)有限公司 基于数据处理的测试方法及装置、系统
CN105099811A (zh) * 2015-06-03 2015-11-25 北京金山安全软件有限公司 一种接口测试方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212357A (zh) * 2006-12-31 2008-07-02 亿阳信通股份有限公司 一种接口的测试方法和装置
CN104142882A (zh) * 2013-05-08 2014-11-12 百度在线网络技术(北京)有限公司 基于数据处理的测试方法及装置、系统
CN103812726A (zh) * 2014-01-26 2014-05-21 烽火通信科技股份有限公司 一种数据通信设备的自动化测试方法及装置
CN105099811A (zh) * 2015-06-03 2015-11-25 北京金山安全软件有限公司 一种接口测试方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851513A (zh) * 2016-12-30 2017-06-13 歌尔科技有限公司 一种电子产品的测试方法和系统
CN106851513B (zh) * 2016-12-30 2020-06-30 歌尔科技有限公司 一种电子产品的测试方法和系统
CN108628729A (zh) * 2017-03-15 2018-10-09 北京嘀嘀无限科技发展有限公司 一种软件测试方法和软件测试客户端
CN108628729B (zh) * 2017-03-15 2021-11-30 北京嘀嘀无限科技发展有限公司 一种软件测试方法和软件测试客户端
CN108763047A (zh) * 2018-05-31 2018-11-06 北京五八信息技术有限公司 对scf进行性能测试的方法、装置、设备及存储介质
CN109871289A (zh) * 2019-02-01 2019-06-11 北京顺丰同城科技有限公司 一种远程过程调用rpc服务生成方法及装置
CN111580989A (zh) * 2020-04-30 2020-08-25 成都新潮传媒集团有限公司 一种文件处理方法及装置
CN111580989B (zh) * 2020-04-30 2023-05-02 成都新潮传媒集团有限公司 一种文件处理方法及装置
CN112597000A (zh) * 2020-12-09 2021-04-02 山东浪潮通软信息科技有限公司 一种基于WebScoket协议的即时通讯软件自动化测试方法
CN112597000B (zh) * 2020-12-09 2023-10-03 浪潮通用软件有限公司 一种基于WebScoket协议的即时通讯软件自动化测试方法
CN112819605A (zh) * 2021-01-29 2021-05-18 山东浪潮通软信息科技有限公司 资金结算业务测试方法、装置及计算机可读介质

Also Published As

Publication number Publication date
CN106209503B (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN106209503A (zh) Rpc接口测试方法及系统
CN108650149B (zh) 服务器的测试方法、装置、设备及计算机可读存储介质
CN101159714B (zh) 一种即时通讯方法和装置
CN102594914B (zh) 一种基于云平台的远程调试方法
CN103138988B (zh) 网络故障的定位处理方法及装置
CN104579822A (zh) 基于Http协议的移动应用自动化性能测试系统及方法
CN107241315B (zh) 银行网关接口的接入方法、装置及计算机可读存储介质
CN104778121A (zh) 游戏程序的测试方法、装置及系统
CN106330483A (zh) 信息获取方法、客户端设备和服务端设备
CN101170438A (zh) 一种远程串口调试方法及其系统
CN105897652A (zh) 一种基于标准协议的异构终端动态接入方法
CN105824754A (zh) 客户端程序的Python异常捕获和上传的方法
CN104899134B (zh) 域名注册服务器自动化测试系统和方法
CN108683704A (zh) 一种Socket网络通信测试方法及其系统、存储介质
CN110069413A (zh) 测试数据通信、测试方法、装置、设备及存储介质
CN105701009B (zh) 移动终端中的安全性应用测试方法
CN101282362B (zh) 深度报文检测方法和装置
CN101964923A (zh) 交互式命令的配置系统及方法
CN103475491B (zh) 一种无密码安全登录的远程维护系统和实现方法
CN103595611B (zh) 即时通信应用的实现方法及系统、与设备
CN112367680B (zh) 基于智能电表的外部通信测试方法、装置和计算机设备
CN104836831B (zh) 一种用于物联网的物体服务方法
CN104769891A (zh) 用以检测和传达关于通信链路状态的信息的方法和装置
CN101499031A (zh) 软件错误反馈系统及方法
US10904098B2 (en) Health check automation for virtual network functions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240228

Address after: 830000, Room 17A, Building 17, Block A, Times Square Community, No. 59 Guangming Road, Tianshan District, Urumqi, Xinjiang Uygur Autonomous Region BD00244

Patentee after: Urumqi Bangbangjun Technology Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China