CN103326930B - 开放平台接口自动巡检方法和系统 - Google Patents

开放平台接口自动巡检方法和系统 Download PDF

Info

Publication number
CN103326930B
CN103326930B CN201310254309.9A CN201310254309A CN103326930B CN 103326930 B CN103326930 B CN 103326930B CN 201310254309 A CN201310254309 A CN 201310254309A CN 103326930 B CN103326930 B CN 103326930B
Authority
CN
China
Prior art keywords
url
open platform
information
platform interface
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
CN201310254309.9A
Other languages
English (en)
Other versions
CN103326930A (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.)
Poly Polytron Technologies Inc
Original Assignee
Qingdao Hisense Media 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 Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN201310254309.9A priority Critical patent/CN103326930B/zh
Publication of CN103326930A publication Critical patent/CN103326930A/zh
Application granted granted Critical
Publication of CN103326930B publication Critical patent/CN103326930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种开放平台接口自动巡检方法和系统,所述方法包括:对被巡检的开放平台接口的巡检脚本进行解析;根据所述巡检脚本的解析结果,按步骤编号的顺序依次执行各URL访问步骤;根据当前URL访问步骤的URL的拼接参数及方式,生成本步骤的待访问URL,并根据该URL进行远程访问,获取返回信息;对所述返回信息进行相应格式的解析处理,并根据输出方式从解析处理结果中获取输出参数的值;调用该URL访问步骤的验证方法名称所指示的方法,根据所述期望值对所述输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。该自动巡检方法减少了运营维护人员工作量,提高了工作效率。

Description

开放平台接口自动巡检方法和系统
技术领域
本发明涉及互联网领域,尤其涉及一种开放平台接口自动巡检方法和系统。
背景技术
随着互联网技术的发展,国内外的互联网正走向开放平台(OpenPlatform)时代。提供开放平台的有代表性的互联网站点有传统社交类网站,如开心网、校内网等,电子商务类如淘宝网等,微博类网站如新浪微博、腾讯微博等,即时通讯类如腾讯QQ等,工具类网站如百度地图、360安全卫士等。除了上述有代表性的网站,在垂直领域的互联网创业公司也开始对外提供开放平台接口,比如提供各个城市天气信息查询、空气细颗粒物PM2.5指数查询、团购信息查询的开放平台接口。
这些互联网开放平台都对外提供不同的OpenAPI(OpenApplicationProgrammingInterface,开放应用程序编程接口,简称开放平台接口),第三方的应用开发者可以通过在自己设计的应用程序中调用这些OpenAPI来向互联网用户提供更加丰富的功能。
如何为第三方的应用开发者提供高质量的开放平台接口是开放平台成功的关键。在实际运营维护工作中,有统计数据表明开放平台接口的运营数据变更、产品升级导致的部分接口调用方式变化、产生的遗漏缺陷等等,都会引起第三方的应用开发者调用开放平台接口失败。对接口调用失败的不良体验将会影响第三方使用者对开放平台接口的信心。因此,有必要对开放平台接口进行定期的巡检。
然而,目前开放平台的运营维护人员对开放平台接口的巡检都是通过人工完成,使得运营维护人员工作量大,且效率非常低下;因此,有必要提供一种可以自动巡检开放平台接口的方法。
发明内容
本发明的实施例提供了一种开放平台接口自动巡检方法和系统,用以自动巡检开放平台接口,减少运营维护人员工作量,提高工作效率。
根据本发明的一个方面,提供了一种开放平台接口自动巡检方法,包括:
对被巡检的开放平台接口的巡检脚本进行解析;所述巡检脚本中记载了为各URL访问步骤配置的步骤执行信息,包括:步骤编号、返回信息的格式、输出参数及输出方式、URL的拼接参数及拼接方式,以及步骤的验证信息;所述步骤的验证信息包括:验证方法名称和期望值;
根据所述巡检脚本的解析结果,按步骤编号的顺序依次执行各URL访问步骤;对于其中一个URL访问步骤的执行过程为:
根据该URL访问步骤的URL的拼接参数及方式,生成本步骤的待访问URL,并根据该URL进行远程访问,获取返回信息;
根据该URL访问步骤的返回信息的格式,对所述返回信息进行相应格式的解析处理,并根据所述输出方式从解析处理结果中获取输出参数的值;
调用该URL访问步骤的验证方法名称所指示的方法,根据所述期望值对所述输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
较佳地,所述URL访问步骤的URL的拼接参数等于前一URL访问步骤的输出参数。
较佳地,第1个URL访问步骤的URL的拼接参数具体为所述开放平台接口的URL。
较佳地,所述返回信息的格式包括:XML。
较佳地,所述输出参数为多个;以及所述步骤的验证信息为多个,用以对多个输出参数分别进行验证。
根据本发明的另一个方面,还提供了一种开放平台接口自动巡检系统,包括:
脚本解析模块,用于对被巡检的开放平台接口的巡检脚本进行解析;所述巡检脚本中记载了为各URL访问步骤配置的步骤执行信息,包括:步骤编号、返回信息的格式、输出参数及输出方式、URL的拼接参数及拼接方式,以及步骤的验证信息;所述步骤的验证信息包括:验证方法名称和期望值;
脚本执行模块,用于根据所述脚本解析模块对所述巡检脚本的解析结果,按步骤编号的顺序依次执行各URL访问步骤;对于其中一个URL访问步骤的执行过程为:
所述脚本执行模块根据该URL访问步骤的URL的拼接参数及方式,生成本步骤的待访问URL,并根据该URL进行远程访问,获取返回信息;
所述脚本执行模块根据该URL访问步骤的返回信息的格式,对所述返回信息进行相应格式的解析处理,并根据所述输出方式从解析处理结果中获取输出参数的值;
所述脚本执行模块调用该URL访问步骤的验证方法名称所指示的方法,根据所述期望值对所述输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
其中,所述脚本执行模块具体包括:
URL确定单元,用于根据所述脚本解析模块对所述巡检脚本的解析结果,按步骤编号的顺序依次确定各URL访问步骤的待访问URL:对于当前处理的URL访问步骤,所述脚本执行模块根据该URL访问步骤的URL的拼接参数及方式,生成该步骤的待访问URL;
URL访问单元,用于根据所述URL确定单元生成的待访问URL,进行远程访问,获取返回信息;
返回信息解析单元,用于根据所述当前处理的URL访问步骤的返回信息的格式,对所述返回信息进行相应格式的解析处理,并根据所述当前处理的URL访问步骤的输出方式从解析处理结果中获取输出参数的值进行输出;
验证单元,用于调用所述当前处理的URL访问步骤的验证方法名称所指示的方法,根据所述当前处理的URL访问步骤的期望值对所述返回信息解析单元输出的输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
进一步,所述开放平台接口自动巡检系统还包括:
调度模块,用于根据各开放平台接口的巡检频度信息,以及同巡检频度信息的开放平台接口的执行顺序,确定出当前的被巡检的开放平台接口;以及
所述脚本解析模块具体用于根据所述调度模块确定出的当前的被巡检的开放平台接口,对所述被巡检的开放平台接口的巡检脚本进行解析。
进一步,所述开放平台接口自动巡检系统还包括:
配置模块,用于接收运维人员针对每个开放平台接口,为其配置的各URL访问步骤的步骤执行信息,并生成该开放平台接口的巡检脚本;并接收运维人员针对每个开放平台接口,为其配置的巡检频度信息和执行顺序;
存储模块,用于存储所述配置模块生成的各开放平台接口的巡检脚本;以及
所述调度模块还用于从所述配置模块获取各开放平台接口的巡检频度信息和执行顺序进行存储。
进一步,所述开放平台接口自动巡检系统还包括:预警模块;以及
所述配置模块还用于接收运维人员针对每个开放平台接口,为其配置的预警信息发送方式和发送人员信息存储到所述存储模块;以及
所述预警模块用于接收到所述脚本执行模块输出的开放平台接口调用失败预警信息后,从所述存储模块获取所述被巡检的开放平台接口的预警信息发送方式和发送人员信息;并根据获取的信息发送所述开放平台接口调用失败预警信息。
本发明实施例的技术方案中,将对开放平台接口的巡检任务分解为若干个URL访问步骤,通过在脚本中为各URL访问步骤配置步骤执行信息,并通过解析与自动执行解析结果的机制实现自动执行URL访问步骤,并对返回结果进行自动检验;如此,实现了自动巡检开放平台接口,减少运营维护人员工作量,提高工作效率。
附图说明
图1为本发明实施例的开放平台接口自动巡检的方法流程图;
图2为本发明实施例的开放平台接口自动巡检系统的内部结构框图;
图3为本发明实施例的脚本执行模块的内部结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
本发明的发明人发现在巡检时,使用开放平台接口的URL(UniformResourceLocator,统一资源定位符)调用开放平台接口,开放平台接口执行相应的操作,以实现某些功能,或返回某些信息;运营维护人员主要是验证调用开放平台接口后,相应的功能是否实现了:比如,一个开放平台接口share/qq_share,其功能是将内容同步到qq空间;那么,第三方的微博应用开发者可以利用该开放平台接口share/qq_share,实现将用户发布的微博内容同步到该用户的qq空间的功能。那么,对该开放平台接口share/qq_share进行巡检时,运营维护人员使用该开放平台接口的URL:share/qq_share,访问该开放平台接口后,再访问相应用户的qq空间,验证该qq空间中是否同步了相关内容。
或者,运营维护人员验证调用开放平台接口后,返回的信息是否正确:比如,一个开放平台接口user/get_user_info,其功能是返回用户空间个人资料;那么,对该开放平台接口user/get_user_info进行巡检时,运营维护人员使用该开放平台接口的URL:user/get_user_info,访问该开放平台接口后,验证返回的信息是否包含了用户空间个人资料。
本发明的发明人考虑到,开放平台接口的巡检过程,通常包括开放平台接口的调用过程,以及对开放平台接口实现的功能进行验证的过程;
其中,开放平台接口的调用过程,通常是对开放平台接口的URL的访问过程;
对开放平台接口实现的功能进行验证的过程,可以是对某些网页中的内容进行验证的过程,该过程包括对某些网页的URL的访问过程,以及对返回的网页内容进行验证的过程;
或者,对开放平台接口实现的功能进行验证的过程,可以是对某些URL请求所返回的信息进行验证的过程。
因此,开放平台接口的巡检过程,可以转化为包括若干个远程URL访问的步骤,以及对访问URL后获得的返回结果进行验证的过程;由此,本发明的发明人考虑到可以为开放平台接口编写巡检脚本,利用一套可以对巡检脚本进行自动解析、根据解析出的每个步骤中的信息自动执行相应操作进行远程URL访问,并对访问URL后获得的返回结果进行验证的系统,以实现对开放平台接口的自动调用,并自动验证调用该开放平台接口后的执行结果,从而自动判断出该开放平台接口是否调用失败,在判断出开放平台接口调用失败的情况下,自动发送报警信息;从而实现对开放平台接口的自动巡检,不用再以人工的方式检验开放平台接口是否可以成功调用,减少了运营维护人员工作量,提高了工作效率。
下面结合附图详细说明本发明实施例的技术方案。
本发明实施例的技术方案中,在对开放平台接口进行自动巡检前,需要先根据该开放平台接口实现的业务(即实现的功能),确定出对该开放平台接口进行巡检时,依次需要执行的URL访问步骤,以及每个访问步骤中URL的拼接方式,以及每个访问步骤执行后返回的信息的验证处理方式。
之后,本发明实施例提供的开放平台接口进行自动巡检系统可以为运营维护人员(简称运维人员)提供巡检脚本的配置界面;通过配置界面,运维人员可以依次输入各URL访问步骤的步骤执行信息;
一个URL访问步骤的步骤执行信息可以包括:步骤编号(index)、返回信息的格式(type)、输出参数及输出方式、步骤名称(name)、URL的拼接参数及方式,以及步骤的验证信息。
事实上,如何对步骤的执行结果进行验证,也是实现开放平台接口自动巡检的一个关键;而不同的开放平台接口,可能会有不同的验证需求。例如,对于某些开放平台接口调用后,需要验证某个特定URL的网页中是否存在某个页面元素;而有些开放平台接口调用后,需要验证返回的文本中是否包含特定的字符串。
不同的验证需求可以通过不同的功能函数来实现。例如,对于验证控件是否存在的验证需求,以开放源代码的自动化测试工具Selenium为例,可调用的方法包括如下:
isElementPresent(Stringarg0),用于判断某个页面元素是否存在;
isAlertPresent(Stringarg0),用于判断某个提示对话框是否存在;
对于字符串的验证需求,则可以利用JUnit(Java语言的单元测试框架)的assertThat断言语法,其可调用的方法包括如下:
assertThat(testedString,containsString("期待值")),用于判断字符串是否包含;
assertThat(testedString,endsWith("后缀")),用于判断字符串是否包含某个后缀;
因此,上述的步骤的验证信息可以包括:验证方法名称,以及期望值;进一步,步骤的验证信息还可包括:重试次数设定值、验证点类别、验证对象的定位信息;进一步,步骤的验证信息还可包括:验证工具信息。
例如,对于一个开放平台接口生成的巡检脚本如下所示:
上述的开放平台接口生成的巡检脚本中,包括3个URL访问步骤,各URL访问步骤的配置信息,包括步骤执行信息和验证信息,以<STEP></STEP>标签标示出来,即一对<STEP></STEP>标签中的信息为一个URL访问步骤的配置信息。
上述的巡检脚本的第1个URL访问步骤的步骤执行信息中,index="1"表示步骤编号为1;type="Type.URLText",表示返回信息的格式为文本字符串;<URL-REF>URLhttp://192.168.1.100/openapi/boxinit</URL-REF>表示URL的拼接参数及方式,具体为上述开放平台接口的URL;<OutVarkey="#1">status1</OutVar>和<OutVarkey="#3">rootsource</OutVar>表示输出参数及输出方式,其中,OutVar元素用于保存返回值的特定项,status1用于保存返回值第一项的状态值,rootsource变量用于保存返回值第三项;name="接入系统初始化认证",表示步骤名称为接入系统初始化认证;步骤的验证信息具体包括:ASSERT(断言)标签标示验证点类别,表明该验证点类别为断言类别,METHOD(方法)标签标示验证方法名称,表明该验证方法名称为equalToIgnoringCase,用于判断两个字符串数据是否相等,ARGUMENT(参数)标签标示期望值,为"0",actual(实际值)标签标示验证对象的定位信息,为"%status1%",即验证对象为输出参数中的status1。type(类型)标签标示验证工具信息,为"assertThat",表示使用JUnitassertThat断言语义工具进行验证。
上述的巡检脚本的第2个URL访问步骤的步骤执行信息中,index="2"表示步骤编号为2,type="Type.URLXML",表示返回信息的格式为XML(ExtensibleMarkupLanguage,可扩展标记语言)格式的文档;<URL-REF>%rootsource%</URL-REF>表示URL的拼接参数及方式,具体为步骤1的输出变量rootsource的值,用%rootsource%获取变量值;<OutVarxpath="/source/new_ch[name='新闻']">News</OutVar>和<OutVarxpath="/source/new_ch[name='体育']">Sports</OutVar>表示输出参数及输出方式,其中,OutVar元素用于保存返回值的特定项,变量News用于保存获取的新闻服务的URL地址,变量Sports用于保存获取的体育服务的URL地址,和普通文本字符串不同的是,对于XML格式的文本,使用XPATH(XMLPathLanguage的缩写,即XML路径语言)为OutVar元素定位元素;name="获取服务列表",表示步骤名称为获取服务列表;步骤的验证信息具体包括:本步骤包含两个ASSERT验证部分,ASSERT(断言)标签标示验证点类别,表明该验证点类别为断言类别,METHOD(方法)标签标示验证方法名称,表明该验证方法名称为containsString,用于判断字符串是否包含,ARGUMENT(参数)标签标示期望值,分别为"hisense/news.xml"和"hisense/sports.xml",actual(实际值)标签标示验证对象的定位信息,分别为"%News%"和"%Sports%",指示出验证对象在显示页面中的定位信息,type(类型)标签标示验证工具信息,为"assertThat",表示使用JUnitassertThat断言语义工具进行验证。
上述的巡检脚本的第3个URL访问步骤的步骤执行信息中,index="3"表示步骤编号为3,type="Type.URLXML",表示返回信息的格式为XML格式的文档,<URL-REF>%News%</URL-REF>表示URL的拼接参数及方式,具体为来自步骤2的输出变量News,用%News%获取变量值;<OutVarxpath="//channel/link">links_News</OutVar>表示输出参数及输出方式,其中,OutVar元素用于保存返回值的特定项,变量links_News用于保存获取的新闻服务的URL地址;name="查看服务、查看新浪新闻",表示步骤名称为查看服务、查看新浪新闻;步骤的验证信息具体包括:ASSERT(断言)标签标示验证点类别,表明该验证点类别为断言类别,METHOD(方法)标签标示验证方法名称,表明该验证方法名称为containsString,用于判断字符串是否包含,ARGUMENT(参数)标签标示期望值,为"news.sina.com.cn",actual(实际值)标签标示验证对象的定位信息,为"%links_News%",指示出验证对象在显示页面中的定位信息,type(类型)标签标示验证工具信息,为"assertThat",表示使用JUnitassertThat断言语义工具进行验证。
依据上述的巡检脚本,本发明实施例提供的开放平台接口的自动巡检系统进行自动巡检的具体方法流程,如图1所示,包括如下步骤:
S101:对被巡检的开放平台接口的巡检脚本进行解析。
具体地,被巡检的开放平台接口的巡检脚本中记载了为各URL访问步骤配置的步骤执行信息,包括:步骤编号、返回信息的格式、输出参数及输出方式、URL的拼接参数及拼接方式,以及步骤的验证信息;
对被巡检的开放平台接口的巡检脚本进行解析,从中解析出为各URL访问步骤配置的步骤执行信息,以及为所述各URL访问步骤中的需验证步骤配置的步骤验证信息,作为解析结果。
S102:根据巡检脚本的解析结果,确定URL访问步骤的总数n,令步骤执行序号i=1后,开始顺序依次执行各URL访问步骤。
具体地,在上述步骤S101得到被巡检的开放平台接口的巡检脚本的解析结果后,本步骤中统计解析结果中URL访问步骤的总数n,在依次执行各URL访问步骤之前,令步骤执行序号i=1。
S103:根据第i个URL访问步骤的URL的拼接参数及方式,生成第i个URL访问步骤的待访问URL。
例如,在i=1时,根据上述巡检脚本示例的第1个URL访问步骤的URL的拼接参数及方式:
<URL-REF>http://192.168.1.100/openapi/boxinit</URL-REF>,
得到第1个URL访问步骤的待访问的URL:
http://192.168.1.100/openapi/boxinit;该URL为被巡检的开放平台接口的URL。
再如,在i=2时,根据上述巡检脚本示例的第2个URL访问步骤的URL的拼接参数及方式:
<URL-REF>%rootsource%</URL-REF>,
可以确定第2个URL访问步骤的待访问的URL为第1个URL访问步骤的输出参数rootsource的值;换言之,第1个URL访问步骤的输出参数rootsource为第2个URL访问步骤的URL的拼接参数;根据第1个URL访问步骤的输出参数rootsource的值得到第2个URL访问步骤的待访问的URL。
对于使用多个拼接参数最终拼接成待访问的URL的情况,<URL-REF>与</URL-REF>之间的信息还可以包括这些拼接参数的拼接方式的信息。比如,rootsource1+rootsource2,表示将rootsource2的值拼接在rootsource1的值的后面得到待访问的URL。
S104:根据第i个URL访问步骤的待访问URL,进行远程访问,获取返回信息。
具体地,使用第i个URL访问步骤的待访问URL进行远程访问,获取第i个URL访问步骤的返回信息。
S105:根据第i个URL访问步骤的返回信息的格式,对返回信息进行相应格式的解析处理,并根据输出方式从解析处理结果中获取输出参数的值。
例如,在i=2时,根据上述巡检脚本示例的第2个URL访问步骤中的、表示返回信息的格式是XML格式文档的type="Type.URLXML",对返回信息进行解析;根据上述巡检脚本示例的第2个URL访问步骤中的输出方式以及输出参数,分别通过使用XPATH(XMLPathLanguage,XML路径语言)语法获取输出参数News的值,如:<OutVarxpath="/source/new_ch[name='新闻']">News</OutVar>中,输出变量News的值可通过使用XPATH查询语法"/source/new_ch[name='新闻']"获取。
S106:调用该第i个URL访问步骤的验证方法名称所指示的方法,根据期望值对输出参数的值进行验证;若验证结果为失败,则输出开放平台接口调用失败预警信息。
例如,在i=1时,根据上述巡检脚本示例的第1个URL访问步骤的步骤的验证信息进行验证的过程:根据ASSERT验证部分中验证方法名称调用由equalToIgnoringCase指示的方法,向该方法中传入期望值“0”,以及验证对象的定位信息"status1";该方法在根据"status1"定位到页面上的验证对象后,获取验证对象的值;若验证对象的值与期望值一致,则继续执行下一步骤操作;否则,输出开放平台接口调用失败预警信息。
再如,在i=2时,根据上述巡检脚本示例的第2个URL访问步骤的步骤的验证信息进行验证的过程:本步骤包含两个ASSERT验证部分,首先根据第一个ASSERT验证部分中验证方法名称containsString所指示的方法,向该方法中传入期望值"hisense/news.xml",以及验证对象的定位信息"News";该方法在根据"News"定位到页面上的验证对象后,获取验证对象的值;若验证对象的值与期望值一致,则继续第二个ASSERT验证部分,调用由containsString指示的方法,向该方法中传入期望值"hisense/sports.xml",以及验证对象的定位信息"Sports";该方法在根据"Sports"定位到页面上的验证对象后,获取验证对象的值;若验证对象的值与期望值一致,则继续执行下一步骤操作;否则,输出开放平台接口调用失败预警信息。
S107:判断i是否大于等于n;若是,执行步骤S108结束对被巡检的开放平台接口的本次巡检;否则,令i=i+1后,跳转到步骤S103进行下个URL访问步骤的执行。
S108:结束对被巡检的开放平台接口的本次巡检。
基于上述的方法,本发明实施例提供的一种开放平台接口自动巡检系统,如图2所示,包括:脚本解析模块201和脚本执行模块202。
脚本解析模块201用于对被巡检的开放平台接口的巡检脚本进行解析;所述巡检脚本中记载了为各URL访问步骤配置的步骤执行信息,包括:步骤编号、返回信息的格式、输出参数及输出方式、URL的拼接参数及拼接方式,以及步骤的验证信息;所述步骤的验证信息包括:验证方法名称和期望值。
脚本执行模块202用于根据脚本解析模块201对所述巡检脚本的解析结果,按步骤编号的顺序依次执行各URL访问步骤;对于其中一个URL访问步骤的执行过程为:
脚本执行模块202根据该URL访问步骤的URL的拼接参数及方式,生成本步骤的待访问URL,并根据该URL进行远程访问,获取返回信息;
脚本执行模块202根据该URL访问步骤的返回信息的格式,对所述返回信息进行相应格式的解析处理,并根据所述输出方式从解析处理结果中获取输出参数的值;
脚本执行模块202调用该URL访问步骤的验证方法名称所指示的方法,根据所述期望值对所述输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
上述的脚本执行模块202中的内部结构框图如图3所示,具体包括:URL确定单元301、URL访问单元302、返回信息解析单元303和验证单元304。
URL确定单元301用于根据脚本解析模块202对所述巡检脚本的解析结果,按步骤编号的顺序依次确定各URL访问步骤的待访问URL:对于当前处理的URL访问步骤,脚本执行模块202根据该URL访问步骤的URL的拼接参数及方式,生成该步骤的待访问URL。
URL访问单元302用于根据URL确定单元301生成的待访问URL,进行远程访问,获取返回信息。
返回信息解析单元303用于根据所述当前处理的URL访问步骤的返回信息的格式,对URL访问单元302获取的返回信息进行相应格式的解析处理,并根据所述当前处理的URL访问步骤的输出方式从解析处理结果中获取输出参数的值进行输出。
验证单元304用于调用所述当前处理的URL访问步骤的验证方法名称所指示的方法,根据所述当前处理的URL访问步骤的期望值对返回信息解析单元303输出的输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
进一步,上述开放平台接口自动巡检系统,如图2所示,还包括:调度模块203。
调度模块203用于根据各开放平台接口的巡检频度信息以及同巡检频度信息的各开放平台接口的执行顺序,确定出当前的被巡检的开放平台接口。所述各开放平台接口的巡检频度信息可以是运维人员根据各开放平台接口的重要程度,对各开放平台接口分级,如分为重要、中等、不重要的级别分别作为各开放平台接口的巡检频度信息;调度模块203对不同重要程度的开放平台接口,定时巡检频度不一致。比如重要级别的巡检脚本每6小时自动化运行一次;中等重要级别的巡检脚本每12小时运行一次;不重要级别的巡检用例每24小时运行一次。对于同巡检频度信息的各开放平台接口,运维人员可以根据实际情况为其设置执行顺序;调度模块203依据对应巡检频度信息的巡检频度进行巡检,对于巡检频度信息相同的开放平台接口,则依据执行顺序依次将各开放平台接口确定为当前的被巡检的开放平台接口,进行巡检。
上述脚本解析模块201具体用于根据调度模块203确定出的当前的被巡检的开放平台接口,对所述被巡检的开放平台接口的巡检脚本进行解析。
进一步,上述开放平台接口自动巡检系统,如图2所示,还包括:配置模块204、存储模块205。
配置模块204用于接收运维人员针对每个开放平台接口,为其配置的各URL访问步骤的步骤执行信息,并生成该开放平台接口的巡检脚本;并接收运维人员针对每个开放平台接口,为其配置的巡检频度信息和执行顺序。
存储模块205用于存储配置模块204生成的各开放平台接口的巡检脚本;以及
调度模块203还用于从配置模块204获取各开放平台接口的巡检频度信息和执行顺序进行存储。
进一步,上述开放平台接口自动巡检系统,如图2所示,还包括:预警模块206;以及
配置模块204还用于接收运维人员针对每个开放平台接口,为其配置的预警信息发送方式和发送人员信息存储到所述存储模块205;以及
预警模块206用于接收到脚本执行模块202输出的开放平台接口调用失败预警信息后,从存储模块205获取所述被巡检的开放平台接口的预警信息发送方式和发送人员信息;并根据获取的信息发送所述开放平台接口调用失败预警信息。
本发明实施例的技术方案中,将对开放平台接口的巡检任务分解为若干个URL访问步骤,通过在脚本中为各URL访问步骤配置步骤执行信息,并通过解析与自动执行解析结果的机制实现自动执行URL访问步骤,并对返回结果进行自动检验;如此,实现了自动巡检开放平台接口,减少运营维护人员工作量,提高工作效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种开放平台接口自动巡检方法,包括:
对被巡检的开放平台接口的巡检脚本进行解析;所述巡检脚本中记载了为各URL访问步骤配置的步骤执行信息,以及为所述各URL访问步骤中的需验证步骤配置的步骤验证信息;其中,步骤执行信息包括:步骤编号、返回信息的格式、输出参数及输出方式、URL的拼接参数及拼接方式;所述步骤的验证信息包括:验证方法名称和期望值;
根据所述巡检脚本的解析结果,按步骤编号的顺序依次执行各URL访问步骤;对于其中一个URL访问步骤的执行过程为:
根据该URL访问步骤的URL的拼接参数及方式,生成本步骤的待访问URL,并根据该URL进行远程访问,获取返回信息;
根据该URL访问步骤的返回信息的格式,对所述返回信息进行相应格式的解析处理,并根据所述输出方式从解析处理结果中获取输出参数的值;
调用该URL访问步骤的验证方法名称所指示的方法,根据所述期望值对所述输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
2.如权利要求1所述的方法,其特征在于,所述URL访问步骤的URL的拼接参数等于前一URL访问步骤的输出参数。
3.如权利要求1所述的方法,其特征在于,第1个URL访问步骤的URL的拼接参数具体为所述开放平台接口的URL。
4.如权利要求1所述的方法,其特征在于,所述返回信息的格式包括:XML。
5.如权利要求1所述的方法,其特征在于,所述输出参数为多个;以及所述步骤的验证信息为多个,用以对多个输出参数分别进行验证。
6.一种开放平台接口自动巡检系统,包括:
脚本解析模块,用于对被巡检的开放平台接口的巡检脚本进行解析;所述巡检脚本中记载了为各URL访问步骤配置的步骤执行信息,以及为所述各URL访问步骤中的需验证步骤配置的步骤验证信息;其中,步骤执行信息包括:步骤编号、返回信息的格式、输出参数及输出方式、URL的拼接参数及拼接方式;所述步骤的验证信息包括:验证方法名称和期望值;
脚本执行模块,用于根据所述脚本解析模块对所述巡检脚本的解析结果,按步骤编号的顺序依次执行各URL访问步骤;对于其中一个URL访问步骤的执行过程为:
所述脚本执行模块根据该URL访问步骤的URL的拼接参数及方式,生成本步骤的待访问URL,并根据该URL进行远程访问,获取返回信息;
所述脚本执行模块根据该URL访问步骤的返回信息的格式,对所述返回信息进行相应格式的解析处理,并根据所述输出方式从解析处理结果中获取输出参数的值;
所述脚本执行模块调用该URL访问步骤的验证方法名称所指示的方法,根据所述期望值对所述输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
7.如权利要求6所述的系统,其特征在于,所述脚本执行模块具体包括:
URL确定单元,用于根据所述脚本解析模块对所述巡检脚本的解析结果,按步骤编号的顺序依次确定各URL访问步骤的待访问URL:对于当前处理的URL访问步骤,所述脚本执行模块根据该URL访问步骤的URL的拼接参数及方式,生成该步骤的待访问URL;
URL访问单元,用于根据所述URL确定单元生成的待访问URL,进行远程访问,获取返回信息;
返回信息解析单元,用于根据所述当前处理的URL访问步骤的返回信息的格式,对所述返回信息进行相应格式的解析处理,并根据所述当前处理的URL访问步骤的输出方式从解析处理结果中获取输出参数的值进行输出;
验证单元,用于调用所述当前处理的URL访问步骤的验证方法名称所指示的方法,根据所述当前处理的URL访问步骤的期望值对所述返回信息解析单元输出的输出参数的值进行验证;若验证结果为失败,则输出所述开放平台接口调用失败预警信息。
8.如权利要求7所述的系统,其特征在于,还包括:
调度模块,用于根据各开放平台接口的巡检频度信息,以及同巡检频度信息的开放平台接口的执行顺序,确定出当前的被巡检的开放平台接口;以及
所述脚本解析模块具体用于根据所述调度模块确定出的当前的被巡检的开放平台接口,对所述被巡检的开放平台接口的巡检脚本进行解析。
9.如权利要求8所述的系统,其特征在于,还包括:
配置模块,用于接收运维人员针对每个开放平台接口,为其配置的各URL访问步骤的步骤执行信息,并生成该开放平台接口的巡检脚本;并接收运维人员针对每个开放平台接口,为其配置的巡检频度信息和执行顺序;
存储模块,用于存储所述配置模块生成的各开放平台接口的巡检脚本;以及
所述调度模块还用于从所述配置模块获取各开放平台接口的巡检频度信息和执行顺序进行存储。
10.如权利要求9所述的系统,其特征在于,还包括:预警模块;以及
所述配置模块还用于接收运维人员针对每个开放平台接口,为其配置的预警信息发送方式和发送人员信息存储到所述存储模块;以及
所述预警模块用于接收到所述脚本执行模块输出的开放平台接口调用失败预警信息后,从所述存储模块获取所述被巡检的开放平台接口的预警信息发送方式和发送人员信息;并根据获取的信息发送所述开放平台接口调用失败预警信息。
CN201310254309.9A 2013-06-24 2013-06-24 开放平台接口自动巡检方法和系统 Active CN103326930B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310254309.9A CN103326930B (zh) 2013-06-24 2013-06-24 开放平台接口自动巡检方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310254309.9A CN103326930B (zh) 2013-06-24 2013-06-24 开放平台接口自动巡检方法和系统

Publications (2)

Publication Number Publication Date
CN103326930A CN103326930A (zh) 2013-09-25
CN103326930B true CN103326930B (zh) 2016-05-25

Family

ID=49195470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310254309.9A Active CN103326930B (zh) 2013-06-24 2013-06-24 开放平台接口自动巡检方法和系统

Country Status (1)

Country Link
CN (1) CN103326930B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579830B (zh) * 2014-12-25 2018-05-25 小米科技有限责任公司 服务监控方法及装置
CN104598348B (zh) * 2015-02-28 2018-07-13 南京途牛科技有限公司 一种远程实时分析外部系统接口性能的方法及系统
CN106301995A (zh) * 2015-06-24 2017-01-04 北京京东尚科信息技术有限公司 一种自动检测接口服务异常的方法和装置
EP3433830A4 (en) * 2016-03-21 2019-12-04 National ICT Australia Limited BUSINESS PROCESS EXECUTION ON A BLOCK CHAIN PLATFORM
CN108845912B (zh) * 2018-06-11 2019-08-06 掌阅科技股份有限公司 服务接口调用故障的报警方法及计算设备
CN112330180A (zh) * 2020-11-17 2021-02-05 深圳市智象科技有限公司 一种灵活配置的自动作业系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193007A (zh) * 2006-11-28 2008-06-04 国际商业机器公司 统一资源定位符命令测试方法、场景测试方法和相应设备
CN102981958A (zh) * 2012-12-19 2013-03-20 青岛海信传媒网络技术有限公司 软件测试方法和测试装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193007A (zh) * 2006-11-28 2008-06-04 国际商业机器公司 统一资源定位符命令测试方法、场景测试方法和相应设备
CN102981958A (zh) * 2012-12-19 2013-03-20 青岛海信传媒网络技术有限公司 软件测试方法和测试装置

Also Published As

Publication number Publication date
CN103326930A (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
Zheng et al. Xblock-eth: Extracting and exploring blockchain data from ethereum
CN103326930B (zh) 开放平台接口自动巡检方法和系统
Qu et al. Autocog: Measuring the description-to-permission fidelity in android applications
CN110309071B (zh) 测试代码的生成方法及模块、测试方法及系统
CN103049271B (zh) 自动生成api接口的描述文档的方法和装置
CN108563768A (zh) 不同数据模型的数据转换方法、装置、设备及存储介质
CN107133174A (zh) 测试用例代码自动生成装置与方法
CN107451068A (zh) 用例运行方法、装置、计算设备及存储介质
US20150106663A1 (en) Hash labeling of logging messages
CN109726105A (zh) 测试数据构造方法、装置、设备及存储介质
US10572371B2 (en) Generating valid use cases from a parsed configuration file describing use case options
CN110515827A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN104572463A (zh) 测试接口信息的方法及装置
CN108074033A (zh) 指标数据的处理方法、系统、电子设备和存储介质
US11935536B2 (en) Action validation for digital assistant-based applications
CN101819551A (zh) 记录企业信息系统的服务交互数据的方法和系统
CN108460068A (zh) 报表导入导出的方法、装置、存储介质及终端
CN110020358A (zh) 用于生成动态页面的方法和装置
Agarwal et al. Vulnerability and transaction behavior based detection of malicious smart contracts
CN106649110B (zh) 软件测试方法及系统
CN109446042A (zh) 一种用于智能用电设备的日志管理方法及系统
CN105824647A (zh) 一种表单页面生成方法和装置
CN111176660A (zh) 一种面向分布式架构的微服务契约管理方法、装置、计算机设备、和可读存储介质
CN113435862B (zh) 基于邮箱的票据处理方法及装置
CN106201859A (zh) 一种回归测试方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170123

Address after: 266100 Shandong Province, Qingdao city Laoshan District Songling Road No. 399

Patentee after: Poly Polytron Technologies Inc

Address before: 266061 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131

Patentee before: Hisense Media Networks Co., Ltd.