CN111488267B - 一种接口测试脚本的生成方法、装置及电子设备 - Google Patents

一种接口测试脚本的生成方法、装置及电子设备 Download PDF

Info

Publication number
CN111488267B
CN111488267B CN201910072458.0A CN201910072458A CN111488267B CN 111488267 B CN111488267 B CN 111488267B CN 201910072458 A CN201910072458 A CN 201910072458A CN 111488267 B CN111488267 B CN 111488267B
Authority
CN
China
Prior art keywords
interface
parameter
target
thread
service
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
CN201910072458.0A
Other languages
English (en)
Other versions
CN111488267A (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.)
Beijing Sogou Technology Development Co Ltd
Original Assignee
Beijing Sogou Technology Development 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 Beijing Sogou Technology Development Co Ltd filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN201910072458.0A priority Critical patent/CN111488267B/zh
Publication of CN111488267A publication Critical patent/CN111488267A/zh
Application granted granted Critical
Publication of CN111488267B publication Critical patent/CN111488267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

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)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种接口测试脚本的生成方法、装置及电子设备。该方法应用于Thrift测试平台,Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,该方法包括:获取用户选择的目标服务与目标服务对应的目标接口,并获取目标服务及目标接口对应的目标依赖关系;接收用户输入的文本请求,并将文本请求包括的文本参数转换为Thrift协议内的结构体数据;基于目标依赖关系及结构体数据,生成目标接口的接口测试脚本。通过上述技术方案,降低了用户对编程语言、Thrift协议等专业知识的要求,解决了现有技术中基于Thrift协议的接口测试脚本编写效率低下的技术问题,提高了接口测试的效率。

Description

一种接口测试脚本的生成方法、装置及电子设备
技术领域
本发明涉及软件技术领域,特别涉及一种接口测试脚本的生成方法、装置及电子设备。
背景技术
Thrift是一个服务部署框架,可以理解为一种协议或是一种描述性语言,用来进行可扩展且跨语言的服务的开发,让不同的编程语言间无缝结合,提供高效的服务。它结合了功能强大的软件堆栈和代码生成引擎,Thrift通过一个中间语言来定义RPC(RemoteProcedure Call,远程过程调用)的接口和数据类型,然后通过一个代码生成工具来生成不同语言的代码,包括C++、Java、Go、Python、PHP等,并由生成的代码负责RPC协议层和传输层的实现。
现有技术中,基于Thrift实现客户端与服务器端接口通讯所需的接口测试脚本,通常由使用者手动编写。使用者需要了解Thrift的通信原理,手动部署Thrift环境,然后查看Thrift文件里声明的方法、定义的结构等,并至少掌握一门编程语言,然后自己编写客户端代码即接口测试脚本,整个过程不仅需要一定的技术基础而且过程繁琐,实现过程效率低下。
发明内容
本发明实施例提供一种接口测试脚本的生成方法、装置及电子设备,用于解决现有技术中基于Thrift协议的接口测试脚本编写效率低下的技术问题,提高接口测试效率。
本发明实施例提供一种接口测试脚本的生成方法,应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,所述方法包括:
获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成;
基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本。
可选的,在所述获取用户选择的目标服务与所述目标服务对应的目标接口之后,所述方法还包括:
显示生成所述目标接口的接口测试脚本所需参数的参数示例信息。
可选的,所述参数示例信息包括:参数名、参数文本格式及参数与参数之间的对应关系。
可选的,所述将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据,包括:
获取所述文本参数中的参数名对应的参数类型,根据预设的转换规则和所述参数类型将所述参数名对应的参数转换为Thrift协议内的结构体数据。
可选的,在所述获取用户选择的目标服务与所述目标服务对应的目标接口之前,所述方法还包括:
获取最新的Thrift文件,更新所述Thrift测试平台上的Thrift文件。
可选的,所述方法还包括:构建所述Thrift测试平台,包括:
建立每个服务与接口之间的对应关系,在平台界面上提供服务选择和接口选择界面;
对每个接口和服务,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系;
针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系。
本申请实施例还提供一种接口测试脚本的生成装置,应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,所述装置包括:
获取单元,用于获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
转换单元,用于接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成;
生成单元,用于基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本。
可选的,所述装置还包括:显示单元,用于在所述获取用户选择的目标服务与所述目标服务对应的目标接口之后,显示生成所述目标接口的接口测试脚本所需参数的参数示例信息。
可选的,所述参数示例信息包括:参数名、参数文本格式及参数与参数之间的对应关系。
可选的,所述转换单元用于:获取所述文本参数中的参数名对应的参数类型,根据预设的转换规则和所述参数类型将所述参数名对应的参数转换为Thrift协议内的结构体数据。
可选的,所述装置还包括:更新单元,用于在所述获取用户选择的目标服务与所述目标服务对应的目标接口之前,获取最新的Thrift文件,更新所述Thrift测试平台上的Thrift文件。
可选的,所述装置还包括:构建单元,用于构建所述Thrift测试平台,包括:
建立每个服务与接口之间的对应关系,在平台界面上提供服务选择和接口选择界面;
对每个接口和服务,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系;
针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系。
本申请实施例还提供一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成;
基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,所述方法包括:
获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成;
基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果:
本申请实施例提供一种接口测试脚本的生成方法,应用于Thrift测试平台,在Thrift测试平台上配置有Thrift协议中服务与接口之间的对应关系,以及接口与服务之间依赖关系;基于该Thrift测试平台,获取用户选择的目标服务与该目标服务对应的目标接口,并获取目标服务及目标接口对应的目标依赖关系;接收用户输入的文本请求,并将该文本请求包括的文本参数转换为Thrift协议内的结构体数据;基于目标依赖关系及转换获得的结构体数据,生成目标接口的接口测试脚本,以实现接口测试脚本的自动生成,大大降低了使用者对编程语言、Thrift协议等专业知识的要求,解决了现有技术中基于Thrift协议的接口测试脚本编写效率低下的技术问题,提高了接口测试的效率。
附图说明
图1为本申请实施例提供的Thrift测试平台的示意图;
图2为本申请实施例提供的一种接口测试脚本的生成方法的流程示意图;
图3为本申请实施例提供的一种接口测试脚本的生成装置的方框图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
在本申请实施例提供的技术方案中,提供一种接口测试脚本的生成方法,预先建立一个Thrift测试平台,提供接口测试脚本所需的各个服务与接口的对应关系、相应的依赖关系以及各个参数的转换规则,基于该测试平台以及用户选择的服务、接口以及用户输入的参数,自动生成接口测试脚本,以解决现有技术中基于Thrift协议的接口测试脚本编写效率低下的技术问题,提高接口测试效率。
下面结合附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
实施例
请参考图1,本申请实施例预先建立一Thrift测试平台,在该测试平台中进行如下配置:
(1)、部署Thrift环境,导入Thrift文件。相应的,还可以提供SVN(Subversion,版本管理)更新接口,以及时更新各项目最新的Thrift文件,为依赖生成做准备。
(2)、建立每个服务与接口之间的对应关系,并在平台界面上提供服务选择和接口选择界面以供用户选择。
不同的服务下对应多个接口,每个接口与服务之间依赖关系不同,建立每个服务与该服务下的接口之间的对应关系。例如:服务A下对应有接口A1~A12,那么建立服务A与接口A1~A12之间的对应关系。
(3)、对每个接口和服务,执行Thrift命令,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系。
具体的,可以在Thrift平台的部署环境中引入Thrift安装包,配置好环境变量,使用Thrift命令行,将Thrift文件生成对应的代码,这些代码就是在生成接口测试脚本时所需用到的依赖关系。该依赖关系可能以模块或包的形式存在。依赖关系的生成过程用户无感知,只需点击平台上的功能按钮即可,提高依赖关系的生成效率,也有利于新的依赖关系的快速生成,降低了依赖关系生成操作的门槛。
(4)、针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系,并提供case详情输入框,以接收用户输入的该参数对应的文本请求,如图1所示。针对每个参数预设用户输入文本请求中的文本参数与Thrift系统中可识别的结构体数据之间的转换规则,使得用户依据该规则编写文本请求后,系统接收到用户输入的文本请求,能够将文本请求中的文本参数转化成系统可以识别的Thrift相关数据类型,进而根据转换后的数据类型自动生成接口测试脚本。
具体的转换规则可以进行如下设置:
①、针对int类型,用户直接输入变量名和赋值,用等号连接即可,系统会将此数据直接转化为文本填入请求中,如a变量赋值10,则用户可写成a=10;
②、针对string类型,用户直接输入变量名和赋值,用等号连接即可,系统会自动将输入值赋予string类型,如a变量赋值hello,则用户可写成a=“hello”,以英文的双引号标识;
③、针对bool类型,用户直接输入变量名和True或者False赋值,用等号连接即可,系统会自动将输入值赋予bool类型,如变量a赋值True,则用户可写成a=True;
④、针对map类型,用户对map类型的key值进行赋值,如一个map类型变量map_name键名为a,键值为b,则用户可写成map_name.a=b,则系统解析为map_name<a,b>;
⑤、针对list类型,用户对list类型的每个元素进行赋值,如一个list类型变量list_name有三个参数a、b、c,a、b、c均为int类型,则用户可写成list_name.a=1&list_name.b=2&list_name.c=3,则系统可解析为list_name=[1,2,3];
⑥、针对struct类型,用户对struct类型的每个元素进行赋值,如一个struct类型的变量struct_name有三个参数a、b、c,其中,a是int类型,b是string类型,c是struct类型,c中有一个元素c_a为int类型,则用户可以写成struct_name.a=1&struct_name.b=“hello”&struct.c.a=2,对应的系统可以将其解析为:
struct_name={}
struct.a=1
struct.b=“hello”
c={}
c.a=2
struct.c=c
用户输入的多个参数之间通过&符号进行连接,整体的测试参数数据构造就是一串文本化的字符连接,使用简单、方便、高效。
基于预先建立好的Thrift测试平台,本申请实施例提供一种接口测试脚本的生成方法,请参考图2,该方法包括:
S21:获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述服务及所述接口对应的目标依赖关系;
S23:接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成;
S25:基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本。
具体实施过程中,在S21之前可以先进行SVN更新:获取最新的Thrift文件,更新Thrift测试平台上的Thrift文件。若Thrift文件有更新,可进一步根据Thrift测试平台上的模块与包更新相应的依赖关系。
S21在获取目标依赖关系时,可以直接从Thrift测试平台上预先建立的依赖关系库中获取与用户选择的目标服务和目标接口对应的目标依赖关系。在获取到用户选择的目标服务及目标接口之后,还可以显示生成接口测试脚本所需的参数示例信息。该参数实例信息可以包括:参数名、参数文本格式、参数与参数之间的对应关系等,以供用户根据参数示例信息对应输入文本参数,进一步降低对用户的要求,提高接口测试脚本的生成效率。
用户完成文本参数输入后,可以进行触发脚本生成的操作,如点击平台上的执行case图标,平台在接收到用户的触发脚本生成的操作之后,执行S23接收用户输入的文本请求,按照预设的转换规则将用户输入的文本请求中的文本参数转换为Thrift协议内的结构体数据。若预设的转换规则以参数名和参数类型为参照,可以先获取用户输入的文本参数中的参数名对应的参数类型,根据预设的转换规则和对应的参数类型将该参数名对应的参数转换为Thrift协议内的结构体数据。
例如:假设用户输入的文本参数为:msg.a.b.e=XXX,对该文本参数的转换过程如下:
若预设的转换规则为:
1)符号“.”为一个结构;多个“.”,为多个层级下的结构;
2)list类型:“.+字母”,字母为结构体中的元素;“.+字母+数字”中数字是list元素的序号;
例如:a=[XX,YY],对应文本参数格式为:msg.a.0=XX,msg.a.1=YY;
3)map类型:a[e:f,m:n],对应文本参数格式为:msg.a.e=f&msg.a.m=n;
根据上述预设的转换规则可以判断msg.a.b.e=XXX为多个层级的结构,根据参数名“msg.a.b.e”可以判断该参数为map类型,最终可将其转换为map类型的结构体数据a[b[e:XXX]]。
在S23完成结构体数据的转换之后,进一步执行S25根据获取到的目标依赖关系和转换获得的结构体数据生成接口测试脚本。具体的,将转换获得结构体数据赋值给由目标依赖关系代码结合生成的接口测试脚本代码中的对应参数,以自动生成目标接口的完整的接口测试脚本。
具体实施过程中,在S25之后本实施例可以将生成的接口测试脚本作为测试脚本进行相应的接口和服务进行测试,然后将测试结果返回给用户,或者,对测试结果进行分析获得分析报告,将分析报告返回给用户。
在上述技术方案中,建立Thrift所有的服务与接口之间的对应关系,以及每个接口与服务之间的依赖关系之后,通过参数名和参数类型的一一对应,建立了相应的映射结构,使得用户只需按照预设的规则输入相应的参数名和参数值,即可通过平台自动生成接口测试脚本。进一步的,上述实施例还在参数输入框自动生成参数实例信息即参数模板,也就是生成一个对应此接口、此参数类型的case模板,用户可以在此基础上去修改,去完善,甚至可以直接使用,进一步降低了接口测试脚本编写对用户的要求,能够快速生成多个接口测试脚本,让人工编写接口测试脚本的过程由人工智能替代,让Thrift测试平台变成一个智能测试平台。
针对上述实施例提供一种接口测试脚本的生成方法,本申请实施例还对应提供一种接口测试脚本的生成装置,应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,请参考图3,该装置包括:
获取单元31,用于获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
转换单元32,用于接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成;
生成单元33,用于基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本。
作为一种可选的实施方式,所述装置还包括:显示单元34,用于在所述获取用户选择的目标服务与所述目标服务对应的目标接口之后,显示生成所述目标接口的接口测试脚本所需参数的参数示例信息。其中,所述参数示例信息包括:参数名、参数文本格式及参数与参数之间的对应关系。
作为一种可选的实施方式,所述转换单元32用于:获取所述文本参数中的参数名对应的参数类型,根据预设的转换规则和所述参数类型将所述参数名对应的参数转换为Thrift协议内的结构体数据。
作为一种可选的实施方式,所述装置还可以包括更新单元35,用于在所述获取用户选择的目标服务与所述目标服务对应的目标接口之前,获取最新的Thrift文件,更新所述Thrift测试平台上的Thrift文件。
作为一种可选的实施方式,所述装置还可以包括:构建单元36,用于构建所述Thrift测试平台,包括:建立每个服务与接口之间的对应关系,在平台界面上提供服务选择和接口选择界面;对每个接口和服务,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系;针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种用于实现接口测试脚本的生成方法的电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/展现(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个展现接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为展现和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于展现音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种接口测试脚本的生成方法,所述方法包括:获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成;基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制,以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种接口测试脚本的生成方法,其特征在于,应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,所述方法包括:
获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成,包括:获取所述文本参数中的参数名对应的参数类型,根据预设的转换规则和所述参数类型将所述参数名对应的参数转换为Thrift协议内的结构体数据;
基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本;
其中,在构建所述Thrift测试平台时,对每个接口和服务,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系;针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系。
2.如权利要求1所述的方法,其特征在于,在所述获取用户选择的目标服务与所述目标服务对应的目标接口之后,所述方法还包括:
显示生成所述目标接口的接口测试脚本所需参数的参数示例信息。
3.如权利要求2所述的方法,其特征在于,所述参数示例信息包括:
参数名、参数文本格式及参数与参数之间的对应关系。
4.如权利要求1~3任一所述的方法,其特征在于,在所述获取用户选择的目标服务与所述目标服务对应的目标接口之前,所述方法还包括:
获取最新的Thrift文件,更新所述Thrift测试平台上的Thrift文件。
5.如权利要求1~3任一所述的方法,其特征在于,所述方法还包括:构建所述Thrift测试平台,包括:
建立每个服务与接口之间的对应关系,在平台界面上提供服务选择和接口选择界面。
6.一种接口测试脚本的生成装置,其特征在于,应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,所述装置包括:
获取单元,用于获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
转换单元,用于接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成,包括:获取所述文本参数中的参数名对应的参数类型,根据预设的转换规则和所述参数类型将所述参数名对应的参数转换为Thrift协议内的结构体数据;
生成单元,用于基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本;
构建单元,用于在构建所述Thrift测试平台时,对每个接口和服务,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系;针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
显示单元,用于在所述获取用户选择的目标服务与所述目标服务对应的目标接口之后,显示生成所述目标接口的接口测试脚本所需参数的参数示例信息。
8.如权利要求7所述的装置,其特征在于,所述参数示例信息包括:
参数名、参数文本格式及参数与参数之间的对应关系。
9.如权利要求6~8任一所述的装置,其特征在于,所述装置还包括:
更新单元,用于在所述获取用户选择的目标服务与所述目标服务对应的目标接口之前,获取最新的Thrift文件,更新所述Thrift测试平台上的Thrift文件。
10.如权利要求6~8任一所述的装置,其特征在于,所述构建单元,用于构建所述Thrift测试平台,包括:
建立每个服务与接口之间的对应关系,在平台界面上提供服务选择和接口选择界面。
11.一种电子设备,其特征在于,应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,所述电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成,包括:获取所述文本参数中的参数名对应的参数类型,根据预设的转换规则和所述参数类型将所述参数名对应的参数转换为Thrift协议内的结构体数据;
基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本;
其中,在构建所述Thrift测试平台时,对每个接口和服务,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系;针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,应用于Thrift测试平台,所述Thrift测试平台上配置有Thrift中服务与接口之间的对应关系,以及接口与服务之间依赖关系,该程序被处理器执行时实现以下步骤:
获取用户选择的目标服务与所述目标服务对应的目标接口,并获取所述目标服务及所述目标接口对应的目标依赖关系;
接收用户输入的文本请求,并将所述文本请求包括的文本参数转换为Thrift协议内的结构体数据;其中,所述文本请求依据预设的文本参数与Thrift协议内的结构体数据之间的转换规则生成,包括:获取所述文本参数中的参数名对应的参数类型,根据预设的转换规则和所述参数类型将所述参数名对应的参数转换为Thrift协议内的结构体数据;
基于所述目标依赖关系及所述结构体数据,生成所述目标接口的接口测试脚本;
其中,在构建所述Thrift测试平台时,对每个接口和服务,生成每个接口与服务被调用时,接口测试脚本所需的依赖关系;针对每个接口和服务所需的每一个参数,建立参数名和相应的参数类型的对应关系。
CN201910072458.0A 2019-01-25 2019-01-25 一种接口测试脚本的生成方法、装置及电子设备 Active CN111488267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910072458.0A CN111488267B (zh) 2019-01-25 2019-01-25 一种接口测试脚本的生成方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910072458.0A CN111488267B (zh) 2019-01-25 2019-01-25 一种接口测试脚本的生成方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111488267A CN111488267A (zh) 2020-08-04
CN111488267B true CN111488267B (zh) 2024-03-12

Family

ID=71813582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910072458.0A Active CN111488267B (zh) 2019-01-25 2019-01-25 一种接口测试脚本的生成方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111488267B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285756B (zh) * 2020-09-17 2024-06-25 腾讯科技(深圳)有限公司 服务调用依赖关系分析方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN106250199A (zh) * 2016-07-26 2016-12-21 北京北森云计算股份有限公司 一种多语言云编译的动态微服务调用方法及装置
CN106919509A (zh) * 2017-03-09 2017-07-04 腾讯科技(深圳)有限公司 一种客户端生成方法、装置及电子设备
CN107608889A (zh) * 2017-09-15 2018-01-19 杭州销冠网络科技有限公司 一种测试脚本自动生成方法及系统
CN108540351A (zh) * 2018-04-20 2018-09-14 西北工业大学 分布式大数据服务的自动化测试方法
CN108628729A (zh) * 2017-03-15 2018-10-09 北京嘀嘀无限科技发展有限公司 一种软件测试方法和软件测试客户端
CN108874172A (zh) * 2017-05-12 2018-11-23 北京搜狗科技发展有限公司 输入方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080021918A1 (en) * 2005-12-23 2008-01-24 Rao Viswanatha H Enterprise service management unifier system
US10862784B2 (en) * 2011-10-04 2020-12-08 Electro Industries/Gauge Tech Systems and methods for processing meter information in a network of intelligent electronic devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN106250199A (zh) * 2016-07-26 2016-12-21 北京北森云计算股份有限公司 一种多语言云编译的动态微服务调用方法及装置
CN106919509A (zh) * 2017-03-09 2017-07-04 腾讯科技(深圳)有限公司 一种客户端生成方法、装置及电子设备
CN108628729A (zh) * 2017-03-15 2018-10-09 北京嘀嘀无限科技发展有限公司 一种软件测试方法和软件测试客户端
CN108874172A (zh) * 2017-05-12 2018-11-23 北京搜狗科技发展有限公司 输入方法和装置
CN107608889A (zh) * 2017-09-15 2018-01-19 杭州销冠网络科技有限公司 一种测试脚本自动生成方法及系统
CN108540351A (zh) * 2018-04-20 2018-09-14 西北工业大学 分布式大数据服务的自动化测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Thrift的入门简介;刘书楠;;青年与社会(第01期);全文 *
基于Thrift框架RPC的研究与实现;田翠珍;;信息与电脑(理论版)(第01期);全文 *

Also Published As

Publication number Publication date
CN111488267A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN107423106B (zh) 支持多框架语法的方法和装置
CN106339384B (zh) 存储过程的转换方法及装置
EP3416054A1 (en) Method and device for page display, and storage medium
CN111222637A (zh) 神经网络模型部署方法及装置、电子设备和存储介质
CN106547547B (zh) 数据采集方法及装置
CN114691115A (zh) 业务流程系统生成方法及装置、电子设备和存储介质
CN111061452A (zh) 用户界面的语音控制方法和装置
CN107463372B (zh) 一种数据驱动的页面更新方法和装置
CN110968362B (zh) 应用运行方法、装置及存储介质
CN113434134B (zh) 组件处理方法、装置、电子设备及存储介质
US11210449B2 (en) Page display method and device and storage medium
CN110704030A (zh) 接口配置信息生成方法、装置、电子设备及存储介质
CN111488267B (zh) 一种接口测试脚本的生成方法、装置及电子设备
CN105468606B (zh) 网页保存的方法及装置
CN106790683B (zh) 基于移动终端的网络数据显示方法及装置
CN111209195A (zh) 一种生成测试用例的方法及装置
CN113778398B (zh) 代码生成方法、装置、电子设备及存储介质
CN114025317B (zh) 多媒体资源的传播方法、装置、服务器、终端及存储介质
CN111667827B (zh) 应用程序的语音控制方法、装置及存储介质
CN114546436A (zh) 一种微前端服务更新方法、装置、电子设备及存储介质
CN111538544B (zh) 配置数据的显示方法、装置、电子设备及存储介质
CN115129325B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN116450534B (zh) 移动端应用程序的生成方法、装置、设备及介质
CN116777448A (zh) 多渠道支付配置方法、装置、电子设备、存储介质及车辆
CN113849208A (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