一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法及系統(tǒng),將本發(fā)明應(yīng)用于手機(jī)的自動(dòng)化測(cè)試時(shí),通過在電腦端為每一與電腦建立連接的手機(jī)設(shè)置一單獨(dú)的線程以及為需要執(zhí)行的任務(wù)建立相應(yīng)的任務(wù)實(shí)體,可控制多臺(tái)手機(jī)同時(shí)執(zhí)行不同的任務(wù),極大地縮短自動(dòng)化測(cè)試的執(zhí)行時(shí)間,有效地提升了測(cè)試效率;同時(shí),通過完善的任務(wù)執(zhí)行結(jié)果確認(rèn)及重新執(zhí)行的機(jī)制,能夠極大提升測(cè)試結(jié)果的準(zhǔn)確率,也極大地保障了自動(dòng)化測(cè)試的流暢性,有效減少測(cè)試過程中因出現(xiàn)各種異常而導(dǎo)致測(cè)試中斷的問題。
【專利說明】一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動(dòng)終端的普及,人們對(duì)移動(dòng)終端的需求也越來越多、越來越高。對(duì)于移動(dòng)終端制造商而言,移動(dòng)終端(如智能手機(jī))的測(cè)試也越來越復(fù)雜,隨之而出現(xiàn)的是越來越多的自動(dòng)化測(cè)試工具。但縱觀市場(chǎng)上的自動(dòng)化測(cè)試工具,只能單線程執(zhí)行測(cè)試任務(wù),每次只能使一臺(tái)智能手機(jī)執(zhí)行一個(gè)任務(wù),從而使得測(cè)試的時(shí)間較長(zhǎng),效率比較低。
【發(fā)明內(nèi)容】
[0003]為了克服現(xiàn)有技術(shù)中的不足,本發(fā)明提供一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法及測(cè)試終端,以提高測(cè)試的效率及測(cè)試準(zhǔn)確率。
[0004]本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法,所述方法包括:
51、將多臺(tái)移動(dòng)終端與測(cè)試終端連接,測(cè)試終端獲取各移動(dòng)終端的設(shè)備名稱,建立端口映射,并構(gòu)建移動(dòng)終端實(shí)體,所述移動(dòng)終端實(shí)體用于記錄各移動(dòng)終端的相關(guān)信息;
52、為已與測(cè)試終端建立連接的每一移動(dòng)終端設(shè)置一單獨(dú)的線程,所述線程用于檢測(cè)對(duì)應(yīng)的移動(dòng)終端和執(zhí)行任務(wù);
53、獲取需要執(zhí)行的任務(wù),分別為每一單獨(dú)的任務(wù)構(gòu)建一任務(wù)實(shí)體,并將各任務(wù)實(shí)體添加至任務(wù)隊(duì)列中,所述任務(wù)實(shí)體用于記錄各任務(wù)的相關(guān)信息;
54、從任務(wù)隊(duì)列中取出相應(yīng)的任務(wù),并將其分配發(fā)送至各移動(dòng)終端;
55、各移動(dòng)終端執(zhí)行相應(yīng)的任務(wù),測(cè)試終端等待移動(dòng)終端端返回執(zhí)行結(jié)果;
56、當(dāng)任務(wù)隊(duì)列中的所有任務(wù)均已被執(zhí)行完畢,測(cè)試終端收集執(zhí)行結(jié)果并將其輸出。
[0005]進(jìn)一步地,所述步驟S5還包括:
551、若移動(dòng)終端成功執(zhí)行某一任務(wù),則將執(zhí)行結(jié)果返回至測(cè)試終端,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,若移動(dòng)終端未成功執(zhí)行某一任務(wù),則將執(zhí)行結(jié)果返回至測(cè)試終端,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并發(fā)送相關(guān)指令,使該移動(dòng)終端重新執(zhí)行該任務(wù);
552、若重新執(zhí)行該任務(wù)成功,則測(cè)試終端更新執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;若重新執(zhí)行該任務(wù)失敗,則標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài),從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,同時(shí)將標(biāo)志重新執(zhí)行失敗的任務(wù)添加至任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處。
[0006]優(yōu)選地,所述步驟S52中,在重新執(zhí)行任務(wù)過程中,若重復(fù)執(zhí)行某一任務(wù)的次數(shù)超過預(yù)設(shè)值,才標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài);所述任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處優(yōu)選為任務(wù)隊(duì)列的最末端位置;所述的測(cè)試終端為電腦,所述的移動(dòng)終%5為手機(jī)。[0007]較佳地,所述移動(dòng)終端實(shí)體記錄各移動(dòng)終端的相關(guān)信息包括各移動(dòng)終端的移動(dòng)終端名稱、連接端口號(hào)、是否已與測(cè)試終端建立連接以及移動(dòng)終端工作狀態(tài)中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)實(shí)體記錄各任務(wù)的相關(guān)信息包括各任務(wù)的任務(wù)編號(hào)、被執(zhí)行次數(shù)以及已被哪臺(tái)移動(dòng)終端執(zhí)行中的一項(xiàng)或多項(xiàng)信息。
[0008]基于上述發(fā)明構(gòu)思,本發(fā)明還提供了一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的系統(tǒng),其應(yīng)用于測(cè)試終端中,所述系統(tǒng)包括:
移動(dòng)終端實(shí)體構(gòu)建模塊,用于當(dāng)多臺(tái)移動(dòng)終端與測(cè)試終端連接,測(cè)試終端獲取各移動(dòng)終端的設(shè)備名稱后,建立端口映射并構(gòu)建移動(dòng)終端實(shí)體,所述移動(dòng)終端實(shí)體用于記錄各移動(dòng)終端的相關(guān)信息;
線程設(shè)置模塊,用于為已與測(cè)試終端建立連接的每一移動(dòng)終端設(shè)置一單獨(dú)的線程,所述線程用于檢測(cè)對(duì)應(yīng)的移動(dòng)終端和執(zhí)行任務(wù);
任務(wù)實(shí)體構(gòu)建模塊,用于當(dāng)獲取需要執(zhí)行的任務(wù)后,分別為每一單獨(dú)的任務(wù)構(gòu)建一任務(wù)實(shí)體,并將各任務(wù)實(shí)體添加至任務(wù)隊(duì)列中,所述任務(wù)實(shí)體用于記錄各任務(wù)的相關(guān)信息;任務(wù)分配發(fā)送模塊,用于從任務(wù)隊(duì)列中取出相應(yīng)的任務(wù),并將其分配發(fā)送至各移動(dòng)終
端;
執(zhí)行結(jié)果接收與輸出模塊,用于當(dāng)各移動(dòng)終端執(zhí)行相應(yīng)的任務(wù)后,接收來自各移動(dòng)終端返回的執(zhí)行結(jié)果,當(dāng)任務(wù)隊(duì)列中的所有任務(wù)均已被執(zhí)行完畢,收集執(zhí)行結(jié)果并將其輸出。
[0009]進(jìn)一步地,所述系統(tǒng)還包括有任務(wù)執(zhí)行結(jié)果確認(rèn)及任務(wù)重新執(zhí)行模塊,所述任務(wù)執(zhí)行結(jié)果確認(rèn)及任務(wù)重新執(zhí)行模塊用于:
當(dāng)移動(dòng)終端成功執(zhí)行某一任務(wù),將執(zhí)行結(jié)果返回至測(cè)試終端后,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;
當(dāng)移動(dòng)終端未成功執(zhí)行任務(wù),將執(zhí)行結(jié)果返回至測(cè)試終端后,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并發(fā)送相關(guān)指令,使該移動(dòng)終端重新執(zhí)行該任務(wù);
若重新執(zhí)行該任務(wù)成功,則測(cè)試終端更新執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;若重新執(zhí)行該任務(wù)失敗,則標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài),從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,同時(shí)將標(biāo)志重新執(zhí)行失敗的任務(wù)添加至任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處;在重新執(zhí)行任務(wù)過程中,若重復(fù)執(zhí)行某一任務(wù)的次數(shù)超過預(yù)設(shè)值,才標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài)。
[0010]所述移動(dòng)終端實(shí)體記錄各移動(dòng)終端的相關(guān)信息包括各移動(dòng)終端的移動(dòng)終端名稱、連接端口號(hào)、是否已與測(cè)試終端建立連接以及移動(dòng)終端工作狀態(tài)中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)實(shí)體記錄各任務(wù)的相關(guān)信息包括各任務(wù)的任務(wù)編號(hào)、被執(zhí)行次數(shù)以及已被哪臺(tái)移動(dòng)終端執(zhí)行中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處優(yōu)選為任務(wù)隊(duì)列的最末端位置;所述的測(cè)試終端為電腦,所述的移動(dòng)終端為手機(jī)。
[0011]將本發(fā)明應(yīng)用于手機(jī)的自動(dòng)化測(cè)試時(shí),通過在電腦端為每一與電腦建立連接的手機(jī)設(shè)置一單獨(dú)的線程以及為需要執(zhí)行的任務(wù)建立相應(yīng)的任務(wù)實(shí)體,可控制多臺(tái)手機(jī)同時(shí)執(zhí)行不同的任務(wù),極大地縮短自動(dòng)化測(cè)試的執(zhí)行時(shí)間,有效地提升了測(cè)試效率;同時(shí),通過完善的任務(wù)執(zhí)行結(jié)果確認(rèn)及重新執(zhí)行的機(jī)制,能夠極大提升測(cè)試結(jié)果的準(zhǔn)確率,也極大地保障了自動(dòng)化測(cè)試的流暢性,有效減少測(cè)試過程中因出現(xiàn)各種異常而導(dǎo)致測(cè)試中斷的問題?!緦@綀D】
【附圖說明】
[0012]附圖1為本發(fā)明實(shí)施例的方法流程示意圖;
附圖2為本發(fā)明實(shí)施例中一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的系統(tǒng)的結(jié)構(gòu)模塊示意圖;
附圖3為本發(fā)明具體實(shí)施例的流程示意簡(jiǎn)圖。
【具體實(shí)施方式】
[0013]為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述。
[0014]如附圖1所示,一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法,所述方法包括:
51、將多臺(tái)移動(dòng)終端與測(cè)試終端連接,測(cè)試終端獲取各移動(dòng)終端的設(shè)備名稱,建立端口映射,并構(gòu)建移動(dòng)終端實(shí)體,所述移動(dòng)終端實(shí)體用于記錄各移動(dòng)終端的相關(guān)信息;
52、為已與測(cè)試終端建立連接的每一移動(dòng)終端設(shè)置一單獨(dú)的線程,所述線程用于檢測(cè)對(duì)應(yīng)的移動(dòng)終端和執(zhí)行任務(wù);
53、獲取需要執(zhí)行的任務(wù),分別為每一單獨(dú)的任務(wù)構(gòu)建一任務(wù)實(shí)體,并將各任務(wù)實(shí)體添加至任務(wù)隊(duì)列中,所述任務(wù)實(shí)體用于記錄各任務(wù)的相關(guān)信息;
54、從任務(wù)隊(duì)列中取出相應(yīng)的任務(wù),并將其分配發(fā)送至各移動(dòng)終端;
55、各移動(dòng)終端執(zhí)行相應(yīng)的任務(wù),測(cè)試終端等待移動(dòng)終端端返回執(zhí)行結(jié)果;
551、若移動(dòng)終端成功執(zhí)行某一任務(wù),則將執(zhí)行結(jié)果返回至測(cè)試終端,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,若移動(dòng)終端未成功執(zhí)行某一任務(wù),則將執(zhí)行結(jié)果返回至測(cè)試終端,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并發(fā)送相關(guān)指令,使該移動(dòng)終端重新執(zhí)行該任務(wù);
552、若重新執(zhí)行該任務(wù)成功,則測(cè)試終端更新執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;若重新執(zhí)行該任務(wù)失敗,則標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài),從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,同時(shí)將標(biāo)志重新執(zhí)行失敗的任務(wù)添加至任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處;本步驟S52中,在重新執(zhí)行任務(wù)過程中,若重復(fù)執(zhí)行某一任務(wù)的次數(shù)超過預(yù)設(shè)值,才標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài);所述任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處優(yōu)選為任務(wù)隊(duì)列的最末端位置;
56、當(dāng)任務(wù)隊(duì)列中的所有任務(wù)均已被執(zhí)行完畢,測(cè)試終端收集執(zhí)行結(jié)果并將其輸出。
[0015]其中,所述移動(dòng)終端實(shí)體記錄各移動(dòng)終端的相關(guān)信息包括各移動(dòng)終端的移動(dòng)終端名稱、連接端口號(hào)、是否已與測(cè)試終端建立連接以及移動(dòng)終端工作狀態(tài)中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)實(shí)體記錄各任務(wù)的相關(guān)信息包括各任務(wù)的任務(wù)編號(hào)、被執(zhí)行次數(shù)以及已被哪臺(tái)移動(dòng)終端執(zhí)行中的一項(xiàng)或多項(xiàng)信息。
[0016]如附圖2所示為本發(fā)明提供的一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的系統(tǒng),應(yīng)用于測(cè)試終端中,所述系統(tǒng)包括:
移動(dòng)終端實(shí)體構(gòu)建模塊,用于當(dāng)多臺(tái)移動(dòng)終端與測(cè)試終端連接,測(cè)試終端獲取各移動(dòng)終端的設(shè)備名稱后,建立端口映射并構(gòu)建移動(dòng)終端實(shí)體,所述移動(dòng)終端實(shí)體用于記錄各移動(dòng)終端的相關(guān)信息;
線程設(shè)置模塊,用于為已與測(cè)試終端建立連接的每一移動(dòng)終端設(shè)置一單獨(dú)的線程,所述線程用于檢測(cè)對(duì)應(yīng)的移動(dòng)終端和執(zhí)行任務(wù);
任務(wù)實(shí)體構(gòu)建模塊,用于當(dāng)獲取需要執(zhí)行的任務(wù)后,分別為每一單獨(dú)的任務(wù)構(gòu)建一任務(wù)實(shí)體,并將各任務(wù)實(shí)體添加至任務(wù)隊(duì)列中,所述任務(wù)實(shí)體用于記錄各任務(wù)的相關(guān)信息;任務(wù)分配發(fā)送模塊,用于從任務(wù)隊(duì)列中取出相應(yīng)的任務(wù),并將其分配發(fā)送至各移動(dòng)終
端;
任務(wù)執(zhí)行結(jié)果確認(rèn)及任務(wù)重新執(zhí)行模塊,其用于:
當(dāng)移動(dòng)終端成功執(zhí)行某一任務(wù),將執(zhí)行結(jié)果返回至測(cè)試終端后,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;
當(dāng)移動(dòng)終端未成功執(zhí)行任務(wù),將執(zhí)行結(jié)果返回至測(cè)試終端后,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并發(fā)送相關(guān)指令,使該移動(dòng)終端重新執(zhí)行該任務(wù);
若重新執(zhí)行該任務(wù)成功,則測(cè)試終端更新執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;若重新執(zhí)行該任務(wù)失敗,則標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài),從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,同時(shí)將標(biāo)志重新執(zhí)行失敗的任務(wù)添加至任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處;在重新執(zhí)行任務(wù)過程中,若重復(fù)執(zhí)行某一任務(wù)的次數(shù)超過預(yù)設(shè)值,才標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài);
執(zhí)行結(jié)果接收與輸出模塊,用于當(dāng)各移動(dòng)終端執(zhí)行相應(yīng)的任務(wù)后,接收來自各移動(dòng)終端返回的執(zhí)行結(jié)果,當(dāng)任務(wù)隊(duì)列中的所有任務(wù)均已被執(zhí)行完畢,收集執(zhí)行結(jié)果并將其輸出。
[0017]其中,所述移動(dòng)終端實(shí)體記錄各移動(dòng)終端的相關(guān)信息包括各移動(dòng)終端的移動(dòng)終端名稱、連接端口號(hào)、是否已與測(cè)試終端建立連接以及移動(dòng)終端工作狀態(tài)中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)實(shí)體記錄各任務(wù)的相關(guān)信息包括各任務(wù)的任務(wù)編號(hào)、被執(zhí)行次數(shù)以及已被哪臺(tái)移動(dòng)終端執(zhí)行中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處優(yōu)選為任務(wù)隊(duì)列的最末端位置。
[0018]下面將本發(fā)明應(yīng)用于手機(jī)的自動(dòng)化測(cè)試作為具體的實(shí)施例對(duì)本發(fā)明作更進(jìn)一步的闡述說明,其中,測(cè)試終端以電腦(PC)、移動(dòng)終端以采用Android系統(tǒng)的手機(jī)為具體實(shí)施例來進(jìn)行詳細(xì)說明。
[0019]步驟001、將多臺(tái)手機(jī)與PC連接,PC獲取各手機(jī)的設(shè)備名稱,建立端口映射,并構(gòu)建手機(jī)實(shí)體。
[0020]在本實(shí)施例中,各手機(jī)與PC之間通過數(shù)據(jù)線(如USB數(shù)據(jù)線)連接,在連接完畢之后,PC端通過“ADB Forward”建立端口映射,這樣就可以利用Socket通信來進(jìn)行PC端和手機(jī)端的數(shù)據(jù)傳輸了。PC端再通過“ADB Devices”獲取到各手機(jī)的名稱來作為每臺(tái)手機(jī)的身份標(biāo)識(shí),從而構(gòu)建手機(jī)實(shí)體。ADB的全稱為Android Debug Bridge,就是起到調(diào)試橋的作用。ADB是Android SDK的一個(gè)工具,用這個(gè)工具可以直接操作管理Android模擬器或者真實(shí)的Android設(shè)備。手機(jī)實(shí)體用于記錄手機(jī)的相關(guān)信息,在本實(shí)施例中,手機(jī)實(shí)體記錄各手機(jī)的相關(guān)信息包括各手機(jī)的手機(jī)名稱、連接端口號(hào)、是否已與PC建立連接、手機(jī)工作狀態(tài)等等。
[0021]步驟002、在PC端為每一臺(tái)已與其建立連接的手機(jī)設(shè)置一單獨(dú)的線程,各線程用于檢測(cè)對(duì)應(yīng)的手機(jī)和執(zhí)行相應(yīng)的任務(wù)。
[0022]步驟003、獲取需要執(zhí)行的任務(wù),分別為每一單獨(dú)的任務(wù)構(gòu)建一任務(wù)實(shí)體,并將各任務(wù)實(shí)體添加至任務(wù)隊(duì)列中。
[0023]PC端在獲取需要執(zhí)行的任務(wù)后,為各任務(wù)分別構(gòu)建任務(wù)實(shí)體,任務(wù)實(shí)體用于記錄各任務(wù)的任務(wù)編號(hào)、被執(zhí)行次數(shù)以及已被哪手機(jī)執(zhí)行等相關(guān)信息。
[0024]步驟004、從任務(wù)隊(duì)列中取出相應(yīng)的任務(wù),并將其分配發(fā)送至各手機(jī);在構(gòu)建任務(wù)實(shí)體,將各任務(wù)實(shí)體添加到任務(wù)隊(duì)列后,即可從任務(wù)隊(duì)列中取出任務(wù)分配發(fā)送至手機(jī)端執(zhí)行。本實(shí)施例中,假設(shè)與PC連接的手機(jī)為三臺(tái),分別為手機(jī)A、B、C,從任務(wù)隊(duì)列中取出任務(wù)編號(hào)為1、2、3的任務(wù)分別分配發(fā)送到手機(jī)A、B、C。
[0025]步驟005、各手機(jī)執(zhí)行相應(yīng)的任務(wù),PC端等待各手機(jī)返回執(zhí)行結(jié)果。若手機(jī)A成功執(zhí)行任務(wù)1,則將執(zhí)行結(jié)果返回至PC端,PC端收集該執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)(如任務(wù)4)分配發(fā)送至手機(jī)A ;若手機(jī)B未成功執(zhí)行任務(wù)2,則將執(zhí)行結(jié)果返回至PC端,PC端接收?qǐng)?zhí)行結(jié)果并發(fā)送相關(guān)指令,使手機(jī)B重新執(zhí)行該任務(wù)2 ;若重新執(zhí)行該任務(wù)2成功,則PC端更新執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)(如任務(wù)5)分配發(fā)送至手機(jī)B ;若重新執(zhí)行任務(wù)2失敗,可重復(fù)執(zhí)行該任務(wù)2多次(重復(fù)執(zhí)行的次數(shù)可由用戶預(yù)設(shè),本實(shí)施例中,重復(fù)執(zhí)行的次數(shù)為兩次,即在重新執(zhí)行任務(wù)過程中,重復(fù)執(zhí)行某一任務(wù)的次數(shù)的預(yù)設(shè)值為2),則標(biāo)志重新執(zhí)行該任務(wù)失敗,PC端更改任務(wù)執(zhí)行狀態(tài),從任務(wù)隊(duì)列中取出下一任務(wù)(如任務(wù)5)分配發(fā)送至該移動(dòng)終端,同時(shí)將標(biāo)志重新執(zhí)行失敗的任務(wù)(即任務(wù)2)添加至任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處,這里,待執(zhí)行任務(wù)的位置處可以為還沒有被執(zhí)行過的任務(wù)的位置處(如任務(wù)6、7、8……等之間的位置處,本實(shí)施例優(yōu)選為任務(wù)隊(duì)列的最末端位置)。手機(jī)C執(zhí)行任務(wù)的過程與上述手機(jī)A、B執(zhí)行的任務(wù)類似,這里不再贅述。在各手機(jī)執(zhí)行任務(wù)的過程中,若任務(wù)的數(shù)量多于手機(jī)的數(shù)量時(shí),PC端會(huì)取出相應(yīng)的任務(wù)分配發(fā)送至各手機(jī),以確保每臺(tái)手機(jī)都有任務(wù)執(zhí)行,并且所執(zhí)行的任務(wù)也各不相同,即可使多臺(tái)手機(jī)同時(shí)執(zhí)行不同的任務(wù),使得其執(zhí)行任務(wù)的時(shí)間大大縮短,
在任務(wù)被執(zhí)行的過程中,手機(jī)實(shí)體會(huì)相應(yīng)地記錄手機(jī)的的工作狀態(tài)等相關(guān)信息,如手機(jī)已有任務(wù)在執(zhí)行時(shí),手機(jī)的工作狀態(tài)為忙,則將手機(jī)的工作狀態(tài)置為1,手機(jī)已執(zhí)行完某一任務(wù),PC還沒有相應(yīng)的任務(wù)分配時(shí),手機(jī)的工作狀態(tài)為空閑,則將其工作狀態(tài)置為0,若PC端已將某一任務(wù)分配發(fā)送給該手機(jī)后,則又將手機(jī)的工作狀態(tài)置為I ;同時(shí),任務(wù)實(shí)體也會(huì)在任務(wù)過程中記錄各任務(wù)的被執(zhí)行次數(shù),已被哪臺(tái)手機(jī)執(zhí)行等信息,如上述所說的任務(wù)2,若其被手機(jī)B首次執(zhí)行失敗,并被手機(jī)重復(fù)執(zhí)行的過程中,對(duì)應(yīng)的任務(wù)實(shí)體會(huì)記錄任務(wù)2已被手機(jī)B執(zhí)行,其被手機(jī)B執(zhí)行的次數(shù);若其被手機(jī)B執(zhí)行的次數(shù)已達(dá)3次(即被手機(jī)B重復(fù)執(zhí)行的次數(shù)為兩次),且在第三次被執(zhí)行后還失敗的話,將會(huì)被標(biāo)志重新執(zhí)行該任務(wù)失敗。在任務(wù)被執(zhí)行的過程中,本實(shí)施例通過完善的任務(wù)執(zhí)行結(jié)果確認(rèn)及重新執(zhí)行的機(jī)制,能夠極大提升測(cè)試結(jié)果的準(zhǔn)確率,也極大地保障了自動(dòng)化測(cè)試的流暢性,有效減少測(cè)試過程中因出現(xiàn)各種異常而導(dǎo)致測(cè)試中斷的問題。
[0026]步驟006、當(dāng)任務(wù)隊(duì)列中的所有任務(wù)均已被執(zhí)行完畢,PC端收集執(zhí)行結(jié)果并將其輸出。
[0027]本具體實(shí)施例的簡(jiǎn)要流程可參閱附圖3,這里不再贅述。另外,需要說明的是,本發(fā)明不僅僅適用于手機(jī)(或其他移動(dòng)終端)的自動(dòng)化測(cè)試,還可適用于將大量文件傳送至多臺(tái)手機(jī)(或其他移動(dòng)終端),在多臺(tái)手機(jī)(或其他移動(dòng)終端)上安裝大量軟件等。
[0028]上述實(shí)施例中提到的內(nèi)容為本發(fā)明較佳的實(shí)施方式,并非是對(duì)本發(fā)明的限定,在不脫離本發(fā)明構(gòu)思的前提下,任何顯而易見的替換均在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的方法,所述方法包括: 51、將多臺(tái)移動(dòng)終端與測(cè)試終端連接,測(cè)試終端獲取各移動(dòng)終端的設(shè)備名稱,建立端口映射,并構(gòu)建移動(dòng)終端實(shí)體,所述移動(dòng)終端實(shí)體用于記錄各移動(dòng)終端的相關(guān)信息; 52、為已與測(cè)試終端建立連接的每一移動(dòng)終端設(shè)置一單獨(dú)的線程,所述線程用于檢測(cè)對(duì)應(yīng)的移動(dòng)終端和執(zhí)行任務(wù); 53、獲取需要執(zhí)行的任務(wù),分別為每一單獨(dú)的任務(wù)構(gòu)建一任務(wù)實(shí)體,并將各任務(wù)實(shí)體添加至任務(wù)隊(duì)列中,所述任務(wù)實(shí)體用于記錄各任務(wù)的相關(guān)信息; 54、從任務(wù)隊(duì)列中取出相應(yīng)的任務(wù),并將其分配發(fā)送至各移動(dòng)終端; 55、各移動(dòng)終端執(zhí)行相應(yīng)的任務(wù),測(cè)試終端等待移動(dòng)終端返回執(zhí)行結(jié)果; 56、當(dāng)任務(wù)隊(duì)列中的所有任務(wù)均已被執(zhí)行完畢,測(cè)試終端收集執(zhí)行結(jié)果并將其輸出。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S5還包括: 551、若移動(dòng)終端成功執(zhí)行某一任務(wù),則將執(zhí)行結(jié)果返回至測(cè)試終端,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,若移動(dòng)終端未成功執(zhí)行某一任務(wù),則將執(zhí)行結(jié)果返回 至測(cè)試終端,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并發(fā)送相關(guān)指令,使該移動(dòng)終端重新執(zhí)行該任務(wù); 552、若重新執(zhí)行該任務(wù)成功,則測(cè)試終端更新執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;若重新執(zhí)行該任務(wù)失敗,則標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài),從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,同時(shí)將標(biāo)志重新執(zhí)行失敗的任務(wù)添加至任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于:所述步驟S52中,在重新執(zhí)行任務(wù)過程中,若重復(fù)執(zhí)行某一任務(wù)的次數(shù)超過預(yù)設(shè)值,才標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于:所述任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處優(yōu)選為任務(wù)隊(duì)列的最末端位置。
5.根據(jù)權(quán)利要求1~4中任一項(xiàng)所述的方法,其特征在于:所述移動(dòng)終端實(shí)體記錄各移動(dòng)終端的相關(guān)信息包括各移動(dòng)終端的移動(dòng)終端名稱、連接端口號(hào)、是否已與測(cè)試終端建立連接以及移動(dòng)終端工作狀態(tài)中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)實(shí)體記錄各任務(wù)的相關(guān)信息包括各任務(wù)的任務(wù)編號(hào)、被執(zhí)行次數(shù)以及已被哪臺(tái)移動(dòng)終端執(zhí)行中的一項(xiàng)或多項(xiàng)信息。
6.根據(jù)權(quán)利要求1~4中任一項(xiàng)所述的方法,其特征在于:所述的測(cè)試終端為電腦,所述的移動(dòng)終端為手機(jī)。
7.—種控制多臺(tái)移動(dòng)終端自動(dòng)執(zhí)行任務(wù)的系統(tǒng),應(yīng)用于測(cè)試終端中,其特征在于,所述系統(tǒng)包括: 移動(dòng)終端實(shí)體構(gòu)建模塊,用于當(dāng)多臺(tái)移動(dòng)終端與測(cè)試終端連接,測(cè)試終端獲取各移動(dòng)終端的設(shè)備名稱后,建立端口映射并構(gòu)建移動(dòng)終端實(shí)體,所述移動(dòng)終端實(shí)體用于記錄各移動(dòng)終端的相關(guān)信息; 線程設(shè)置模塊,用于為已與測(cè)試終端建立連接的每一移動(dòng)終端設(shè)置一單獨(dú)的線程,所述線程用于檢測(cè)對(duì)應(yīng)的移動(dòng)終端和執(zhí)行任務(wù); 任務(wù)實(shí)體構(gòu)建模塊,用于當(dāng)獲取需要執(zhí)行的任務(wù)后,分別為每一單獨(dú)的任務(wù)構(gòu)建一任務(wù)實(shí)體,并將各任務(wù)實(shí)體添加至任務(wù)隊(duì)列中,所述任務(wù)實(shí)體用于記錄各任務(wù)的相關(guān)信息;任務(wù)分配發(fā)送模塊,用于從任務(wù)隊(duì)列中取出相應(yīng)的任務(wù),并將其分配發(fā)送至各移動(dòng)終端;執(zhí)行結(jié)果接收與輸出模塊,用于當(dāng)各移動(dòng)終端執(zhí)行相應(yīng)的任務(wù)后,接收來自各移動(dòng)終端返回的執(zhí)行結(jié)果,當(dāng)任務(wù)隊(duì)列中的所有任務(wù)均已被執(zhí)行完畢,收集執(zhí)行結(jié)果并將其輸出。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括有任務(wù)執(zhí)行結(jié)果確認(rèn)及任務(wù)重新執(zhí)行模塊,所述任務(wù)執(zhí)行結(jié)果確認(rèn)及任務(wù)重新執(zhí)行模塊用于: 當(dāng)移動(dòng)終端成功執(zhí)行某一任務(wù),將執(zhí)行結(jié)果返回至測(cè)試終端后,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端; 當(dāng)移動(dòng)終端未成功執(zhí)行任務(wù),將執(zhí)行結(jié)果返回至測(cè)試終端后,測(cè)試終端接收?qǐng)?zhí)行結(jié)果并發(fā)送相關(guān)指令,使該移動(dòng)終端重新執(zhí)行該任務(wù); 若重新執(zhí)行該任務(wù)成功,則測(cè)試終端更新執(zhí)行結(jié)果,并從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端;若重新執(zhí)行該任務(wù)失敗,則標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài),從任務(wù)隊(duì)列中取出下一任務(wù)分配發(fā)送至該移動(dòng)終端,同時(shí)將標(biāo)志重新執(zhí)行失敗的任務(wù)添加至任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處;在重新執(zhí)行任務(wù)過程中,若重復(fù)執(zhí)行某一任務(wù)的次數(shù)超過預(yù)設(shè)值,才標(biāo)志重新執(zhí)行該任務(wù)失敗,測(cè)試終端更改任務(wù)執(zhí)行狀態(tài)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于:所述移動(dòng)終端實(shí)體記錄各移動(dòng)終端的相關(guān)信息包括各移動(dòng)終端的移動(dòng)終端名稱、連接端口號(hào)、是否已與測(cè)試終端建立連接以及移動(dòng)終端工作狀態(tài)中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)實(shí)體記錄各任務(wù)的相關(guān)信息包括各任務(wù)的任務(wù)編號(hào)、被執(zhí)行次數(shù)以及已被哪臺(tái)移動(dòng)終端執(zhí)行中的一項(xiàng)或多項(xiàng)信息;所述任務(wù)隊(duì)列中的待執(zhí)行任務(wù)的位置處優(yōu)選為任務(wù)隊(duì)列的最末端位置。
10.根據(jù)權(quán)利要求7~9中任一項(xiàng)所述的系統(tǒng),其特征在于:所述的測(cè)試終端為電腦,所述的移動(dòng)終端為手 機(jī)。
【文檔編號(hào)】G06F9/46GK103744761SQ201410027603
【公開日】2014年4月23日 申請(qǐng)日期:2014年1月22日 優(yōu)先權(quán)日:2014年1月22日
【發(fā)明者】李鵬, 陳鵬輝 申請(qǐng)人:廣東歐珀移動(dòng)通信有限公司