国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      自動(dòng)化測(cè)試終端仿真方法及仿真系統(tǒng)的制作方法

      文檔序號(hào):7782057閱讀:246來(lái)源:國(guó)知局
      自動(dòng)化測(cè)試終端仿真方法及仿真系統(tǒng)的制作方法
      【專利摘要】本發(fā)明提供一種自動(dòng)化測(cè)試終端仿真方法,包括以下步驟:初始化:在人機(jī)界面顯示軟件相關(guān)狀態(tài),人機(jī)界面包括樹(shù)控件和tab控件;啟動(dòng)tcp服務(wù)維護(hù)線程和版本信息交互線程;接收用戶操作并啟動(dòng)對(duì)應(yīng)終端線程:根據(jù)用戶操作打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù),并在人機(jī)界面的樹(shù)控件中顯示;遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和終端線程,當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成;還包括發(fā)送停止運(yùn)行和退出的指令。本發(fā)明方法及系統(tǒng)支持telnet、sshv2、串口和GPIB工作方式,支持多終端同時(shí)工作。
      【專利說(shuō)明】自動(dòng)化測(cè)試終端仿真方法及仿真系統(tǒng)
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于計(jì)算機(jī)通信工具領(lǐng)域,具體涉及一種自動(dòng)化測(cè)試終端仿真方法及仿真系統(tǒng)。
      【背景技術(shù)】
      [0002]通信設(shè)備和儀表的管理接口主要包括telnet、sshv2、串口、GPIB這幾種方式。目前各種測(cè)試過(guò)程所使用的終端仿真軟件基本都有以下不足:不支持GPIB ;對(duì)于控制多終端間的協(xié)同工作能力很弱;開(kāi)發(fā)控制腳本需要程序編寫(xiě)能力。

      【發(fā)明內(nèi)容】

      [0003]本發(fā)明要解決的技術(shù)問(wèn)題是:提供一種自動(dòng)化測(cè)試終端仿真方法及仿真系統(tǒng),支持telnet、sshv2、串口、GPIB工作方式,且支持多終端同時(shí)工作。
      [0004]本發(fā)明為解決上述技術(shù)問(wèn)題所采取的技術(shù)方案為:一種自動(dòng)化測(cè)試終端仿真方法,其特征在于:它包括以下步驟:
      步驟1、初始化:
      在人機(jī)界面顯示軟件相關(guān)狀態(tài),人機(jī)界面包括樹(shù)控件和tab控件;啟動(dòng)tcp服務(wù)維護(hù)線程:使用任意終端仿真工具利用telnet協(xié)議連接到指定端口,并使用命令行方式監(jiān)視軟件運(yùn)行狀態(tài);啟動(dòng)版本信息交互線程:將軟件自身版本參數(shù)傳遞給該線程,在局域網(wǎng)內(nèi)廣播自己軟件版本,并監(jiān)聽(tīng)指定端口,判斷軟件版本是否存在更新,以及提示更新;
      步驟2、接收用戶操作并啟動(dòng)對(duì)應(yīng)終端線程:
      2.1、打開(kāi)文件:根據(jù)用戶操作打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù),并在人機(jī)界面的樹(shù)控件中顯示;
      2.2、開(kāi)始運(yùn)行:遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和終端線程,當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成;
      步驟3、停止運(yùn)行:當(dāng)存在運(yùn)行中的節(jié)點(diǎn)時(shí)候,向正在運(yùn)行的節(jié)點(diǎn)對(duì)應(yīng)的對(duì)話框線程以及其終端線程發(fā)送停止指令,停止運(yùn)行;
      步驟4、退出:當(dāng)沒(méi)有正在運(yùn)行的節(jié)點(diǎn)時(shí),向各線程和各控件發(fā)送退出指令,并等待結(jié)束過(guò)程完成,關(guān)閉人機(jī)界面;
      所述步驟2中各節(jié)點(diǎn)的終端線程為并行線程,每個(gè)終端線程的運(yùn)行步驟為:
      首先完成與其對(duì)應(yīng)的通信層的初始化,每個(gè)終端線程對(duì)應(yīng)的通信層為tcp通信層、gpib通信層或com通信層中的一種;tcp通信層用于建立和關(guān)閉tcp連接,以及發(fā)送和接收tcp連接信息,支持telnet以及sshv2方式;gpib通信層用于建立和關(guān)閉gpib連接,以及發(fā)送和接收gpib連接信息;Com通信層用于打開(kāi)和關(guān)閉串口連接,以及讀寫(xiě)串口信息;接下來(lái)打開(kāi)該節(jié)點(diǎn)所對(duì)應(yīng)的終端腳本文件,并發(fā)送終端運(yùn)行的消息;
      然后進(jìn)入消息循環(huán),循環(huán)讀取消息并處理:當(dāng)消息類(lèi)型為終端運(yùn)行消息時(shí),讀取終端腳本文件的一行,判斷該行類(lèi)型為終端下發(fā)還是上行嵌入命令,若為上行嵌入命令則進(jìn)行相應(yīng)處理以完成判定或保存功能,并由人機(jī)界面的tab控件進(jìn)行顯示,若為終端下發(fā)則通過(guò)對(duì)應(yīng)的通信層下發(fā)到目標(biāo)設(shè)備;當(dāng)終端腳本文件的該行為檢查消息隊(duì)列中有沒(méi)有所需要的消息時(shí),則暫停該終端對(duì)下發(fā)到目標(biāo)設(shè)備的處理,并每隔一段時(shí)間循環(huán)查詢一次,直至其它終端向主機(jī)發(fā)送了該消息并存儲(chǔ)至終端消息隊(duì)列中時(shí)繼續(xù)進(jìn)行下發(fā);當(dāng)消息循環(huán)的消息類(lèi)型為退出指令時(shí),停止運(yùn)行并退出。
      [0005]一種自動(dòng)化測(cè)試終端仿真系統(tǒng),其特征在于:它包括主線程模塊、tcp服務(wù)維護(hù)線程模塊、版本信息交互線程模塊和終端線程模塊;
      所述的主線程模塊用于接收用戶操作,并啟動(dòng)控制其它模塊;它包括初始化模塊、打開(kāi)模塊、運(yùn)行模塊、停止模塊和退出模塊;初始化模塊用于在人機(jī)界面顯示軟件相關(guān)狀態(tài),人機(jī)界面包括樹(shù)控件和tab控件,分別啟動(dòng)tcp服務(wù)維護(hù)線程模塊和版本信息交互線程模塊;打開(kāi)模塊用于根據(jù)用戶操作打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù),并在人機(jī)界面的樹(shù)控件中顯示;運(yùn)行模塊用于遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和終端線程,當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成;停止模塊用于當(dāng)存在運(yùn)行中的節(jié)點(diǎn)時(shí)候,向正在運(yùn)行的節(jié)點(diǎn)對(duì)應(yīng)的對(duì)話框線程以及其終端線程發(fā)送停止指令,停止運(yùn)行;退出模塊用于當(dāng)沒(méi)有正在運(yùn)行的節(jié)點(diǎn)時(shí),向各線程和各控件發(fā)送退出指令,并等待結(jié)束過(guò)程完成,關(guān)閉人機(jī)界面;
      tcp服務(wù)維護(hù)線程模塊用于使用任意終端仿真工具利用telnet協(xié)議連接到指定端口,并支持使用命令行方式監(jiān)視軟件運(yùn)行狀態(tài);
      版本信息交互線程模塊用于將軟件自身版本參數(shù)傳遞給該線程,在局域網(wǎng)內(nèi)廣播自己軟件版本,并監(jiān)聽(tīng)指定端口,判斷軟件版本是否存在更新,以及提示更新;
      終端線程模塊為多個(gè)并行的模塊,每個(gè)終端線程模塊分別包括通信層初始化模塊和消息循環(huán)模塊;通信層初始化模塊用于完成與其對(duì)應(yīng)的通信層的初始化,每個(gè)終端線程對(duì)應(yīng)的通信層為tcp通信層、gpib通信層或com通信層中的一種;tcp通信層用于建立和關(guān)閉tcp連接,以及發(fā)送和接收tcp連接信息,支持telnet以及sshv2方式;gpib通信層用于建立和關(guān)閉gpib連接,以及發(fā)送和接收gpib連接信息;com通信層用于打開(kāi)和關(guān)閉串口連接,以及讀寫(xiě)串口信息,并打開(kāi)該節(jié)點(diǎn)所對(duì)應(yīng)的終端腳本文件,發(fā)送終端運(yùn)行的消息;消息循環(huán)模塊用于循環(huán)讀取消息并處理:當(dāng)消息類(lèi)型為終端運(yùn)行消息時(shí),讀取終端腳本文件的一行,判斷該行類(lèi)型為終端下發(fā)還是上行嵌入命令,若為上行嵌入命令則進(jìn)行相應(yīng)處理以完成判定或保存功能,并交由人機(jī)界面的tab控件進(jìn)行顯示,若為終端下發(fā)則通過(guò)對(duì)應(yīng)的通信層下發(fā)到目標(biāo)設(shè)備;當(dāng)終端腳本文件的該行為檢查消息隊(duì)列中有沒(méi)有所需要的消息時(shí),則暫停該終端對(duì)下發(fā)到目標(biāo)設(shè)備的處理,并每隔一段時(shí)間循環(huán)查詢一次,直至其它終端向主機(jī)發(fā)送了該消息并存儲(chǔ)至終端消息隊(duì)列中時(shí)繼續(xù)進(jìn)行下發(fā);當(dāng)消息循環(huán)的消息類(lèi)型為退出指令時(shí),停止運(yùn)行并退出。
      [0006]本發(fā)明的有益效果為:本發(fā)明方法及系統(tǒng)支持telnet、sshv2、串口和GPIB工作方式,支持多終端同時(shí)工作,并且每個(gè)終端線程在一個(gè)獨(dú)立線程運(yùn)行,它們各自采用消息循環(huán)模式,當(dāng)終端腳本文件類(lèi)型為終端下發(fā)而主機(jī)中沒(méi)有所需要的消息時(shí),則暫停下發(fā)到目標(biāo)設(shè)備,每隔一段時(shí)間循環(huán)查詢一次,直至其它終端向主機(jī)發(fā)送了該消息時(shí)繼續(xù)進(jìn)行下發(fā),從而使得多終端線程之間能夠協(xié)同工作。
      【專利附圖】

      【附圖說(shuō)明】
      [0007]圖1為本發(fā)明一實(shí)施例的流程框圖。
      [0008]圖2為人機(jī)界面的流程框圖。
      [0009]圖3為開(kāi)始運(yùn)行和停止運(yùn)行的流程框圖。
      [0010]圖4為tcp服務(wù)維護(hù)線程的流程框圖。
      [0011]圖5為版本信息交互線程的流程框圖。
      [0012]圖6為終端線程的流程框圖。
      [0013]圖7為腳本命令原語(yǔ)處理終端線程部分流程框圖。
      [0014]圖8為腳本命令原語(yǔ)處理UI線程部分流程框圖。
      【具體實(shí)施方式】
      [0015]下面結(jié)合具體實(shí)例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
      [0016]圖1為本發(fā)明一實(shí)施例的流程框圖,它包括以下步驟:
      步驟1、初始化:
      在人機(jī)界面(UI)顯示軟件相關(guān)狀態(tài),人機(jī)界面包括樹(shù)控件和tab控件;啟動(dòng)tcp服務(wù)維護(hù)線程:使用任意終端仿真工具利用telnet協(xié)議連接到指定端口,并使用命令行方式監(jiān)視軟件運(yùn)行狀態(tài);啟動(dòng)版本信息交互線程:將軟件自身版本參數(shù)傳遞給該線程,在局域網(wǎng)內(nèi)廣播自己軟件版本,并監(jiān)聽(tīng)指定端口,判斷軟件版本是否存在更新,以及提示更新;
      步驟2、接收用戶操作并啟動(dòng)對(duì)應(yīng)終端線程:
      2.1、打開(kāi)文件:根據(jù)用戶操作打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù),并在人機(jī)界面的樹(shù)控件中顯示;
      2.2、開(kāi)始運(yùn)行:遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和終端線程,當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成;
      步驟3、停止運(yùn)行:當(dāng)存在運(yùn)行中的節(jié)點(diǎn)時(shí)候,向正在運(yùn)行的節(jié)點(diǎn)對(duì)應(yīng)的對(duì)話框線程以及其終端線程發(fā)送停止指令,停止運(yùn)行;
      步驟4、退出:當(dāng)沒(méi)有正在運(yùn)行的節(jié)點(diǎn)時(shí),向各線程和各控件發(fā)送退出指令,并等待結(jié)束過(guò)程完成,關(guān)閉人機(jī)界面;
      所述步驟2中各節(jié)點(diǎn)的終端線程為并行線程,每個(gè)終端線程的運(yùn)行步驟如圖6所示,
      為:
      首先完成與其對(duì)應(yīng)的通信層的初始化,每個(gè)終端線程對(duì)應(yīng)的通信層為tcp通信層、gpib通信層或com通信層中的一種;tcp通信層用于建立和關(guān)閉tcp連接,以及發(fā)送和接收tcp連接信息,支持telnet以及sshv2方式;gpib通信層用于建立和關(guān)閉gpib連接,以及發(fā)送和接收gpib連接信息;Com通信層用于打開(kāi)和關(guān)閉串口連接,以及讀寫(xiě)串口信息;接下來(lái)打開(kāi)該節(jié)點(diǎn)所對(duì)應(yīng)的終端腳本文件,并發(fā)送終端運(yùn)行的消息;
      然后進(jìn)入消息循環(huán),循環(huán)讀取消息并處理:當(dāng)消息類(lèi)型為終端運(yùn)行消息時(shí),讀取終端腳本文件的一行,判斷該行類(lèi)型為終端下發(fā)還是上行嵌入命令,若為上行嵌入命令則進(jìn)行相應(yīng)處理以完成判定或保存功能,并交由人機(jī)界面的tab控件進(jìn)行顯示,若為終端下發(fā)則通過(guò)對(duì)應(yīng)的通信層下發(fā)到目標(biāo)設(shè)備;當(dāng)終端腳本文件的該行為檢查消息隊(duì)列中有沒(méi)有所需要的消息時(shí),則暫停該終端對(duì)下發(fā)到目標(biāo)設(shè)備的處理,并每隔一段時(shí)間循環(huán)查詢一次,直至其它終端向主機(jī)發(fā)送了該消息并存儲(chǔ)至終端消息隊(duì)列中時(shí)繼續(xù)進(jìn)行下發(fā);當(dāng)消息循環(huán)的消息類(lèi)型為退出指令時(shí),停止運(yùn)行并退出。
      [0017]如圖2所示,人機(jī)界面首先顯示軟件相關(guān)狀態(tài),界面說(shuō)明如下:1)菜單欄:提供菜單操作;2)工具欄:提供常用菜單操作,包括打開(kāi)配置文件,開(kāi)始/暫停/結(jié)束運(yùn)行,幫助菜單;3)狀態(tài)欄:顯示版本狀態(tài);4)樹(shù)形控件:根據(jù)測(cè)試配置文件生成的測(cè)試配置樹(shù),顯示各測(cè)試模塊;5) tab控件:根據(jù)當(dāng)前測(cè)試運(yùn)行情況,動(dòng)態(tài)建立一個(gè)或多個(gè)tab頁(yè)面以及對(duì)應(yīng)的對(duì)話框控件,并顯示其終端交互內(nèi)容;6) list控件:顯示運(yùn)行日志。界面顯示模塊完成后,開(kāi)始啟動(dòng)tcp服務(wù)維護(hù)線程,該線程通過(guò)與UI主線程之間消息傳遞,完成對(duì)軟件運(yùn)行狀態(tài)的監(jiān)視,其流程細(xì)節(jié)在tcp服務(wù)維護(hù)線程流程中說(shuō)明。tcp服務(wù)維護(hù)線程啟動(dòng)完成后,開(kāi)始啟動(dòng)版本信息交互線程,并且將軟件自身版本參數(shù)傳遞給該線程,該線程主要是實(shí)現(xiàn)新版本的提示功能。
      [0018]版本信息交互線程完成后,初始化全部完成,軟件開(kāi)始進(jìn)入Π主線程消息循環(huán),通過(guò)用戶操作發(fā)送對(duì)應(yīng)消息,進(jìn)入相應(yīng)運(yùn)行流程,其主要操作說(shuō)明如下:1)打開(kāi)文件:打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù)結(jié)構(gòu),并在界面的樹(shù)控件中顯示。2)開(kāi)始運(yùn)行:遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和tab控件新頁(yè)面。當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成。詳細(xì)流程見(jiàn)圖3。3)停止運(yùn)行:向所有正在運(yùn)行的節(jié)點(diǎn)對(duì)應(yīng)對(duì)話框線程發(fā)送WM_QUIT消息。詳細(xì)流程見(jiàn)圖3。4)幫助:顯示幫助文檔。5)退出:向各線程和各控件發(fā)送WM_QUIT消息,等待結(jié)束過(guò)程完成,關(guān)閉界面,退出程序。
      [0019]圖4為tcp服務(wù)維護(hù)線程的流程框圖,主要流程說(shuō)明:初始化tcp套接字完成60013端口初始化監(jiān)聽(tīng)狀態(tài),然后向本線程消息隊(duì)列發(fā)送WM_tcpserveraccept消息,該消息表示60013端口未收到連接請(qǐng)求;接下來(lái)進(jìn)入消息循環(huán),由于消息隊(duì)列取出WM_tcpserveraccept消息,所以繼續(xù)監(jiān)聽(tīng)60013端口是否收到連接請(qǐng)求,如果沒(méi)有則再次發(fā)送WM_tcpserveraccept消息,如果收到連接請(qǐng)求則建立60013端口的tcp連接,發(fā)送WM_tcpserverconnect消息,該消息表示60013端口收到并建立連接;當(dāng)消息隊(duì)列取出WM_tcpserverconnect消息時(shí),處理該連接傳入的命令,如果該命令是本次連接結(jié)束命令,關(guān)閉本次連接,發(fā)送WM_tcpserveraccept消息等待下一次連接,如果不是連接結(jié)束命令,處理完成該命令后發(fā)送WM_tcpserverconnect消息,等待下一條該連接傳入的命令;如果消息循環(huán)取出WM_QUIT消息,表示UI界面線程啟動(dòng)了退出操作,關(guān)閉連接和套接字,結(jié)束本線程。
      [0020]圖5為版本信息交互線程的流程框圖,流程說(shuō)明:
      初始化udp套接字完成60014端口初始化狀態(tài),然后向該端口發(fā)送包含自身軟件版本信息的udp廣播報(bào)文,以及發(fā)送WM_udprx消息,該消息表示準(zhǔn)備從udp接收數(shù)據(jù);接下來(lái)進(jìn)入消息循環(huán),如果消息循環(huán)取出WM_udprX消息,則解析數(shù)據(jù)中的版本信息,大于自身版本便在UI狀態(tài)欄提示,若數(shù)據(jù)無(wú)效或者不大于自身版本便再次發(fā)送WM_udprX消息;如果消息循環(huán)取出WM_QUIT消息,表示UI界面線程啟動(dòng)了退出操作,關(guān)閉連接和套接字,結(jié)束本線程。
      [0021]圖6為終端線程的流程框圖,流程說(shuō)明:初始化通信方式完成不同通信層的初始化,發(fā)送WM_trmthreadrun消息,該消息表示終端線程運(yùn)行中;接下來(lái)進(jìn)入消息循環(huán),如果消息循環(huán)取出WM_trmthreadrun消息,則解析和處理腳本內(nèi)容,其中步驟“腳本命令原語(yǔ)處理”包含制定的若干腳本命令原語(yǔ)處理,以及包括控制多終端線程間協(xié)同工作的消息隊(duì)列處理(參見(jiàn)腳本命令原語(yǔ)處理主要流程,如圖7和圖8所示);如果消息循環(huán)取出WM.QUIT消息,表示Π界面線程啟動(dòng)了退出操作,關(guān)閉連接和套接字,向UI線程發(fā)送WM_appdlgtrmdlgclose消息,結(jié)束本線程。
      [0022]如圖7和圖8所示,腳本命令原語(yǔ)處理主要流程說(shuō)明如下:由于終端下發(fā)行已在本流程之前處理,所以進(jìn)入此流程全部為包含腳本命令原語(yǔ)的腳本行;然后在本流程進(jìn)行處理,并且判斷yes或no,以供后面調(diào)用。這里特別說(shuō)明消息命令處理需要跨線程,其機(jī)制是在UI線程維護(hù)一個(gè)終端消息隊(duì)列,各終端線程在處理消息命令時(shí),最終都是訪問(wèn)終端消息隊(duì)列,因此實(shí)現(xiàn)各終端的跨線程控制,例如:終端線程a和終端線程b并行,終端線程a運(yùn)行到10秒時(shí),將檢查消息“msgl”,而此時(shí)終端消息隊(duì)列不包含該消息,因此線程a循環(huán)檢查消息“msgl”。終端線程b運(yùn)行到30秒時(shí),將添加消息“msgl”,此時(shí)終端消息隊(duì)列將包含該消息。終端線程a在30秒后的循環(huán)中檢查消息“msgl”成功,然后繼續(xù)下一行腳本處理。因此上面所描述消息“msgl ”的效果是:終端線程b對(duì)于終端線程a的執(zhí)行進(jìn)行了控制,使之在執(zhí)行10秒后延遲了 20秒再繼續(xù)執(zhí)行。
      [0023]本發(fā)明還提供了一種自動(dòng)化測(cè)試終端仿真系統(tǒng),它包括主線程模塊、tcp服務(wù)維護(hù)線程模塊、版本信息交互線程模塊和終端線程模塊;
      所述的主線程模塊用于接收用戶操作,并啟動(dòng)控制其它模塊;它包括初始化模塊、打開(kāi)模塊、運(yùn)行模塊、停止模塊和退出模塊;初始化模塊用于在人機(jī)界面顯示軟件相關(guān)狀態(tài),人機(jī)界面包括樹(shù)控件和tab控件,分別啟動(dòng)tcp服務(wù)維護(hù)線程模塊和版本信息交互線程模塊;打開(kāi)模塊用于根據(jù)用戶操作打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù),并在人機(jī)界面的樹(shù)控件中顯示;運(yùn)行模塊用于遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和終端線程,當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成;停止模塊用于當(dāng)存在運(yùn)行中的節(jié)點(diǎn)時(shí)候,向正在運(yùn)行的節(jié)點(diǎn)對(duì)應(yīng)的對(duì)話框線程以及其終端線程發(fā)送停止指令,停止運(yùn)行;退出模塊用于當(dāng)沒(méi)有正在運(yùn)行的節(jié)點(diǎn)時(shí),向各線程和各控件發(fā)送退出指令,并等待結(jié)束過(guò)程完成,關(guān)閉人機(jī)界面;
      tcp服務(wù)維護(hù)線程模塊用于使用任意終端仿真工具利用telnet協(xié)議連接到指定端口,并支持使用命令行方式監(jiān)視軟件運(yùn)行狀態(tài);
      版本信息交互線程模塊用于將軟件自身版本參數(shù)傳遞給該線程,在局域網(wǎng)內(nèi)廣播自己軟件版本,并監(jiān)聽(tīng)指定端口,判斷軟件版本是否存在更新,以及提示更新;
      終端線程模塊為多個(gè)并行的模塊,每個(gè)終端線程模塊分別包括通信層初始化模塊和消息循環(huán)模塊;通信層初始化模塊用于完成與其對(duì)應(yīng)的通信層的初始化,每個(gè)終端線程對(duì)應(yīng)的通信層為tcp通信層、gpib通信層或com通信層中的一種;tcp通信層用于建立和關(guān)閉tcp連接,以及發(fā)送和接收tcp連接信息,支持telnet以及sshv2方式;gpib通信層用于建立和關(guān)閉gpib連接,以及發(fā)送和接收gpib連接信息;com通信層用于打開(kāi)和關(guān)閉串口連接,以及讀寫(xiě)串口信息,并打開(kāi)該節(jié)點(diǎn)所對(duì)應(yīng)的終端腳本文件,發(fā)送終端運(yùn)行的消息;消息循環(huán)模塊用于循環(huán)讀取消息并處理:當(dāng)消息類(lèi)型為終端運(yùn)行消息時(shí),讀取終端腳本文件的一行,判斷該行類(lèi)型為終端下發(fā)還是上行嵌入命令,若為上行嵌入命令則進(jìn)行相應(yīng)處理以完成判定或保存功能,并交由人機(jī)界面的tab控件進(jìn)行顯示,若為終端下發(fā)則通過(guò)對(duì)應(yīng)的通信層下發(fā)到目標(biāo)設(shè)備;當(dāng)終端腳本文件的該行為檢查消息隊(duì)列中有沒(méi)有所需要的消息時(shí),則暫停該終端對(duì)下發(fā)到目標(biāo)設(shè)備的處理,并每隔一段時(shí)間循環(huán)查詢一次,直至其它終端向主機(jī)發(fā)送了該消息并存儲(chǔ)至終端消息隊(duì)列中時(shí)繼續(xù)進(jìn)行下發(fā);當(dāng)消息循環(huán)的消息類(lèi)型為退出指令時(shí),停止運(yùn)行并退出。
      【權(quán)利要求】
      1.一種自動(dòng)化測(cè)試終端仿真方法,其特征在于:它包括以下步驟: 步驟1、初始化: 在人機(jī)界面顯示軟件相關(guān)狀態(tài),人機(jī)界面包括樹(shù)控件和tab控件;啟動(dòng)tcp服務(wù)維護(hù)線程:使用任意終端仿真工具利用telnet協(xié)議連接到指定端口,并使用命令行方式監(jiān)視軟件運(yùn)行狀態(tài);啟動(dòng)版本信息交互線程:將軟件自身版本參數(shù)傳遞給該線程,在局域網(wǎng)內(nèi)廣播自己軟件版本,并監(jiān)聽(tīng)指定端口,判斷軟件版本是否存在更新,以及提示更新; 步驟2、接收用戶操作并啟動(dòng)對(duì)應(yīng)終端線程: 2.1、打開(kāi)文件:根據(jù)用戶操作打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù),并在人機(jī)界面的樹(shù)控件中顯示; 2.2、開(kāi)始運(yùn)行:遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和終端線程,當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成; 步驟3、停止運(yùn)行:當(dāng)存在運(yùn)行中的節(jié)點(diǎn)時(shí)候,向正在運(yùn)行的節(jié)點(diǎn)對(duì)應(yīng)的對(duì)話框線程以及其終端線程發(fā)送停止指令,停止運(yùn)行; 步驟4、退出:當(dāng)沒(méi)有正在運(yùn)行的節(jié)點(diǎn)時(shí),向各線程和各控件發(fā)送退出指令,并等待結(jié)束過(guò)程完成,關(guān)閉人機(jī)界面; 所述步驟2中各節(jié)點(diǎn)的終端線程為并行線程,每個(gè)終端線程的運(yùn)行步驟為: 首先完成與其對(duì)應(yīng)的通信層的初始化,每個(gè)終端線程對(duì)應(yīng)的通信層為tcp通信層、gpib通信層或com通信層中的一種;tcp通信層用于建立和關(guān)閉tcp連接,以及發(fā)送和接收tcp連接信息,支持telnet以及sshv2方式;gpib通信層用于建立和關(guān)閉gpib連接,以及發(fā)送和接收gpib連接信息;Com通信層用于打開(kāi)和關(guān)閉串口連接,以及讀寫(xiě)串口信息; 接下來(lái)打開(kāi)該節(jié)點(diǎn)所對(duì)應(yīng)的終端腳本文件,并發(fā)送終端運(yùn)行的消息; 進(jìn)入消息循環(huán),循環(huán)讀取消息并處理:當(dāng)消息類(lèi)型為終端運(yùn)行消息時(shí),讀取終端腳本文件的一行,判斷該行類(lèi)型為終端下發(fā)還是上行嵌入命令,若為上行嵌入命令則進(jìn)行相應(yīng)處理以完成判定或保存功能,并由人機(jī)界面的tab控件進(jìn)行顯示,若為終端下發(fā)則通過(guò)對(duì)應(yīng)的通信層下發(fā)到目標(biāo)設(shè)備;當(dāng)終端腳本文件的該行為檢查消息隊(duì)列中有沒(méi)有所需要的消息時(shí),則暫停該終端對(duì)下發(fā)到目標(biāo)設(shè)備的處理,并每隔一段時(shí)間循環(huán)查詢一次,直至其它終端向主機(jī)發(fā)送了該消息并存儲(chǔ)至終端消息隊(duì)列中時(shí)繼續(xù)進(jìn)行下發(fā);當(dāng)消息循環(huán)的消息類(lèi)型為退出指令時(shí),停止運(yùn)行并退出。
      2.一種自動(dòng)化測(cè)試終端仿真系統(tǒng),其特征在于:它包括主線程模塊、tcp服務(wù)維護(hù)線程模塊、版本信息交互線程模塊和終端線程模塊; 所述的主線程模塊用于接收用戶操作,并啟動(dòng)控制其它模塊;它包括初始化模塊、打開(kāi)模塊、運(yùn)行模塊、停止模塊和退出模塊;初始化模塊用于在人機(jī)界面顯示軟件相關(guān)狀態(tài),人機(jī)界面包括樹(shù)控件和tab控件,分別啟動(dòng)tcp服務(wù)維護(hù)線程模塊和版本信息交互線程模塊;打開(kāi)模塊用于根據(jù)用戶操作打開(kāi)一個(gè)測(cè)試配置文件,根據(jù)其內(nèi)容生成配置樹(shù),并在人機(jī)界面的樹(shù)控件中顯示;運(yùn)行模塊用于遞歸遍歷配置樹(shù),跳過(guò)已完成節(jié)點(diǎn),對(duì)于可運(yùn)行節(jié)點(diǎn)則啟動(dòng)對(duì)應(yīng)該節(jié)點(diǎn)的對(duì)話框線程和終端線程,當(dāng)正在運(yùn)行的節(jié)點(diǎn)運(yùn)行完成時(shí),再次遞歸遍歷配置樹(shù),直至最終配置樹(shù)的全部節(jié)點(diǎn)運(yùn)行完成;停止模塊用于當(dāng)存在運(yùn)行中的節(jié)點(diǎn)時(shí)候,向正在運(yùn)行的節(jié)點(diǎn)對(duì)應(yīng)的對(duì)話框線程以及其終端線程發(fā)送停止指令,停止運(yùn)行;退出模塊用于當(dāng)沒(méi)有正在運(yùn)行的節(jié)點(diǎn)時(shí),向各線程和各控件發(fā)送退出指令,并等待結(jié)束過(guò)程完成,關(guān)閉人機(jī)界面; tcp服務(wù)維護(hù)線程模塊用于使用任意終端仿真工具利用telnet協(xié)議連接到指定端口,并使用命令行方式監(jiān)視軟件運(yùn)行狀態(tài); 版本信息交互線程模塊用于將軟件自身版本參數(shù)傳遞給該線程,在局域網(wǎng)內(nèi)廣播自己軟件版本,并監(jiān)聽(tīng)指定端口,判斷軟件版本是否存在更新,以及提示更新; 終端線程模塊為多個(gè)并行的模塊,每個(gè)終端線程模塊分別包括通信層初始化模塊和消息循環(huán)模塊;通信層初始化模塊用于完成與其對(duì)應(yīng)的通信層的初始化,并打開(kāi)該節(jié)點(diǎn)所對(duì)應(yīng)的終端腳本文件,發(fā)送終端運(yùn)行的消息,每個(gè)終端線程對(duì)應(yīng)的通信層為tcp通信層、gpib通信層或com通信層中的一種;tcp通信層用于建立和關(guān)閉tcp連接,以及發(fā)送和接收tcp連接信息,支持telnet以及sshv2方式;gpib通信層用于建立和關(guān)閉gpib連接,以及發(fā)送和接收gpib連接信息;Com通信層用于打開(kāi)和關(guān)閉串口連接,以及讀寫(xiě)串口信息;消息循環(huán)模塊用于循環(huán)讀取消息并處理:當(dāng)消息類(lèi)型為終端運(yùn)行消息時(shí),讀取終端腳本文件的一行,判斷該行類(lèi)型為終端下發(fā)還是上行嵌入命令,若為上行嵌入命令則進(jìn)行相應(yīng)處理以完成判定或保存功能,并由人機(jī)界面的tab控件進(jìn)行顯示,若為終端下發(fā)則通過(guò)對(duì)應(yīng)的通信層下發(fā)到目標(biāo)設(shè)備;當(dāng)終端腳本文件的該行為檢查消息隊(duì)列中有沒(méi)有所需要的消息時(shí),則暫停該終端對(duì)下發(fā)到目標(biāo)設(shè)備的處理,并每隔一段時(shí)間循環(huán)查詢一次,直至其它終端向主機(jī)發(fā)送了該消息并存儲(chǔ)至終端消息隊(duì)列中時(shí)繼續(xù)進(jìn)行下發(fā);當(dāng)消息循環(huán)的消息類(lèi)型為退出指令時(shí),停止運(yùn)行并退出。`
      【文檔編號(hào)】H04L12/26GK103701662SQ201310726481
      【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2013年12月25日 優(yōu)先權(quán)日:2013年12月25日
      【發(fā)明者】許進(jìn) 申請(qǐng)人:武漢日電光通信工業(yè)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1