




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、性能測試腳本錄制調(diào)試指南性能測試/腳本錄制調(diào)試指南性能測試/腳本錄制調(diào)試指南 PAGE 31 PAGE 31腳本錄制調(diào)試指南返回企業(yè)版測試腳本工具簡述使用性能測試進行測試的時候,針對簡單URL請求,很多用戶都可以直接按照模板來進行編寫,相當(dāng)簡單;但 對于某些稍微復(fù)雜的業(yè)務(wù),例如登陸、考試、訂購、購買、發(fā)帖、回帖、退出等業(yè)務(wù),由于捕獲請求內(nèi)容或者 手工編寫腳本工作量稍大,給用戶帶來不便,在此背景下,性能測試項目組開發(fā)了基于Firefox(支持37及以下 版本)和Chrome瀏覽器插件錄制工具。通過使用此工具,用戶在被測系統(tǒng)中進行手工操作業(yè)務(wù),錄制工具會將用戶的操作行為進行錄制,錄制完成以 后,自
2、動生成腳本,根據(jù)業(yè)務(wù)規(guī)則可能稍微修改一下腳本,就可以運行腳本了,錄制下來的腳本模擬了用戶真 實的操作行為,極大地方便用戶的使用。使用指南工具下載與安裝一、Chrome錄制工具下載與安裝1.chrome錄制工具下載下載地址:chrome_pts_record_tool或登錄阿里云進入性能測試頁面 - 點擊測試腳本- 點擊新增腳本- 編寫方式選擇手工編寫- 點擊錄制工具下載- 點擊下載。如下圖展示:2.點擊繼續(xù),會提示如下信息,需手動安裝:3.首先打開Chrome擴展程序:4.將下載的文件:Aliyun-PTS-Record-Tool_v.crx直接拖動到擴展程序中:E-MapReduce/常見問
3、題E-MapReduce/常見問題5.提示信息確認(rèn)是否添加,點擊添加:6.完成安裝后,擴展程序中顯示安裝的性能測試錄制工具,同時瀏覽器右上角會顯示性能測試錄制工具Logo:7.點擊性能測試錄制工具Logo,即可打開工具,進行腳本錄制操作,安裝完成!二、Firefox錄制工具下載與安裝1.Firefox錄制工具下載下載地址:firefox_pts_record_tool或使用Firefox瀏覽器登錄阿里云進入性能測試頁面 - 點擊測試腳本- 點擊新增腳本- 編寫方式選擇手工編寫- 點擊錄制工具下載- 點擊下載。如下圖展示:2.打開新的瀏覽器標(biāo)簽頁,提示是否允許下載安裝,點擊允許:3.下載完成后,
4、提示用戶是否安裝,點擊立刻安裝:4.安裝成功后,會顯示提示信息,同時瀏覽器右上角會有性能測試錄制工具Logo:5.點擊性能測試錄制工具Logo,即可打開工具,進行腳本錄制操作,安裝完成!功能界面介紹體驗館/云引擎ACE體驗館/云引擎ACE錄制使用步驟1:打開瀏覽器點擊右上角性能測試錄制工具Logo,彈出錄制工具框和瀏覽器,截圖如下:備注:錄制工具打開后默認(rèn)啟用開始錄制。RDSRDS/API步驟2:定義事務(wù)名,在瀏覽器輸入URL進行訪問操作,錄制工具會自動記錄訪問操作過程中的HTTP請求。步驟3:錄制工具默認(rèn)只顯示HTML類型HTTP的錄制請求,如需顯示其他類型請求請點擊內(nèi)容過濾選 擇需要顯示的
5、類型請求。步驟4:錄制完成后點擊停止錄制按鈕,如果需要預(yù)覽錄制生成的腳本,請點擊腳本預(yù)覽按鈕,步驟5:預(yù)覽腳本確認(rèn)沒問題后就可以點擊上傳腳本按鈕保存腳本到性能測試云端,完成腳本錄制過 程。阿里云郵箱發(fā)送郵件腳本示例業(yè)務(wù)調(diào)研假設(shè)針對阿里云郵箱系統(tǒng)進行壓測,郵箱最主要的業(yè)務(wù)是發(fā)郵件,發(fā)郵件流程是登陸郵箱,發(fā)送一封又一封的 郵件,而在業(yè)務(wù)高峰的時候,可能會有很多人在給不同的人發(fā)郵件,郵件主題和內(nèi)容都可能不一樣,發(fā)完郵件 后,退出郵箱系統(tǒng),采用性能測試錄制工具將此過程錄制下來。錄制業(yè)務(wù)流程請求步驟1:訪問阿里云郵箱步驟2:登陸郵箱性能測試/性能測試視頻教程性能測試/性能測試視頻教程步驟3:進入寫郵件頁
6、面步驟4:發(fā)送郵件OSS/周邊工具OSS/周邊工具步驟5:退出郵箱步驟6:保存錄制腳本到性能測試云端添加參數(shù)化參數(shù)化定義: 將腳本中錄制下來的特定值用一個變量來代替,該變量的值是可變的。例如收件人郵箱、標(biāo)題內(nèi)容等。參數(shù)化作用: 主要是模擬用戶真實訪問系統(tǒng)和避免一些系統(tǒng)約束導(dǎo)致虛擬用戶運行失敗。參數(shù)化策略:是否需要唯一性約束是否需要當(dāng)前時間是否需要從緩存中獲得或模擬緩存策略是否受其他字段約束阿里云大數(shù)據(jù)平臺/郡縣圖治阿里云大數(shù)據(jù)平臺/郡縣圖治如果測試腳本需要發(fā)送郵件給不同的收件人,并且不同的收件人郵箱標(biāo)題和內(nèi)容不一樣。這種情況下就需要我 們對錄制下來的收件人、郵箱標(biāo)題、郵箱內(nèi)容進行參數(shù)化操作:步
7、驟1:準(zhǔn)備參數(shù)化文件-CSV格式,用UE或Notepad工具(不要用Excel)進行編輯,每列參數(shù)化列 值以逗號分隔;注意如果參數(shù)化文件內(nèi)容包含中文,參數(shù)化文件請使用UTF-8無BOM格式編碼保存。from com.aliyun.pts import DsvReader from com.aliyun.pts import ParamManager params = ParamManager.getInstance()params.addProvider(DsvReader(umail.csv)步驟2:上傳參數(shù)化文件mail.csv到性能測試腳本編輯頁面from com.aliyun.pts
8、import DsvReader from com.aliyun.pts import ParamManager params = ParamManager.getInstance()params.addProvider(DsvReader(umail.csv)步驟4:在腳本中找到需要參數(shù)化的URL請求,進行參數(shù)化 需要參數(shù)化內(nèi)容:%5B%22181791781%40提取參數(shù)化文件的參數(shù)值:Import urllib Import urllib Sendmail_addr=urllib.quote(params.getParamValue(umail.csv:sendmail_addr).en
9、code(utf-8)備注:如果參數(shù)化內(nèi)容需要URL轉(zhuǎn)碼,需要使用urllib.quote方法轉(zhuǎn)碼 替換需要參數(shù)的內(nèi)容:添加文本檢查點文本檢查點是通過對HTTP請求響應(yīng)的文本內(nèi)容進行檢查是否包含預(yù)先設(shè)置的文本內(nèi)容;用戶可以通過設(shè)置文本 檢查點來判斷事物是否成功。發(fā)送郵件的HTTP請求成功后響應(yīng)文本內(nèi)容包含了success關(guān)鍵字,通過文本檢 查點來判斷發(fā)送郵件事務(wù)是否成功。性能測試/Lite用戶使用手冊性能測試/Lite用戶使用手冊#當(dāng)響應(yīng)返回碼為200,且返回body內(nèi)容包含success則返回True #當(dāng)響應(yīng)返回碼為200,且返回body內(nèi)容包含success則返回True PTS.Htt
10、pUtilities.checkResponse(200, success )添加關(guān)聯(lián)關(guān)聯(lián)定義: 在錄制腳本時,錄制工具會攔截客戶端和服務(wù)器端之間的會話生成腳本,生成的腳本都是一成不變的。但是業(yè)務(wù)流程中的HTTP請求中存在一些上下文依賴的動態(tài)數(shù)據(jù),比如說向服務(wù)器發(fā)送一 個login請求,并發(fā)給服務(wù)器用戶名和口令的數(shù)據(jù),服務(wù)器端驗證數(shù)據(jù)正確后發(fā)送給客戶端一個sessionID,不同的客戶端登錄會返回不同的sessionID,客戶端下一次請求的時候就會發(fā)送上次請求 返回的sessionID給服務(wù)器端進行驗證合法性。關(guān)聯(lián)就是把腳本中某些固定數(shù)據(jù)轉(zhuǎn)變成獲取自服務(wù)器發(fā) 送的、動態(tài)的、每次都不一樣的數(shù)據(jù)。
11、關(guān)聯(lián)作用: 主要是模擬更真實用戶訪問系統(tǒng)的行為保證業(yè)務(wù)的邏輯性和準(zhǔn)確性、防止服務(wù)器校驗導(dǎo)致腳本運行失敗。關(guān)聯(lián)策略:在腳本中請求中對動態(tài)值進行參數(shù)化決定要捕捉的動態(tài)值(通過兩個腳本比較、開發(fā)建議、腳本經(jīng)驗)創(chuàng)建一個參數(shù)保存捕捉的動態(tài)值對腳本中固定值進行參數(shù)化驗證腳本執(zhí)行的準(zhǔn)確性例阿里云登錄提交請求POST,標(biāo)紅的表單數(shù)據(jù)都是:可以通過HTTP協(xié)議抓包工具(httpwacth、firebug、fiddler)查找需要關(guān)聯(lián)的動態(tài)表單數(shù)據(jù)具體在前面哪個 請求中返回:大數(shù)據(jù)處理服務(wù)MaxCompute/安全指南大數(shù)據(jù)處理服務(wù)MaxCompute/安全指南通過抓包工具查找到具體請求后,在性能測試腳本請求后
12、面添加獲取動態(tài)值方法。/mini_login.htm?lang=zh_CN&appName=yunmail&appEntrance=default &cssLink=&styleType=auto&bizParams=¬LoadSsoView=true¬KeepLogin=true&rnd=0.87515 22711732308請求響應(yīng)內(nèi)容:腳本示例: 抓取動態(tài)關(guān)聯(lián)值:使用動態(tài)關(guān)聯(lián)值:FAQ問:性能測試錄制工具可以錄制非Chrome、Firefox瀏覽器以外的其他應(yīng)用HTTP/HTTPS協(xié)議請求嗎?答:不能,目前只能基于Firefox(支持37及以下版本)和Chrome瀏覽器進行錄
13、制,其他瀏覽器IE、QQ、Sogou等都是不可以的。問:行為和事務(wù)有何區(qū)別?答:行為指的是一系列業(yè)務(wù)操作或請求組合,而事務(wù)是衡量行為里面一些業(yè)務(wù)操作或請求所需要的時間,在進 行壓測的時候,可以在性能測試實時監(jiān)控圖表中顯示事務(wù)的時間。默認(rèn)情況下,行為和事務(wù)是默認(rèn)的名字,雙 擊行為名稱,可以進行修改事務(wù)的名字。問:腳本錄制下來以后,運行沒問題,但業(yè)務(wù)沒有做成功,可能原因是?答:這個問題的產(chǎn)生是多方面的,在性能測試領(lǐng)域叫做腳本空轉(zhuǎn),可能的原因有4點:(1)數(shù)據(jù)是一次性的,這樣的話錄制的時候就用掉了,再運行腳本的時候,數(shù)據(jù)是無效的,因此業(yè)務(wù)是做不成 功的,例如訂單支付、活期銷戶;可以通過參數(shù)化解決。(
14、2)需要關(guān)聯(lián),有些業(yè)務(wù)關(guān)聯(lián)性非常強,不進行關(guān)聯(lián)的話,業(yè)務(wù)也是不成功的,例如用戶ID,TokenID等;可 以通過關(guān)聯(lián)進行解決。(3)一些重要的請求丟失,默認(rèn)錄制工具會將非html類型的請求過濾掉,例如一些json類型的,而這些json類型也是必須的,可以通過選中此類型請求進行解決。(4)其他方面的原因等問:需要關(guān)聯(lián)的數(shù)據(jù)來自于哪個請求,如何快速查找?答:正在開發(fā)易于關(guān)聯(lián)的數(shù)據(jù)查找,將會在后續(xù)版本中實現(xiàn),目前最好的辦法是咨詢開發(fā)人員、自己定位、尋 求性能測試技術(shù)人員技術(shù)支持。問:哪些數(shù)據(jù)需要關(guān)聯(lián)?答:一般情況下,最快的辦法是咨詢開發(fā)人員;也可以通過錄制兩份腳本進行對比,不一樣的數(shù)據(jù)可能就需要 關(guān)
15、聯(lián);對于有一定經(jīng)驗的相關(guān)人員可以通過猜測,例如用戶ID,TokenID等。問:參數(shù)化和關(guān)聯(lián)必須有么?答:不一定,看業(yè)務(wù)規(guī)則,如果業(yè)務(wù)沒有關(guān)聯(lián)的話,可以不需要,為了更加真實的模擬實際業(yè)務(wù)場景,建議盡 可能的將數(shù)據(jù)進行參數(shù)化。問:部分Chrome瀏覽器用戶安裝插件后,重新打開Chrome瀏覽器錄制工具插件自動灰掉,不能使用答:由于非來自Chrome網(wǎng)上應(yīng)用店擴展程序,已停用的擴展程序均顯示為灰色,且無法重新啟用,需要在擴 展程序中刪除后重新安裝。返回企業(yè)版測試腳本返回企業(yè)版測試腳本腳本調(diào)試使用手冊功能概述OSS/圖片服務(wù)手冊O(shè)SS/圖片服務(wù)手冊腳本開發(fā)完成后,需通過回放腳本、調(diào)試腳本代碼邏輯和驗證
16、虛擬用戶的基本業(yè)務(wù)功能是否成功,在性能測試 中通過回放請求快照及執(zhí)行日志信息來查看請求成功或失敗后需要解決的錯誤和問題。腳本常見錯誤類型腳本調(diào)試使用流程i大數(shù)據(jù)處理服務(wù)MaxCompute/Java SDK大數(shù)據(jù)處理服務(wù)MaxCompute/Java SDKii調(diào)試運行完畢后自動跳轉(zhuǎn)到調(diào)試詳情頁面,查看請求快照和執(zhí)行日志。請求快照可查看具體某個HTTP請求響應(yīng)碼狀態(tài)、類型、請求響應(yīng)時間分解,點擊某個請求可展開查看請求和響 應(yīng)報文詳細(xì)信息。執(zhí)行日志包含日志詳情和標(biāo)準(zhǔn)輸出兩個模塊,日志詳情內(nèi)容主要包含用戶業(yè)務(wù)運行相關(guān)日志,如壓測進程啟動、 業(yè)務(wù)請求開始執(zhí)行時間、狀態(tài)、響應(yīng)內(nèi)容大小、請求執(zhí)行線程、P
17、TS.Logger.*日志函數(shù)輸出等信息;標(biāo)準(zhǔn)輸出 內(nèi)容主要包含標(biāo)準(zhǔn)正常輸出和標(biāo)準(zhǔn)錯誤輸出兩部分,標(biāo)準(zhǔn)正常輸出主要包含事務(wù)、print、system.out語句 等輸出信息,標(biāo)準(zhǔn)錯誤輸出包含腳本編寫錯誤、運行時異常等輸出信息。常用腳本調(diào)試驗證方法手工驗證手工業(yè)務(wù)驗證在腳本執(zhí)行期間或執(zhí)行完成后,通過手工檢查腳本業(yè)務(wù)功能是否成功實現(xiàn),比如: 通過被測程序后臺管理檢查腳本模擬用戶是否登錄成功; 檢查腳本下載文件是否在壓力機本地; 檢查腳本新增業(yè)務(wù)記錄或者修改業(yè)務(wù)記錄是否與查詢的業(yè)務(wù)記錄一致等。數(shù)據(jù)庫更新驗證在腳本執(zhí)行期間或執(zhí)行完成后,通過數(shù)據(jù)庫查詢數(shù)據(jù)更新狀態(tài)是否和預(yù)期腳本實現(xiàn)的狀態(tài)一致?;胤趴煺沼?/p>
18、錄在腳本執(zhí)行完成后,通過查看性能測試回放快照的請求響應(yīng)狀態(tài)及響應(yīng)內(nèi)容來判斷請求是否成功處理 響應(yīng)。注:此功能只限于HTTP協(xié)議。- iv. 日志輸出記錄在腳本執(zhí)行完成后,通過查看性能測試執(zhí)行日志輸出記錄查看腳本請求、事務(wù)處理等過程詳細(xì)信息來 查看和驗證腳本正確性。自動驗證iHTTP響應(yīng)狀態(tài)碼驗證通過模板編輯和錄制工具生成的腳本會自動對事物的每個HTTP請求響應(yīng)碼進行驗證。性能測試默認(rèn)請 求響應(yīng)碼中包含300以上的響應(yīng)碼,定義事務(wù)失敗。如果業(yè)務(wù)需求認(rèn)為300到400之間的響應(yīng)碼是可接 受的,可手工修改事務(wù)成功或失敗判斷語句。注:此功能只限于HTTP協(xié)議。ii通過設(shè)置檢查點可以驗證服務(wù)器響應(yīng)內(nèi)容是
19、否和預(yù)期內(nèi)容一致來判斷請求或事物是否成功。 手工編寫腳本示例代碼:示例代碼中通過checkResponse函數(shù)檢查登錄請求響應(yīng)碼和響應(yīng)內(nèi)容來判斷登錄請求是否成功;登錄成功輸出login Success!,登錄失敗輸出login Failed;模板編寫腳本示例:查看執(zhí)行日志標(biāo)準(zhǔn)輸出:通過標(biāo)準(zhǔn)輸出日志我們可以看到login Failed信息,表示登錄請求失敗。腳本調(diào)試使用案例-阿里云郵箱發(fā)送郵件腳本性能測試腳本調(diào)試驗證通用流程:性能測試/Lite實踐指南性能測試/Lite實踐指南錄制腳本錄制阿里云郵箱發(fā)送功能整個業(yè)務(wù)流程請求,上傳保存。阿里云大數(shù)據(jù)平臺/機器翻譯阿里云大數(shù)據(jù)平臺/機器翻譯登錄手工回
20、放、檢查點驗證調(diào)試點擊調(diào)試按鈕,回放錄制請求,可以手工或者添加檢查點進行驗證腳本正確性。登錄請求手工驗證:登錄請求響應(yīng)碼雖然返回200,但是通過請求響應(yīng)內(nèi)容檢查登錄失敗(HTTP200響應(yīng)碼表示服務(wù)器成功處理請 求并響應(yīng),但是從業(yè)務(wù)角度來說200響應(yīng)并不表示請求業(yè)務(wù)處理成功)。添加檢查點自動驗證:在登錄請求后面添加PTS.HttpUtilities.checkResponse(200,success:true)檢查點函數(shù)驗證服務(wù)器是否成功 響應(yīng)請求及請求內(nèi)容是否包含success:true文本。如果登錄失敗輸出自定義失敗標(biāo)志和失敗請求的響應(yīng)數(shù)據(jù)到 日志詳情模塊。添加檢查點后進行調(diào)試,執(zhí)行日志如下:通過日志詳情看到通過檢查點驗證阿里云郵箱登錄失敗,失敗響應(yīng)內(nèi)容中提示請輸入驗證碼。大數(shù)據(jù)處理服務(wù)MaxCompute/Python SDK大數(shù)據(jù)處理服務(wù)MaxCompute/Python SDK登錄關(guān)聯(lián)調(diào)試阿里云郵箱登錄業(yè)務(wù)規(guī)則需要,登錄請求Body表單部分字段數(shù)據(jù)需進行關(guān)聯(lián),關(guān)聯(lián)完成后進行腳本調(diào)試驗證關(guān) 聯(lián)是否成功。登錄請求提交表單內(nèi)容:注:標(biāo)紅的字體為服務(wù)器動態(tài)返回值,需要參數(shù)化關(guān)聯(lián)值。添
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 投入資金沒簽協(xié)議書
- 私人住房買賣協(xié)議書
- 醫(yī)院科研協(xié)議書范本
- 晚會安全協(xié)議書模板
- 兄弟贍養(yǎng)哥哥協(xié)議書
- 親戚住房借住協(xié)議書
- 援藏項目資金協(xié)議書
- 事故協(xié)議書需要簽字
- 同行寵物售賣協(xié)議書
- 家具運輸承包協(xié)議書
- 空氣動力學(xué)試題
- 精軋機組F軋機主傳動系統(tǒng)設(shè)計
- GB 15631-2008特種火災(zāi)探測器
- 菩薩蠻黃鶴樓(毛澤東).中職課件電子教案
- 銀行存款日記賬課件
- 2023高中學(xué)業(yè)水平合格性考試歷史重點知識點歸納總結(jié)(復(fù)習(xí)必背)
- 導(dǎo)游人員管理法律制度課件
- 美國地圖高清中文版
- 金屬監(jiān)督監(jiān)理實施細(xì)則
- 正確認(rèn)識汽車太陽膜課件
- 工程建筑給排水外文文獻翻譯1
評論
0/150
提交評論