两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于Jmeter的安卓UI自動(dòng)化測(cè)試方法及系統(tǒng)與流程

文檔序號(hào):11918187閱讀:1436來(lái)源:國(guó)知局
基于Jmeter的安卓UI自動(dòng)化測(cè)試方法及系統(tǒng)與流程

本發(fā)明涉及一種軟件測(cè)試領(lǐng)域,具體涉及一種基于Jmeter的安卓UI自動(dòng)化測(cè)試方法及系統(tǒng)。



背景技術(shù):

自動(dòng)化測(cè)試是指通過(guò)自動(dòng)化測(cè)試工具或其他手段,按照測(cè)試人員的測(cè)試計(jì)劃進(jìn)行自動(dòng)測(cè)試,目的是減輕手工測(cè)試的工作量,從而提高軟件質(zhì)量。相對(duì)于手工測(cè)試而言,自動(dòng)化測(cè)試的主要進(jìn)步在于自動(dòng)化測(cè)試工具的引入。

事實(shí)上,當(dāng)前已經(jīng)存在不少成熟的安卓UI自動(dòng)化測(cè)試方案,例如Instrumentation和UI Automator等,然而現(xiàn)有技術(shù)中的安卓UI自動(dòng)化測(cè)試方法僅對(duì)UI元素進(jìn)行操作和斷言,缺少將安卓UI自動(dòng)化與其他測(cè)試銜接的方法。



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

本發(fā)明的目的在于提供一種基于Jmeter的安卓UI自動(dòng)化測(cè)試方法及系統(tǒng),使用戶終端支持生成Jmeter腳本,使安卓UI自動(dòng)化測(cè)試與其他移動(dòng)App測(cè)試實(shí)現(xiàn)優(yōu)質(zhì)銜接。

本發(fā)明的技術(shù)方案在于提供一種基于Jmeter的安卓UI自動(dòng)化測(cè)試方法,該測(cè)試方法包括:步驟A,錄制在移動(dòng)設(shè)備App中對(duì)控件的操作過(guò)程,生成相應(yīng)的輸入事件;步驟B,基于該輸入事件,獲得解析結(jié)果;步驟C,基于該解析結(jié)果,生成回放腳本;步驟D,基于該回放腳本,生成Jmeter腳本。

可選的,該步驟A包括:將生成的該輸入事件存儲(chǔ)至輸入設(shè)備指令緩存。

可選的,該步驟C還包括,基于該解析結(jié)果,驗(yàn)證生成的回放腳本是否正確。

可選的,該步驟D包括:基于該回放腳本,通過(guò)Jmeter的OS Sampler,生成該Jmeter腳本。

本發(fā)明還提供一種基于Jmeter的安卓UI自動(dòng)化測(cè)試系統(tǒng),該安卓自動(dòng)化測(cè)試系統(tǒng)包括:腳本錄制模塊,用于錄制在移動(dòng)設(shè)備App中對(duì)控件的操作過(guò)程,生成相應(yīng)的輸入事件;解析模塊,用于基于該輸入事件,獲得解析結(jié)果?;胤拍_本生成模塊,用于基于該解析結(jié)果,生成回放腳本。終端模塊,基于該回放腳本,生成Jmeter腳本。

可選的,該測(cè)試系統(tǒng)還包括:輸入設(shè)備指令緩存,用于將生成的該輸入事件存儲(chǔ)至該輸入設(shè)備指令緩存中。

可選的,該終端模塊還包括:腳本驗(yàn)證模塊,用于驗(yàn)證生成的回放腳本是否正確。

可選的,基于該回放腳本,通過(guò)Jmeter的OS Sampler,生成該Jmeter腳本。

本發(fā)明提供的自動(dòng)化測(cè)試方法和系統(tǒng),通過(guò)利用Jmeter的特性,以使安卓UI自動(dòng)化測(cè)試與其他移動(dòng)App測(cè)試實(shí)現(xiàn)優(yōu)質(zhì)銜接。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的 附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中:

圖1為本發(fā)明的基于Jmeter的安卓UI自動(dòng)化測(cè)試方法流程圖;

圖2為本發(fā)明的基于Jmeter的安卓UI自動(dòng)化測(cè)試系統(tǒng)示意圖;

圖3為本發(fā)明的基于Jmeter的安卓UI自動(dòng)化測(cè)試系統(tǒng)結(jié)構(gòu)圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。

圖1為本發(fā)明的基于Jmeter的安卓UI自動(dòng)化測(cè)試方法流程圖。如圖1所示自動(dòng)化測(cè)試步驟如下:

步驟A,錄制在移動(dòng)設(shè)備App中對(duì)控件的操作過(guò)程,生成相應(yīng)的輸入事件;

步驟B,基于該輸入事件,獲得解析結(jié)果,

步驟C,基于該解析結(jié)果,生成回放腳本;

步驟D,基于該回放腳本,生成Jmeter腳本。

可選的,該步驟A包括:將生成的該輸入事件存儲(chǔ)至輸入設(shè)備指令緩存205。

可選的,該步驟C還包括,基于該解析結(jié)果,驗(yàn)證生成的回放腳本。

可選的,該步驟D具體包括:基于該回放腳本,通過(guò)Jmeter的OS Sampler,生成該Jmeter腳本。

下面結(jié)合一個(gè)具體的實(shí)施例對(duì)本發(fā)明進(jìn)行具體描述,然而值得注 意的是該具體實(shí)施例僅是為了更好地描述本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。

測(cè)試人員將安卓設(shè)備與電腦連接,打開(kāi)安卓設(shè)備上的待測(cè)App,啟動(dòng)電腦上的用戶終端。

通過(guò)點(diǎn)擊用戶終端上的“開(kāi)始”錄制按鈕,然后對(duì)安卓設(shè)備上的待測(cè)App進(jìn)行操作,在操作結(jié)束之后,在用戶終端上點(diǎn)擊“終止”錄制按鈕,用戶終端會(huì)記錄測(cè)試人員在安卓設(shè)備上操作App的過(guò)程,并生成對(duì)應(yīng)的shell回放腳本。此時(shí)便完成了自動(dòng)化測(cè)試中的錄制的過(guò)程。

在完成錄制過(guò)程之后,測(cè)試人員通過(guò)點(diǎn)擊用戶終端上的回放按鈕,用戶終端便會(huì)執(zhí)行這個(gè)shell回放腳本,而與用戶終端連接的安卓設(shè)備上的App將會(huì)自動(dòng)執(zhí)行測(cè)試人員之前的操作過(guò)程,該回放過(guò)程的目的在于驗(yàn)證生成的腳本是否正確。

然后,測(cè)試人員點(diǎn)擊用戶終端上的生成Jmeter腳本按鈕,用戶終通過(guò)獲取shell腳本的存儲(chǔ)路徑生成匹配jmeter的OS Sampler標(biāo)準(zhǔn)格式的XML文本,然后將shell腳本存儲(chǔ)路徑置入其中,以此通過(guò)shell腳本將XML文本轉(zhuǎn)換為一個(gè)后綴為“.jmx”的文件,該文件中包含生成的OS Sampler的內(nèi)容。然后,測(cè)試人員用Jmeter工具運(yùn)行這個(gè)“.jmx”文件,以此可以通過(guò)安卓設(shè)備自動(dòng)執(zhí)行上述測(cè)試人員操作App的過(guò)程。

測(cè)試人員可以在用Jmeter工具打開(kāi)“.jmx”文件后在安卓UI自動(dòng)化測(cè)試的前后追加其他的測(cè)試場(chǎng)景,例如在重復(fù)操作前先往數(shù)據(jù)庫(kù)里加入準(zhǔn)備數(shù)據(jù),或者在操作后查詢數(shù)據(jù)庫(kù)看是否數(shù)據(jù)正確插入等。

圖2為本發(fā)明的基于Jmeter的安卓UI自動(dòng)化測(cè)試系統(tǒng)結(jié)構(gòu)圖。如圖2所示,自動(dòng)化測(cè)試系統(tǒng)包括:

腳本錄制模塊201,用于錄制在移動(dòng)設(shè)備App中對(duì)控件的操作過(guò) 程,生成相應(yīng)的輸入事件;

解析模塊202,用于基于該輸入事件,獲得解析結(jié)果。

回放腳本生成模塊203,用于基于該解析結(jié)果,生成回放腳本。

終端模塊204,基于該回放腳本,生成Jmeter腳本。

可選的,該測(cè)試系統(tǒng)還包括:輸入設(shè)備指令緩存205,用于將生成的該輸入事件存儲(chǔ)至該輸入設(shè)備指令緩存205中。

可選的,該終端模塊204還包括:腳本驗(yàn)證模塊206,用于驗(yàn)證生成的回放腳本。

可選的,基于該回放腳本,通過(guò)Jmeter的OS Sampler,生成該Jmeter腳本。

下面結(jié)合圖3對(duì)本發(fā)明進(jìn)行具體描述,然而值得注意的是該具體實(shí)施例僅是為了更好地描述本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。

本發(fā)明提供的基于Jmeter的安卓UI自動(dòng)化測(cè)試系統(tǒng)包括:終端模塊204,用于回放安卓手機(jī)上App中的UI界面進(jìn)行各種操作,并支持生成Jmeter腳本;具體的,用戶可以通過(guò)UI界面來(lái)觸發(fā)錄制,終止錄制,生成Jmeter腳本,回放等功能。

開(kāi)始錄制時(shí),測(cè)試人員通過(guò)點(diǎn)擊用戶終端上的“開(kāi)始”錄制按鈕,終端模塊204開(kāi)始調(diào)用腳本錄制模塊201進(jìn)行錄制,此時(shí)腳本錄制模塊201通過(guò)記錄用戶操作用戶終端的各種操作步驟,生成相應(yīng)的代碼。此外,本發(fā)明也可以通過(guò)adb shell send event驅(qū)動(dòng)UI安卓自動(dòng)化。具體地,該模塊通過(guò)使用安卓系統(tǒng)自帶的adb命令getevent解析/dev/input/eventX文件來(lái)實(shí)時(shí)讀取安卓操作系統(tǒng)的用戶輸入事件,然后 將原始的設(shè)備指令緩存到輸入設(shè)備指令緩存205中,存儲(chǔ)用戶的輸入事件。特別地,由于該輸入事件根據(jù)不同設(shè)備會(huì)有不同的結(jié)果。例如對(duì)于安卓模擬器,event0表示保存屏幕輸入事件和鍵盤(pán)輸入事件,而在某些安卓設(shè)備上,同樣的輸入事件會(huì)用event1表示。

結(jié)束錄制時(shí),終端模塊204通過(guò)調(diào)用回放腳本生成模塊203進(jìn)行腳本回放,然后生成shell命令行格式的回放腳本。其中,回放腳本生成模塊203是根據(jù)解析模塊202進(jìn)行單條指令的簡(jiǎn)單解析并輸出結(jié)果,根據(jù)生成算法生成回放整個(gè)操作過(guò)程的shell腳本,然后通過(guò)腳本驗(yàn)證模塊206驗(yàn)證生成的腳本是否正確,而解析模塊202是將輸入設(shè)備指令緩存205將這些原始的設(shè)備指令解析為一條條的用戶指令,例如"在x,y位置進(jìn)行點(diǎn)擊操作"等等。具體來(lái)說(shuō),解析模塊202用于解析單條設(shè)備指令,其主要功能如下:判斷當(dāng)前指令是否是設(shè)置X坐標(biāo)的指令;判斷當(dāng)前指令是否是設(shè)置Y坐標(biāo)的指令;判斷當(dāng)前指令是否是點(diǎn)擊抬起指令;判斷當(dāng)前指令是否是點(diǎn)擊按下指令;判斷當(dāng)前指令是否是按鍵按下指令;判斷當(dāng)前指令是否是按鍵抬起指令;判斷當(dāng)前指令是否是空指令;根據(jù)鍵盤(pán)輸入設(shè)備指令轉(zhuǎn)換為對(duì)應(yīng)ASCII。

最后,終端模塊204采用Jmeter的OS Sampler進(jìn)行驅(qū)動(dòng),調(diào)用回放腳本(shell腳本)生成可供Jmeter驅(qū)動(dòng)的“.jmx”腳本。由于此處實(shí)現(xiàn)方式與前述方法相同,故具體過(guò)程在此不再贅述。

通過(guò)本發(fā)明提供的自動(dòng)化測(cè)試方法和系統(tǒng),測(cè)試人員可以在用Jmeter工具打開(kāi).jmx后在安卓UI自動(dòng)化測(cè)試的前后追加其他的測(cè)試場(chǎng)景,例如在重復(fù)操作前先往數(shù)據(jù)庫(kù)里加入準(zhǔn)備數(shù)據(jù),或者在操作后查詢數(shù)據(jù)庫(kù)。測(cè)試腳本錄制方式對(duì)測(cè)試人員來(lái)說(shuō)較友好,測(cè)試門(mén)檻低。此外,錄制腳本對(duì)同型號(hào)測(cè)試機(jī)器可以復(fù)用。Jmeter腳本對(duì)測(cè)試人員較為熟悉,測(cè)試門(mén)檻低??梢詫沧縐I自動(dòng)化測(cè)試與其他測(cè)試集成起來(lái)。例如在UI操作后檢查后臺(tái)數(shù)據(jù)庫(kù)。通過(guò)利用Jmeter的特性,以使安卓UI自動(dòng)化測(cè)試與其他移動(dòng)App測(cè)試實(shí)現(xiàn)優(yōu)質(zhì)銜接。

以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
曲靖市| 略阳县| 江安县| 拜泉县| 屏东市| 巴里| 千阳县| 多伦县| 开封市| 镇巴县| 饶河县| 惠安县| 广南县| 榆社县| 和田县| 深水埗区| 抚松县| 西安市| 宁陵县| 成都市| 武义县| 兴海县| 米易县| 平邑县| 大姚县| 红河县| 中江县| 易门县| 白玉县| 福清市| 白水县| 安顺市| 六安市| 望江县| 牡丹江市| 杭锦旗| 肥东县| 定陶县| 镇平县| 当雄县| 盈江县|