欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

自動(dòng)化測試時(shí)客戶端與服務(wù)端的數(shù)據(jù)庫同步方法及系統(tǒng)與流程

文檔序號:12123580閱讀:954來源:國知局

本發(fā)明涉及應(yīng)用程序的自動(dòng)化測試領(lǐng)域,具體涉及一種自動(dòng)化測試時(shí)客戶端與服務(wù)端的數(shù)據(jù)庫同步方法及系統(tǒng)。



背景技術(shù):

在應(yīng)用程序的自動(dòng)化測試過程中,測試規(guī)則由服務(wù)端端定義,在客戶端(例如手機(jī)、平板電腦等)上按照相關(guān)規(guī)則進(jìn)行自動(dòng)化測試。每次進(jìn)行自動(dòng)化測試時(shí),客戶端均需要從服務(wù)端上下載最新的數(shù)據(jù)庫文件,下載完成之后需要校驗(yàn)整個(gè)數(shù)據(jù)庫文件是否正確。

但是,客戶端每次從服務(wù)端上載最新的數(shù)據(jù)庫文件時(shí),不僅所需時(shí)間較長,降低了測試效率,而且所需的網(wǎng)絡(luò)流量較大,提高了測試成本;與此同時(shí),校驗(yàn)整個(gè)數(shù)據(jù)庫文件是否正確所需的時(shí)間也較長,而且占用的內(nèi)存較大,進(jìn)而使得測試效率更為低下。



技術(shù)實(shí)現(xiàn)要素:

針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明解決的技術(shù)問題為:在自動(dòng)化測試時(shí)檢測客戶端本地的數(shù)據(jù)庫版本是否與服務(wù)端相同,通過字符串校驗(yàn)服務(wù)端返回的數(shù)據(jù)庫信息。本發(fā)明能夠提高自動(dòng)化測試的測試效率,降低測試成本,非常便于人們使用,適于推廣。

為達(dá)到以上目的,本發(fā)明提供的自動(dòng)化測試時(shí)客戶端與服務(wù)端的數(shù)據(jù)庫同步方法,包括以下步驟:

S1:當(dāng)應(yīng)用程序在客戶端上進(jìn)行自動(dòng)化測試時(shí),客戶端向服務(wù)端發(fā)起數(shù)據(jù)庫信息獲取請求,數(shù)據(jù)庫信息獲包括數(shù)據(jù)庫版本、數(shù)據(jù)庫下載地址、數(shù)據(jù)庫名稱、MD5校驗(yàn)值和數(shù)據(jù)庫大小,轉(zhuǎn)到S2;

S2:客戶端獲取并解析服務(wù)端返回的數(shù)據(jù)庫信息,將解析得到的數(shù)據(jù)庫版本、數(shù)據(jù)庫文件大小和數(shù)據(jù)庫名稱,拼接形成字符串,對該字符串進(jìn)行MD5校驗(yàn)后,生成本地MD5校驗(yàn)碼;當(dāng)本地MD5校驗(yàn)碼與所述MD5校驗(yàn)值相同、且解析得到的數(shù)據(jù)庫版本的值>客戶端本地的數(shù)據(jù)庫版本的值時(shí),轉(zhuǎn)到S3;

S3:客戶端根據(jù)S2中解析得到的數(shù)據(jù)庫下載地址,下載服務(wù)端上的數(shù)據(jù)庫文件;判斷下載過程中是否出現(xiàn)異常,若是,則證明下載失敗,否則證明下載成功。

本發(fā)明提供的實(shí)現(xiàn)上述方法的自動(dòng)化測試時(shí)客戶端與服務(wù)端的數(shù)據(jù)庫同步系統(tǒng),包括位于客戶端上的數(shù)據(jù)庫信息獲取模塊、數(shù)據(jù)庫版本檢測模塊和本地?cái)?shù)據(jù)庫更新模塊;

數(shù)據(jù)庫信息獲取模塊用于:當(dāng)應(yīng)用程序在客戶端上進(jìn)行自動(dòng)化測試時(shí),向服務(wù)端發(fā)起數(shù)據(jù)庫信息獲取請求,數(shù)據(jù)庫信息獲包括數(shù)據(jù)庫版本、數(shù)據(jù)庫下載地址、數(shù)據(jù)庫名稱、MD5校驗(yàn)值和數(shù)據(jù)庫大??;

數(shù)據(jù)庫版本檢測模塊用于:獲取并解析服務(wù)端返回的數(shù)據(jù)庫信息,將解析得到的數(shù)據(jù)庫版本、數(shù)據(jù)庫文件大小和數(shù)據(jù)庫名稱,拼接形成字符串,對該字符串進(jìn)行MD5校驗(yàn)后,生成本地MD5校驗(yàn)碼;當(dāng)本地MD5校驗(yàn)碼與所述MD5校驗(yàn)值相同、且解析得到的數(shù)據(jù)庫版本的值>客戶端本地的數(shù)據(jù)庫版本的值時(shí),向本地?cái)?shù)據(jù)庫更新模塊發(fā)送本地?cái)?shù)據(jù)庫更新信號;

本地?cái)?shù)據(jù)庫更新模塊用于:收到本地?cái)?shù)據(jù)庫更新信號后,根據(jù)數(shù)據(jù)庫版本檢測模塊解析的數(shù)據(jù)庫下載地址,下載服務(wù)端上的數(shù)據(jù)庫文件;判斷下載過程中是否出現(xiàn)異常,若是,則證明下載失敗,否則證明下載成功。

與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:

本發(fā)明在每次進(jìn)行自動(dòng)化測試時(shí),會(huì)先讓客戶端從服務(wù)端上獲取數(shù)據(jù)庫信息,以確定客戶端上的數(shù)據(jù)庫版本是否需要更新。與現(xiàn)有技術(shù)中每次下載最新的數(shù)據(jù)庫文件相比,本發(fā)明的數(shù)據(jù)庫信息僅包括數(shù)據(jù)庫的標(biāo)示參數(shù)(版本、大小、MD5校驗(yàn)值等),其下載所需的網(wǎng)絡(luò)流量非常小,下載速度也較快,因此不僅降低了測試成本,也提高了測試效率。

與此同時(shí),本發(fā)明校驗(yàn)服務(wù)端返回的數(shù)據(jù)庫信息時(shí),能夠?qū)?shù)據(jù)庫信息中的數(shù)據(jù)庫版本、數(shù)據(jù)庫文件大小和數(shù)據(jù)庫名稱組成字符串,并以該字符串生成本地MD5校驗(yàn)碼與數(shù)據(jù)庫信息中的MD5校驗(yàn)值進(jìn)行比對。與現(xiàn)有技術(shù)中校驗(yàn)整個(gè)數(shù)據(jù)庫文件相比,本發(fā)明以字符串生成的本地MD5校驗(yàn)碼較小,校驗(yàn)時(shí)所需的時(shí)間較少,占用的內(nèi)存較小,即校驗(yàn)過程非常快,進(jìn)一步提高了測試效率。

附圖說明

圖1為本發(fā)明實(shí)施例中自動(dòng)化測試時(shí)客戶端與服務(wù)端的數(shù)據(jù)庫同步方法的流程圖。

具體實(shí)施方式

以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。

參見圖1所示,本發(fā)明實(shí)施例中的自動(dòng)化測試時(shí)客戶端與服務(wù)端的數(shù)據(jù)庫同步方法,包括以下步驟:

S1:當(dāng)應(yīng)用程序在客戶端上進(jìn)行自動(dòng)化測試時(shí),客戶端調(diào)用應(yīng)用接口地址(http://27.17.8.110:8989/auto_server/db.php),向服務(wù)端發(fā)起數(shù)據(jù)庫信息獲取請求,數(shù)據(jù)庫信息獲包括數(shù)據(jù)庫版本和數(shù)據(jù)庫下載地址,轉(zhuǎn)到S2。

S2:客戶端獲取并解析服務(wù)端返回的數(shù)據(jù)庫信息,客戶端將返回的數(shù)據(jù)庫版本與本地的數(shù)據(jù)庫版本進(jìn)行比較,判斷是否需要更新(下載)數(shù)據(jù)庫,若是,轉(zhuǎn)到S3,否則通知上層應(yīng)用不需要更新數(shù)據(jù)庫后結(jié)束。

S2的具體流程為:

S201:客戶端通過HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議),獲取服務(wù)端返回的數(shù)據(jù)庫信息,轉(zhuǎn)到S202。

數(shù)據(jù)庫信息具體包括:

數(shù)據(jù)庫信息的格式舉例為:

S202:客戶端通過JSON解析數(shù)據(jù)庫信息,將解析結(jié)果存放于DBVersionInfo(數(shù)據(jù)庫版本)結(jié)構(gòu)體中,轉(zhuǎn)到S203。

JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,它基于ECMAScript的一個(gè)子集。JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言;易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。

DBVersionInfo結(jié)構(gòu)體的定義為:

S203:客戶端將DBVersionInfo結(jié)構(gòu)體中的version(數(shù)據(jù)庫版本)、size(數(shù)據(jù)庫文件大小)和name(數(shù)據(jù)庫名稱),拼接形成新的字符串,對該字符串進(jìn)行MD5(Message Digest Algorithm 5(消息摘要算法第五版)校驗(yàn)后,生成本地MD5校驗(yàn)碼,轉(zhuǎn)到S204。

S204:判斷本地MD5校驗(yàn)碼與服務(wù)端返回的MD5校驗(yàn)值是否相同,若是,則證明校驗(yàn)成功,轉(zhuǎn)到S205,否則證明校驗(yàn)失敗,通知上層應(yīng)用校驗(yàn)失敗后結(jié)束。

S205:取出DBVersionInfo結(jié)構(gòu)體中的version字段的值a1,判斷a1是否≤客戶端本地的數(shù)據(jù)庫版本的值a2(a2不存在時(shí),設(shè)置a2的默認(rèn)值為-1),若是,則說明本地?cái)?shù)據(jù)庫版本比服務(wù)端版本新或者兩者版本相同,此時(shí)不需要更新本地?cái)?shù)據(jù)庫,通知上層應(yīng)用不需要更新數(shù)據(jù)庫后結(jié)束;否則說明本地?cái)?shù)據(jù)庫版本比服務(wù)端的數(shù)據(jù)庫版本低,此時(shí)需要更新本地?cái)?shù)據(jù)庫,轉(zhuǎn)到S3。

S3:客戶端根據(jù)S2中解析的數(shù)據(jù)庫下載地址,下載服務(wù)端上的數(shù)據(jù)庫文件;判斷下載過程中是否出現(xiàn)異常,若是,則證明下載失敗,將下載失敗信息通知上層應(yīng)用后結(jié)束;否則證明下載成功,將下載成功信息通知上層應(yīng)用后結(jié)束。

S3的具體流程為:

S301:客戶端根據(jù)S202中解析的數(shù)據(jù)庫下載地址,開啟新的線程并通過HTTP協(xié)議向服務(wù)端發(fā)起數(shù)據(jù)庫文件下載請求,客戶端將服務(wù)端返回的下載數(shù)據(jù)全部寫入客戶端上的數(shù)據(jù)庫存儲(chǔ)文件中。

S302:判斷客戶端寫入服務(wù)端返回的下載文件的過程中,是否發(fā)生異常,若是,則證明下載失敗,將下載失敗信息通知上層應(yīng)用后結(jié)束;否則證明下載成功,將下載成功信息通知上層應(yīng)用后結(jié)束。

本發(fā)明實(shí)施例提供的實(shí)現(xiàn)上述方法的自動(dòng)化測試時(shí)客戶端與服務(wù)端的數(shù)據(jù)庫同步系統(tǒng),包括位于客戶端上的數(shù)據(jù)庫信息獲取模塊、數(shù)據(jù)庫版本檢測模塊和本地?cái)?shù)據(jù)庫更新模塊。

數(shù)據(jù)庫信息獲取模塊用于:當(dāng)應(yīng)用程序在客戶端上進(jìn)行自動(dòng)化測試時(shí),向服務(wù)端發(fā)起數(shù)據(jù)庫信息獲取請求,數(shù)據(jù)庫信息獲包括服務(wù)端返回碼、返回碼攜帶消息、數(shù)據(jù)庫版本、數(shù)據(jù)庫下載地址、數(shù)據(jù)庫名稱、MD5校驗(yàn)值和數(shù)據(jù)庫大小。

數(shù)據(jù)庫版本檢測模塊用于:獲取并通過JSON解析服務(wù)端返回的數(shù)據(jù)庫信息,將解析得到的數(shù)據(jù)庫版本、數(shù)據(jù)庫文件大小和數(shù)據(jù)庫名稱,拼接形成字符串,對該字符串進(jìn)行MD5校驗(yàn)后,生成本地MD5校驗(yàn)碼;當(dāng)本地MD5校驗(yàn)碼與所述MD5校驗(yàn)值相同、且解析得到的數(shù)據(jù)庫版本的值>客戶端本地的數(shù)據(jù)庫版本的值時(shí),向本地?cái)?shù)據(jù)庫更新模塊發(fā)送本地?cái)?shù)據(jù)庫更新信號。

數(shù)據(jù)庫版本檢測模塊若發(fā)現(xiàn)本地MD5校驗(yàn)碼與所述MD5校驗(yàn)值不相同,則通知校驗(yàn)失敗,中止工作;若發(fā)現(xiàn)解析得到的數(shù)據(jù)庫版本的值≤客戶端本地的數(shù)據(jù)庫版本的值,則通知不需要更新本地?cái)?shù)據(jù)庫,中止工作;若發(fā)現(xiàn)客戶端中沒有本地?cái)?shù)據(jù)庫版本,則設(shè)置本地?cái)?shù)據(jù)庫版本的值為1。

本地?cái)?shù)據(jù)庫更新模塊用于:收到本地?cái)?shù)據(jù)庫更新信號后,根據(jù)數(shù)據(jù)庫版本檢測模塊解析的數(shù)據(jù)庫下載地址,下載服務(wù)端上的數(shù)據(jù)庫文件;判斷下載過程中是否出現(xiàn)異常,若是,則證明下載失敗,否則證明下載成功。

本地?cái)?shù)據(jù)庫更新模塊的主要接口設(shè)計(jì)如下(Java代碼為例):

Public interface IdownloadCallback{

Public void onError(int errorCode,String errorMsg);

Public void onSuccess(String dbPath);

}

本地?cái)?shù)據(jù)庫更新模塊的具體工作流程為:

根據(jù)所述數(shù)據(jù)庫版本檢測模塊解析的數(shù)據(jù)庫下載地址,開啟新的線程并通過HTTP協(xié)議向服務(wù)端發(fā)起數(shù)據(jù)庫文件下載請求,將服務(wù)端返回的下載數(shù)據(jù)全部寫入客戶端上的數(shù)據(jù)庫存儲(chǔ)文件中;

判斷寫入服務(wù)端返回的下載文件的過程中,是否發(fā)生異常,若是,通知下載失敗,否則通知下載成功。

本發(fā)明不局限于上述實(shí)施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
三都| 确山县| 抚顺市| 河津市| 洪江市| 区。| 上思县| 泗水县| 乐都县| 义马市| 比如县| 霍山县| 嫩江县| 前郭尔| 托克托县| 陈巴尔虎旗| 永嘉县| 同江市| 巫山县| 库尔勒市| 马鞍山市| 盘锦市| 读书| 包头市| 黎城县| 鸡泽县| 辉南县| 松潘县| 治县。| 烟台市| 水城县| 衡阳县| 嘉黎县| 绥滨县| 东乡族自治县| 姚安县| 济阳县| 泗水县| 密山市| 咸阳市| 兴文县|