freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

自動化測試工具論文visualcnet—畢業(yè)設(shè)計論文(參考版)

2024-12-07 15:19本頁面
  

【正文】 but his stomach revolted at the thought of the raw flesh, and he did not know how he might build a f。 fore and knew on which side of hunger he stood。s over, expecting Dr. Island to answer from somewhere。s long, prehuman day. For a time he listened for any sound Ignacio might m ake searching for him。 out of breath, the thumping of his own heart the only39。s thumbnailshowing like spectators who lined the railings of his lips. Don39。 if I pursue you I will not catch you, and if I catch youthrough your own slowness and clumsinessI will not kill you, and if I kill you I will not eat you. Nicholas had begun to back away, and at the last。 最后感謝所有關(guān)心和幫助過我的 老師與同學(xué)。 同時還 要感謝 佳能(蘇州)系統(tǒng)軟件有限公司的魯亮課長、袁學(xué)明組長及其他員工的悉心指導(dǎo),感謝他們在此期間對我的幫助。由于 能力 有限,對自動化測試工具的認(rèn)識還不夠深入和透徹,理論過程和實際應(yīng)用還存在著差異,功能還不是特別完善,這是本次設(shè)計的 不足之處。 在進(jìn)行畢業(yè)設(shè)計和撰寫畢業(yè)論文的過程中,我 對軟件 設(shè)計與 開發(fā)的全過程有了 更 深刻的認(rèn)識。 蘇州大學(xué)本科生畢業(yè)設(shè)計(論文) 37 第 五 章 結(jié)論 本文 主要對自動化測試工具進(jìn)行了深入研究,并在此基礎(chǔ)之上基于 UML 進(jìn)行了自動化測試 工具的建模,然后重點介紹了錄制模塊與對象交互模塊的設(shè)計與開發(fā)過程。 圖 44 自動化測試工具的 日志界面 本章小結(jié) 本章從自動化測試工具的主界面開始,依次介紹了自動化測試工具各模塊的設(shè)計與實現(xiàn)過程,并圍繞著錄制模塊和對象交互模塊列舉出部分較典型的代碼。每回放腳本一次就 重新 生成 一個 新的 日志文件 , 先按規(guī)則得到日志文件名,然后生 成日志 文件 。界面由主程序菜單蘇州大學(xué)本科生畢業(yè)設(shè)計(論文) 36 調(diào)用, 并 以對話框形式顯示 , 圖 44是 本自動化測試工具的 日志界面。 } 函數(shù) MouseEvent 主要負(fù)責(zé)模擬鼠標(biāo)左鍵的單擊事件;函數(shù) KeyboardEvent 主要負(fù)責(zé)模擬鍵盤的按鍵事件;函數(shù) SelectEvent 則是作為一種擴(kuò)展窗口事件類型專門負(fù)責(zé)模擬 ComboBox 的選擇事件。 else if (strcmp(,Select)==0) SelectEvent()。 void WindowEvent() { if (strcmp(,Click)==0) MouseEvent()。 } 操作對象 目前本自動化測試工具所支持的窗口事件主要有三種: “Click”、 “Input”和 “Select”,與之相對應(yīng)的窗口事件處理函數(shù)也有三個: MouseEvent、 KeyboardEvent 和SelectEvent。 } //如果當(dāng)前遍歷到的窗口的窗口標(biāo)題和窗口類與腳本內(nèi)所寫的目標(biāo)窗口的 //窗口標(biāo)題和窗口類相一致,則將當(dāng)前遍歷到的窗口的句柄保存為目標(biāo)窗 //口句柄,并保存相應(yīng)的鼠標(biāo)點擊位置的屏幕坐標(biāo),然后結(jié)束窗口遍歷 } else =false。 =hObjectHandle。 =。amp。 strcpy(,chObjectClassName)。 else =false。 else =false。 =+。pTopLeftPos)。 //獲取矩形窗口起點坐標(biāo) ReleaseDC(hwnd,hDC)。 GetWindowOrgEx(hDC,amp。 //存儲窗口句柄 HDC hDC。 //獲取窗口標(biāo)題 GetClassName(hwnd,chObjectClassName,256)。 //保存鼠標(biāo)點擊位置的屏幕坐標(biāo) =true。 //調(diào)用日志模塊 } 第二步是查找目標(biāo)窗口,就是通過遍歷窗口找到與腳本內(nèi)所寫的目標(biāo)窗口的窗口類和窗口標(biāo)題相一致的窗口,由遍歷窗口函數(shù) EnumChildWindows 的回調(diào)函數(shù)myfindwindow 來實現(xiàn)該功能。 } WindowEvent()。 //遍歷窗口 蘇州大學(xué)本科生畢業(yè)設(shè)計(論文) 33 if(==false) //如果未找到目標(biāo) { //窗口則彈出相應(yīng) strcat(PS,)。 =false。 //操作對象結(jié)果 =false。 if(strcmp(,chCurrentWindowText)!=0) =false。 char chCurrentWindowText[256]。 } else { BringWindowToTop(hWnd)。 //的錯誤提示信息 MessageBox(hWnd,PS,Error,MB_OK)。 char PS[256]=Cannot find the window 。 //查找目標(biāo)窗口 的父窗口, ShowWindow(hWnd,SW_SHOWNORMAL)。 在查找定位對象時要分成兩步進(jìn)行,第一步是查找目標(biāo)窗口的父窗口,由函數(shù)FindWindow 來實現(xiàn)該功能。 通常,某些窗口類為 “Static”、 “Button”的窗口會存在一個或多個窗口類為 “Edit”、“ComboBox” 等類型的與之相關(guān)聯(lián)的窗口,因此類 AutoFind 成 員變 量chParentWindowClassName和 chParentWindowClassName 就是用來保存這些關(guān)聯(lián)窗口的窗口標(biāo)題和窗口類。 //判斷目標(biāo)窗口操作是否成功 POINT pCursorPos。 //腳本行號 HWND hWindowHandle, //目標(biāo)窗口的父窗口句柄 hObjectHandle。 蘇州大學(xué)本科生畢業(yè)設(shè)計(論文) 31 用于保存腳本信息的類 AutoFind class AutoFind { public: char chWindowClassName[256], //目標(biāo)窗口的父窗口類型 chObjectClassName[256], //目標(biāo)窗口類名 chWindowText[256], //目標(biāo)窗口的父窗口標(biāo)題 chObjectText[256], //目標(biāo)窗口標(biāo)題 chParentWindowText[256], //關(guān)聯(lián)窗口標(biāo)題 chParentWindowClassName[256], //關(guān)聯(lián)窗口類名 chWindowEvent[256], //窗口事件 chInputText[256]。N):”文本框中輸入 “ 1x” , 最后 單擊 “ 確定 ” 按鈕。N):):Input(1x) 3|Window(編輯水印 )|Button(確定 ):Click(3,3) 所執(zhí)行的操作是在 “ 編輯水印 ” 窗口,單擊 “ 添加 (amp。如下例: 1|Window(編輯水印 )|Button(添加 (amp。 蘇州大學(xué)本科生畢業(yè)設(shè)計(論文) 30 腳本結(jié)構(gòu) 參照 Rational Robot 和 QuickTest Professional 的腳本格式, 并做出必要的修改 。 2. 結(jié)構(gòu) : 應(yīng)易讀、易理解和易維護(hù)。如果腳本只用于一個測試用例,測試完成后就廢棄,建立腳本時就不必花費太大工夫。而一些腳本技術(shù)相對簡單點。 3. 捕獲何種屏幕數(shù)據(jù)及存儲在何處 。測試工具腳本中可以包含的數(shù)據(jù)和指令包括 : 1. 窗口信息 。編輯或編寫腳本可以減少自動化一組測試用例的腳本編寫量。 腳本技術(shù) 測試腳本是測試自動化中必要的組成部分,采用手 動編寫或自動 錄制腳本,每個測試用例產(chǎn)生一個腳本。當(dāng)腳本錄制完畢時,將臨時腳本文件的內(nèi)容寫入用戶指定腳本文件名的腳本文件中,并刪除臨時腳本文件 。 } 生成測試腳本 打開 D 盤 根目錄下名為“ ”的臨時腳本文件,如果該臨時腳本文件已經(jīng)存在,則把文件指針移到末尾;如果該臨時腳本文件不存在,則創(chuàng)建一個新的腳本文件。 =。 strcpy(, chParentWindowClassName)。 =hwnd。) { =。) { if( amp。 amp。 amp。 } //保存關(guān)聯(lián)窗口的窗口標(biāo)題和窗口類 if( amp。 //保存編輯窗口所屬的窗口標(biāo)題 if(strcmp(chrObjectClassName,Button)==0 ||strcmp(chrObjectClassName,Static)==0) { strcpy(chParentWindowText,chrObjectText)。 GetWindowRect(hwnd,amp。 //獲取窗口標(biāo)題 GetClassName(hwnd,chrObjectClassName,256)。 endif 獲取鼠標(biāo)點擊的窗口的窗口信息 查 找鼠標(biāo)點擊的窗口的原理是:首先通過遍歷窗口找出鼠標(biāo)點擊的位置被哪些窗口所包含,然后從中找出尺寸最小的窗口。 private: HMODULE m_hDll。 } } INST m_pfnInst。 } } ~CMouseHookDllCtrl() 蘇州大學(xué)本科生畢業(yè)設(shè)計(論文) 27 { if(m_hDll!=NULL) { FreeLibrary(m_hDll)。 //獲取鼠標(biāo)鉤子函數(shù) m_pfnUnst=(UNST)GetProcAddress(m_hDll, UninstallMouseHook)。 class CMouseHookDllCtrl { public: CMouseHookDllCtrl(const char* pDllFileName): m_hDll(NULL),m_pfnInst(NULL),m_pfnUnst(NULL) { m_hDll=LoadLibrary(pDllFileName)。 //函數(shù)定義 typedef void(*INST)(HWND hwndMainWindow)。 ifndef _RECORDSCRIPT_H_ define _RECORDSCRIPT_H_ include //DLL 入口函數(shù) void InstallMouseHook(HWND hwndMainWindow)。 UpdateWindow(hWindowHandle)。 KeybdHookState=FALSE。 //卸載鼠標(biāo)鉤子函數(shù) UnhookWindowsHookEx(hKeybdHook)。 hMouseHook=NULL。 //安裝鍵盤鉤子函數(shù) } 函數(shù) UninstallMouseHook 負(fù)責(zé)卸載鼠標(biāo)和鍵盤的鉤子函數(shù)。 //安裝鼠標(biāo)鉤子函數(shù) hKeybdHook=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeybdFunc, (HINSTANCE)hInstance,0)。 hMouseHook=SetWindowsHookEx(WH_MOUSE,(HOOKPROC)MouseFunc, (HINSTANCE)hInstance,0)。 void InstallMouseHook(HWND hwndMainWindow) { hWindowHandle=hwndMainWindow。 圖 41 自動化測試工具的主 界面 錄制模塊 因為需要在不同的進(jìn)程間捕獲窗口事件,所以有必要新建一個 MFC DLL 項目RecordScript,編寫相應(yīng)的鼠標(biāo)和鍵盤的鉤子函數(shù)專門用于捕獲不同進(jìn) 程的鼠標(biāo)和鍵盤事件,然后在項目 TheTree 中調(diào)用項目 RecordScript 中生成的 DLL 文件。如
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1