自动化测试时客户端与服务端的数据库同步方法及系统技术方案

技术编号:14817536 阅读:39 留言:0更新日期:2017-03-15 11:41
本发明专利技术公开了一种自动化测试时客户端与服务端的数据库同步方法及系统,涉及应用程序的自动化测试领域。该方法的步骤为:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息获取请求;客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地的数据库版本的值时,客户端根据数据库下载地址,下载服务端上的数据库文件。本发明专利技术能够提高自动化测试的测试效率,降低测试成本,非常便于人们使用,适于推广。

【技术实现步骤摘要】

本专利技术涉及应用程序的自动化测试领域,具体涉及一种自动化测试时客户端与服务端的数据库同步方法及系统
技术介绍
在应用程序的自动化测试过程中,测试规则由服务端端定义,在客户端(例如手机、平板电脑等)上按照相关规则进行自动化测试。每次进行自动化测试时,客户端均需要从服务端上下载最新的数据库文件,下载完成之后需要校验整个数据库文件是否正确。但是,客户端每次从服务端上载最新的数据库文件时,不仅所需时间较长,降低了测试效率,而且所需的网络流量较大,提高了测试成本;与此同时,校验整个数据库文件是否正确所需的时间也较长,而且占用的内存较大,进而使得测试效率更为低下。
技术实现思路
针对现有技术中存在的缺陷,本专利技术解决的技术问题为:在自动化测试时检测客户端本地的数据库版本是否与服务端相同,通过字符串校验服务端返回的数据库信息。本专利技术能够提高自动化测试的测试效率,降低测试成本,非常便于人们使用,适于推广。为达到以上目的,本专利技术提供的自动化测试时客户端与服务端的数据库同步方法,包括以下步骤:S1:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息获取请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、MD5校验值和数据库大小,转到S2;S2:客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地的数据库版本的值时,转到S3;S3:客户端根据S2中解析得到的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若是,则证明下载失败,否则证明下载成功。本专利技术提供的实现上述方法的自动化测试时客户端与服务端的数据库同步系统,包括位于客户端上的数据库信息获取模块、数据库版本检测模块和本地数据库更新模块;数据库信息获取模块用于:当应用程序在客户端上进行自动化测试时,向服务端发起数据库信息获取请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、MD5校验值和数据库大小;数据库版本检测模块用于:获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地的数据库版本的值时,向本地数据库更新模块发送本地数据库更新信号;本地数据库更新模块用于:收到本地数据库更新信号后,根据数据库版本检测模块解析的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若是,则证明下载失败,否则证明下载成功。与现有技术相比,本专利技术的优点在于:本专利技术在每次进行自动化测试时,会先让客户端从服务端上获取数据库信息,以确定客户端上的数据库版本是否需要更新。与现有技术中每次下载最新的数据库文件相比,本专利技术的数据库信息仅包括数据库的标示参数(版本、大小、MD5校验值等),其下载所需的网络流量非常小,下载速度也较快,因此不仅降低了测试成本,也提高了测试效率。与此同时,本专利技术校验服务端返回的数据库信息时,能够将数据库信息中的数据库版本、数据库文件大小和数据库名称组成字符串,并以该字符串生成本地MD5校验码与数据库信息中的MD5校验值进行比对。与现有技术中校验整个数据库文件相比,本专利技术以字符串生成的本地MD5校验码较小,校验时所需的时间较少,占用的内存较小,即校验过程非常快,进一步提高了测试效率。附图说明图1为本专利技术实施例中自动化测试时客户端与服务端的数据库同步方法的流程图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。参见图1所示,本专利技术实施例中的自动化测试时客户端与服务端的数据库同步方法,包括以下步骤:S1:当应用程序在客户端上进行自动化测试时,客户端调用应用接口地址(http://27.17.8.110:8989/auto_server/db.php),向服务端发起数据库信息获取请求,数据库信息获包括数据库版本和数据库下载地址,转到S2。S2:客户端获取并解析服务端返回的数据库信息,客户端将返回的数据库版本与本地的数据库版本进行比较,判断是否需要更新(下载)数据库,若是,转到S3,否则通知上层应用不需要更新数据库后结束。S2的具体流程为:S201:客户端通过HTTP协议(HyperTextTransferProtocol,超文本传输协议),获取服务端返回的数据库信息,转到S202。数据库信息具体包括:数据库信息的格式举例为:S202:客户端通过JSON解析数据库信息,将解析结果存放于DBVersionInfo(数据库版本)结构体中,转到S203。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言;易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。DBVersionInfo结构体的定义为:S203:客户端将DBVersionInfo结构体中的version(数据库版本)、size(数据库文件大小)和name(数据库名称),拼接形成新的字符串,对该字符串进行MD5(MessageDigestAlgorithm5(消息摘要算法第五版)校验后,生成本地MD5校验码,转到S204。S204:判断本地MD5校验码与服务端返回的MD5校验值是否相同,若是,则证明校验成功,转到S205,否则证明校验失败,通知上层应用校验失败后结束。S205:取出DBVersionInfo结构体中的version字段的值a1,判断a1是否≤客户端本地的数据库版本的值a2(a2不存在时,设置a2的默认值为-1),若是,则说明本地数据库版本比服务端版本新或者两者版本相同,此时不需要更新本地数据库,通知上层应用不需要更新数据库后结束;否则说明本地数据库版本比服务端的数据库版本低,此时需要更新本地数据库,转到S3。S3:客户端根据S2中解析的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若是,则证明下载失败,将下载失败信息通知上层应用后结束;否则证明下载成功,将下载成功信息通知上层应用后结束。S3的具体流程为:S301:客户端根据S202中解析的数据库下载地址,开启新的线程并通过HTTP协议向服务端发起数据库文件下载请求,客户端将服务端返回的下载数据全部写入客户端上的数据库存储文件中。S302:判断客户端写入服务端返回的下载文件的过程中,是否发生异常,若是,则证明下载失败,将下载失败信息通知上层应用后结束;否则证明下载成功,将下载成功信息通知上层应用后结束。本专利技术实施例提供的实现上述方法的自动化测试时客户端与服务端的数据库同步系统,包括位于客户端上的数据库信息获取模块、数据库版本检测模块和本地数据库更新模块。数据库信息获取模块用于:当应用程序在客户端上进本文档来自技高网...
自动化测试时客户端与服务端的数据库同步方法及系统

【技术保护点】
一种自动化测试时客户端与服务端的数据库同步方法,其特征在于,该方法包括以下步骤:S1:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息获取请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、MD5校验值和数据库大小,转到S2;S2:客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地的数据库版本的值时,转到S3;S3:客户端根据S2中解析得到的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若是,则证明下载失败,否则证明下载成功。

【技术特征摘要】
1.一种自动化测试时客户端与服务端的数据库同步方法,其特征在于,该方法包括以下步骤:S1:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息获取请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、MD5校验值和数据库大小,转到S2;S2:客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地的数据库版本的值时,转到S3;S3:客户端根据S2中解析得到的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若是,则证明下载失败,否则证明下载成功。2.如权利要求1所述的动化测试时客户端与服务端的数据库同步方法,其特征在于:S2中若所述本地MD5校验码与所述MD5校验值不相同,则通知校验失败,直接结束;S2中若所述解析得到的数据库版本的值≤客户端本地的数据库版本的值,则通知不需要更新本地数据库,直接结束。3.如权利要求1所述的动化测试时客户端与服务端的数据库同步方法,其特征在于:S2中若客户端中没有本地数据库版本,则设置本地数据库版本的值为1。4.如权利要求1至3任一项所述的动化测试时客户端与服务端的数据库同步方法,其特征在于:S2中所述客户端通过json解析服务端返回的数据库信息,所述数据库信息还包括服务端返回码和返回码携带消息。5.如权利要求1至3任一项所述的动化测试时客户端与服务端的数据库同步方法,其特征在于:S3的具体流程为:S301:客户端根据S2中解析得到的数据库下载地址,开启新的线程并通过HTTP协议向服务端发起数据库文件下载请求,客户端将服务端返回的下载数据全部写入客户端上的数据库存储文件中;S302:判断客户端写入服务端返回的下载文件的过程中,是否发生异常,若是,通知下载失败,否则通知下载成功。6.一种实现权利要求1至5任一项所述方法的自动化测试时客户端与服务端的数据库同步系统,其特征在于:该系统包括位于客户端上的...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1