專利名稱:模擬手機at命令測試的系統(tǒng)及方法
技術領域:
本發(fā)明涉及一種模擬手機AT命令測試的系統(tǒng)及方法。
背景技術:
隨著移動通訊技術的發(fā)展及移動業(yè)務的不斷豐富,手機成為了人們?nèi)粘I钪械?必不可少的高科技產(chǎn)品,手機產(chǎn)業(yè)也越來越強大,競爭也越來越激烈,對于手機研發(fā)企業(yè)來 說如何快速的開發(fā)出新型的、具備豐富軟件功能的手機,已經(jīng)成為增強市場競爭力的重要 砝碼。根據(jù)國際標準,手機終端在提供給手機應用程序服務時是通過AT命令(AT Commands)來完成,手機應用程序運行在終端設備(Terminal Equipment, TE)上,手機協(xié) 議相關的程序運行在移動終端(Mobile Terminal, MT)上,TE通過終端適配器(Terminal Adapter, ΤΑ)與MT進行聯(lián)系,其中TA提供給TE的服務即是AT命令。AT命令是非常有規(guī) 律的接口,通過模擬AT命令的行為可以使手機應用程序感覺到就是在真實的環(huán)境下運行, 從而降低了模擬機手機終端部分模擬的復雜度。傳統(tǒng)的模擬AT命令的方法是通過將一系列的AT命令固定的放在一個配置文件 中,當有手機應用程序提出AT命令的請求時,模擬器根據(jù)請求的AT命令到配置文件中查找 到對應的條目,然后將事先規(guī)定好的響應(response)發(fā)給手機應用程序。這種模擬AT命 令的方法需要TE的支持才能模擬AT命令網(wǎng)絡側行為,需要消耗大量的硬件成本。且傳統(tǒng) 的模擬方法只能對一整條AT命令進行比較和判斷,不能解析AT命令內(nèi)部的參數(shù),導致模擬 靈活度較低。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種模擬手機AT命令測試的系統(tǒng),可以有效模擬手機 AT命令的網(wǎng)絡側行為。還有必要提供一種模擬手機AT命令測試的方法,可以有效模擬手機AT命令的網(wǎng) 絡側行為?!N模擬手機AT命令測試的系統(tǒng),該系統(tǒng)運行于計算機上,該計算機包括需要測 試的手機應用程序,并存儲有用于測試AT命令的AT腳本文件,該系統(tǒng)包括讀取模塊,用于 讀取AT腳本文件中的一個AT狀態(tài);執(zhí)行模塊,用于判斷所述AT狀態(tài)是主動請求的AT狀態(tài) 還是非主動請求的AT狀態(tài),若該AT狀態(tài)是非主動請求的AT狀態(tài),所述執(zhí)行模塊執(zhí)行該非 主動請求的AT狀態(tài)中的內(nèi)容,若該AT狀態(tài)是主動請求的AT狀態(tài),該執(zhí)行模塊等待手機應 用程序的AT命令請求;通信模塊,用于接收來自手機應用程序發(fā)送的AT命令請求;請求管 理模塊,用于接收通信模塊發(fā)送的AT命令請求,并將該AT命令請求轉換為AT腳本文件所 識別的環(huán)境變量;所述執(zhí)行模塊,還用于根據(jù)該轉換后的AT命令請求執(zhí)行所述主動請求的 AT狀態(tài),生成該AT命令請求的AT命令響應;及所述通信模塊,還用于將上述AT命令響應 反饋給所述手機應用程序。
一種模擬手機AT命令測試的方法,該方法應用在計算機上,該方法包括如下步驟(a)讀取AT腳本文件中的一個AT狀態(tài);(b)若該AT狀態(tài)是非主動請求狀態(tài),則執(zhí)行該 非主動請求的AT狀態(tài)中的內(nèi)容;(c)若該AT狀態(tài)是主動請求的AT狀態(tài),則等待手機應用 程序發(fā)送AT命令請求;(d)接收手機應用程序發(fā)送的AT命令請求,將所述AT命令請求轉 換為AT腳本文件所識別的環(huán)境變量;(e)根據(jù)轉換后的AT命令請求執(zhí)行所述主動請求的 AT狀態(tài),生成該AT命令請求的AT命令響應;及(f)將上述AT命令響應反饋給所述手機應 用程序。相較于現(xiàn)有技術,所述模擬手機AT命令測試的系統(tǒng)及方法,不需要TA的支持,對 AT命令網(wǎng)絡側行為進行模擬,節(jié)約了成本。且能夠解析所模擬的AT命令中的參數(shù),提高模 擬靈活度。
圖1是本發(fā)明模擬手機AT命令測試的系統(tǒng)較佳實施例的架構圖。圖2是本發(fā)明模擬手機AT命令測試的方法較佳實施例的方法流程圖。
具體實施例方式如圖1所示,是本發(fā)明模擬手機AT命令測試的系統(tǒng)較佳實施例的架構圖。該模擬 AT命令測試的系統(tǒng)100運行于計算機1上,該計算機1還包括手機應用程序101,本較佳實 施例中,該手機應用程序101是指短消息、電話控制程序等。該手機應用程序101向所述模 擬AT命令測試的系統(tǒng)100發(fā)送AT命令請求,該AT命令請求包括發(fā)送短信請求,撥打電話 請求等。所述模擬AT命令測試的系統(tǒng)100存儲有用于測試AT命令的AT腳本文件,本較佳 實施例中,所述AT腳本文件采用可擴展標記語言(Extensible Markup Langue, XML)來描 述。所述的AT腳本文件,由若干AT狀態(tài)組成,一個AT狀態(tài)包含完成一次AT命令請求 的所有必要的信息,即包括主動請求、非主動請求和中間響應所需要的所有必要的信息。所 述的AT狀態(tài)分為主動請求的AT狀態(tài)和非主動請求的AT狀態(tài),對于屬于主動請求的AT狀 態(tài)只有在手機應用程序101發(fā)出AT命令時才會被執(zhí)行,對于屬于非主動請求的AT狀態(tài),則 無需手機應用程序的請求進行觸發(fā)即會被執(zhí)行。所述的AT狀態(tài)由若干節(jié)點組成,通過這些節(jié)點完成對AT命令請求響應內(nèi)容的規(guī) 定和狀態(tài)邏輯的判斷,從而響應AT命令的請求。所述的節(jié)點通過特定的標簽標識起始和結 束。例如標簽STATE表示AT狀態(tài)標識節(jié)點,RESPONSE表示響應節(jié)點,IF表示判斷節(jié)點等。每個手機應用程序101對應一個腳本文件,多個手機應用程序101也可以對應一 個腳本文件。所述AT腳本文件包括AT命令請求對應的腳本文件及響應該AT命令請求的 腳本文件。該模擬AT命令測試的系統(tǒng)100包括若干個功能模塊從而完成模擬AT命令的測 試。所述模塊是具有特定功能的軟件程序段,該軟件存儲于計算機可讀存儲介質(zhì)或其它存 儲設備,可被計算機或其它包含處理器的計算裝置執(zhí)行。所述模擬AT命令測試的系統(tǒng)100 包括讀取模塊10、執(zhí)行模塊12、通信模塊14及請求管理模塊16。
讀取模塊10用于手機應用程序讀取AT腳本文件中的一個AT狀態(tài),并將讀取的AT 狀態(tài)和該AT狀態(tài)所包含的節(jié)點存儲在鏈表樹的數(shù)據(jù)結構中。該讀取模塊10還用于判斷所 述AT腳本文件中是否存在尚未讀取AT狀態(tài)。若所述AT腳本文件中存在沒有讀取的AT狀 態(tài),則讀取下一個AT狀態(tài)。執(zhí)行模塊12用于從所述鏈表樹的數(shù)據(jù)結構中獲取一個AT狀態(tài)執(zhí)行模塊12并執(zhí) 行該AT狀態(tài)。當執(zhí)行模塊12執(zhí)行完畢一個AT狀態(tài)后從所述鏈表樹中獲取下一個AT狀態(tài)。 所述執(zhí)行AT狀態(tài)是指該執(zhí)行模塊12通過解釋AT腳本中所描述的節(jié)點,根據(jù)AT腳本中的 標簽生成AT命令響應的過程。所述執(zhí)行模塊12還用于判斷所獲取的AT狀態(tài)是主動請求的AT狀態(tài)還是非主動 請求的AT狀態(tài)。若所獲取的AT狀態(tài)是非主動請求的AT狀態(tài),則所述執(zhí)行模塊12立即執(zhí) 行該AT狀態(tài)中的內(nèi)容。若所獲取的AT狀態(tài)是主動請求的AT狀態(tài)時,所述執(zhí)行模塊12等 待手機應用程序101的AT命令請求。所述通信模塊14完成與手機應用程序101的底層通信,也即接收來自手機應用程 序101發(fā)送的AT命令請求,并將該AT命令請求發(fā)送給請求管理模塊16 ;接收來自執(zhí)行模 塊12的AT命令響應并發(fā)送給手機應用程序101。該通信模塊14 一次可以接收一行或者多 行AT命令請求,并逐行將AT命令請求發(fā)送給請求管理模塊16或者將AT命令響應逐行發(fā) 送給手機應用程序101。所述請求管理模塊16用于在內(nèi)存建立一個隊列,按照一個AT命令請求為一個隊 列單位將該AT命令請求放入該隊列的一端,并以同樣大小的隊列單位從該隊列的另一端 讀取一個AT命令請求。該AT命令請求被讀取后,將從該隊列中刪除。該請求管理模塊16從隊列中讀取一個AT命令請求后,將該AT命令請求轉換為AT 腳本文件所識別的環(huán)境變量。本較佳實施例中,AT腳本文件的環(huán)境變量的格式為%加上正 整數(shù)的方式。舉例來說,若該請求管理模塊16從隊列中獲取的AT命令請求中的一條設置命 令為:ATCMD = 1,?2,?3,其中,六111 為命令名,“=”為設置命令的標志符號,“?1”、叩2” 及“P3”為所設置的參數(shù),“,”為參數(shù)分隔符號。所述命令名轉換為環(huán)境變量對應于“% 0”, 參數(shù)“P1”、“P2”及“P3”轉換為環(huán)境變量后分別對應于“ % 1”,“% 2”及“ % 3”。該請求管理模塊16還用于判斷轉換后的AT命令請求是否與所述AT狀態(tài)的內(nèi)容 對應。若當前AT狀態(tài)的內(nèi)容是撥打電話的腳本文件,但是所轉換后的AT命令請求為發(fā)送 短信的請求,則該請求管理模塊16判斷的結果為該轉換后的AT命令請求與所述AT狀態(tài)的 內(nèi)容不對應。所述通信模塊14還用于當判斷的結果為轉換后的AT命令請求與所述AT狀態(tài) 的內(nèi)容不對應時,發(fā)送提示錯誤信息至手機應用程序101,通知無法響應該手機應用程序 101。當判斷的結果為轉換后的AT命令請求與所述AT狀態(tài)的內(nèi)容對應時,所述執(zhí)行模 塊12執(zhí)行該AT狀態(tài)的內(nèi)容,生成所述AT命令請求的AT命令響應,并將該AT命令響應發(fā) 送給通信模塊14,該通信模塊14將所述AT命令響應反饋給所述手機應用程序101。如圖2所示,是本發(fā)明模擬手機AT命令測試的方法較佳實施例的方法流程圖。步驟S30,讀取模塊10讀取AT腳本文件中的一個AT狀態(tài),并將讀取的AT狀態(tài)和 該AT狀態(tài)所包含的節(jié)點存儲在鏈表樹的數(shù)據(jù)結構中。
步驟S31,執(zhí)行模塊12從所述鏈表樹的數(shù)據(jù)結構中獲取一個AT狀態(tài),判斷該AT狀 態(tài)是主動請求的AT狀態(tài)還是非主動請求的AT狀態(tài)。若所讀取的AT狀態(tài)是非主動請求的 AT狀態(tài)時,進入步驟S32 ;若所讀取的AT狀態(tài)是主動請求的AT狀態(tài),則進入步驟S34。步驟S32,所述執(zhí)行模塊12執(zhí)行該非主動請求的AT狀態(tài)中的內(nèi)容,并進入步驟 S33。步驟S33,所述讀取模塊10判斷所述AT腳本文件中是否存在尚未讀取的AT狀態(tài)。 若所述AT腳本文件中的AT狀態(tài)已經(jīng)讀取完畢,則結束流程。若所述AT腳本文件中存在沒 有讀取的AT狀態(tài),則轉至步驟S30。步驟S34,通信模塊14接收手機應用程序101所發(fā)送的AT命令請求,請求管理模 塊16將所接收的AT命令請求放入由請求管理模塊16創(chuàng)建的隊列的一端。步驟S35,所述請求管理模塊16從該隊列的另一端獲取AT命令請求,將該AT命令 請求轉換為AT腳本文件所識別的環(huán)境變量。本較佳實施例中,AT腳本文件的環(huán)境變量的格 式為%加上正整數(shù)的方式。舉例來說,若該請求管理模塊16從隊列中獲取的AT命令請求 中的一條設置命令為ATCMD = PI, P2,P3,其中,ATCMD為命令名,“=”為設置命令的標志 符號,“P1”,“P2”及“P3”為所設置的參數(shù),“,”為參數(shù)分隔符號。所述命令名轉換為環(huán)境 變量對應于“% 0”,參數(shù)“P1”、“P2”及“P3”轉換為環(huán)境變量后分別對應于“ % 1,,、“% 2” 及“ % 3”。步驟S36,該請求管理模塊16判斷轉換后的AT命令請求是否與上述主動請求的 AT狀態(tài)的內(nèi)容對應。若當前AT狀態(tài)的內(nèi)容是撥打電話的腳本文件,但是所轉換后的AT命 令請求為發(fā)送短信的請求,則該請求管理模塊16判斷的結果為該轉換后的AT命令請求與 所述AT狀態(tài)的內(nèi)容不對應,直接進入步驟S37。若轉換后的AT命令請求與所述AT狀態(tài)的 內(nèi)容對應,則進入步驟S38。步驟S37,所述通信模塊14發(fā)送提示錯誤信息至手機應用程序101,通知無法響應 該手機應用程序101,并轉至步驟S35,執(zhí)行下一個AT命令請求。步驟S38,所述執(zhí)行模塊12執(zhí)行該主動請求的AT狀態(tài)的內(nèi)容,生成所述AT命令請 求的AT命令響應,發(fā)送該AT命令響應至通信模塊14。步驟S39,所述通信模塊14將所述AT命令響應反饋給所述手機應用程序101,并 轉至步驟S33。需要指出的是,以上步驟S30至步驟S32與步驟S34至步驟S35之間沒有先后順 序,所述執(zhí)行步驟S30至步驟S32的進程與執(zhí)行步驟S34至步驟S35的進程為相互獨立的。最后所應說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制,盡管參 照較佳實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明 的技術方案進行修改或等同替換,而不脫離本發(fā)明技術方案的精神和范圍。
權利要求
一種模擬手機AT命令測試的系統(tǒng),該系統(tǒng)運行于計算機上,該計算機包括需要測試的手機應用程序,并存儲有用于測試AT命令的AT腳本文件,其特征在于,該系統(tǒng)包括讀取模塊,用于讀取AT腳本文件中的一個AT狀態(tài);執(zhí)行模塊,用于判斷所述AT狀態(tài)是主動請求的AT狀態(tài)還是非主動請求的AT狀態(tài),若該AT狀態(tài)是非主動請求的AT狀態(tài),所述執(zhí)行模塊執(zhí)行該非主動請求的AT狀態(tài)中的內(nèi)容,若該AT狀態(tài)是主動請求的AT狀態(tài),該執(zhí)行模塊等待手機應用程序的AT命令請求;通信模塊,用于接收來自手機應用程序發(fā)送的AT命令請求;請求管理模塊,用于接收通信模塊發(fā)送的AT命令請求,并將該AT命令請求轉換為AT腳本文件所識別的環(huán)境變量;所述執(zhí)行模塊,還用于根據(jù)該轉換后的AT命令請求執(zhí)行所述主動請求的AT狀態(tài),生成該AT命令請求的AT命令響應;及所述通信模塊,還用于將上述AT命令響應反饋給所述手機應用程序。
2.如權利要求1所述的模擬手機AT命令測試的系統(tǒng),其特征在于,所述通信模塊將所 述AT命令請求逐行發(fā)送給請求管理模塊,且將AT命令響應逐行發(fā)送給手機應用程序。
3.如權利要求1所述的模擬手機AT命令測試的系統(tǒng),其特征在于,所述請求管理模塊 還用于建立一個隊列,將接收的AT命令請求放入該隊列的一端,并從該隊列的另一端獲取 AT命令請求。
4.如權利要求1所述的模擬手機AT命令測試的系統(tǒng),其特征在于,所述請求管理模塊 還用于判斷轉換后的AT命令請求是否與所述主動請求的AT狀態(tài)的內(nèi)容對應;及當判斷的結果為轉換后的AT命令請求與所述主動請求的AT狀態(tài)的內(nèi)容不對應時,所 述通信模塊還用于發(fā)送提示錯誤信息至手機應用程序,通知無法響應該手機應用程序。
5.如權利要求1所述的模擬手機AT命令測試的系統(tǒng),其特征在于,所述讀取模塊還用 于判斷所述AT腳本文件中是否存在尚未讀取的AT狀態(tài),若該AT腳本文件中存在還沒有讀 取的AT狀態(tài),則繼續(xù)讀取其中的一個AT狀態(tài)。
6.一種模擬手機AT命令測試的方法,該方法應用在計算機上,其特征在于,該方法包 括如下步驟(a)讀取AT腳本文件中的一個AT狀態(tài);(b)若該AT狀態(tài)是非主動請求的AT狀態(tài),則執(zhí)行該非主動請求的AT狀態(tài)中的內(nèi)容;(c)若該AT狀態(tài)是主動請求的AT狀態(tài),則等待手機應用程序發(fā)送AT命令請求;(d)接收手機應用程序發(fā)送的AT命令請求,將所述AT命令請求轉換為AT腳本文件所 識別的環(huán)境變量;(e)根據(jù)轉換后的AT命令請求執(zhí)行所述主動請求的AT狀態(tài),生成該AT命令請求的AT 命令響應;及(f)將上述AT命令響應反饋給所述手機應用程序。
7.如權利要求6所述的模擬手機AT命令測試的方法,其特征在于,所述AT命令響應是 逐行發(fā)送給手機應用程序的。
8.如權利要求6所述的模擬手機AT命令測試的方法,其特征在于,在步驟(d)還包括 建立一個隊列,將接收的AT命令請求放入該隊列的一端,并從該隊列的另一端獲取AT命令 請求。
9.如權利要求6所述的模擬手機AT命令測試的方法,其特征在于,在步驟(d)之后還 包括判斷轉換后的AT命令請求是否與所述主動請求的AT狀態(tài)的內(nèi)容對應;及當判斷的結果為轉換后的AT命令請求與所述主動請求的AT狀態(tài)的內(nèi)容不對應時,發(fā) 送提示錯誤信息至手機應用程序,通知無法響應該手機應用程序。
10.如權利要求6所述的模擬手機AT命令測試的方法,其特征在于,在步驟(b)和步驟 (f)之后還包括判斷所述AT腳本文件中是否存在尚未讀取的AT命令請求;若該AT腳本文件中存在還沒有讀取的AT狀態(tài),則轉至步驟(a);及 若該AT腳本文件中不存在還沒有讀取的AT狀態(tài),則結束流程。
全文摘要
一種模擬手機AT命令測試的系統(tǒng),該系統(tǒng)運行于計算機上,該系統(tǒng)包括讀取模塊,用于讀取AT腳本文件中的AT狀態(tài);若該AT狀態(tài)是非主動請求的AT狀態(tài),執(zhí)行模塊執(zhí)行該AT狀態(tài)中的內(nèi)容,若該AT狀態(tài)是主動請求的AT狀態(tài),等待手機應用程序的AT命令請求;通信模塊,用于將手機應用程序發(fā)送的AT命令請求發(fā)送給請求管理模塊;請求管理模塊,用于將該AT命令請求轉換為AT腳本文件所識別的環(huán)境變量;所述執(zhí)行模塊,還用于根據(jù)該轉換后的AT命令請求執(zhí)行該AT狀態(tài),生成該AT命令請求的AT命令響應;及所述通信模塊,還用于將上述AT命令響應反饋給所述手機應用程序。另外,本發(fā)明還提供一種模擬手機AT命令測試的方法。
文檔編號H04W24/06GK101860892SQ20091030149
公開日2010年10月13日 申請日期2009年4月11日 優(yōu)先權日2009年4月11日
發(fā)明者陳利海 申請人:深圳富泰宏精密工業(yè)有限公司;奇美通訊股份有限公司