版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于Loadrunner的上線基礎(chǔ)數(shù)據(jù)解決方案PAGE2內(nèi)部資料:僅供漢得使用基于Loadrunner的上線基礎(chǔ)數(shù)據(jù)解決方案 內(nèi)部資料:僅供漢得使用 PAGEi基于Loadrunner的上線基礎(chǔ)數(shù)據(jù)解決方案Author: 王海軍CreationDate: 2012-9-30LastUpdated: 2015-11-10Version: 5.0文檔控制更改記錄DateAuthorVersionChangeReference2012-09-30EricWang1無之前版本2012-10-02EricWang2文檔范圍擴(kuò)展為基礎(chǔ)數(shù)據(jù)解決方案2012-10-09EricWang3增加了普通錯誤的處理方式2012-10-19EricWang4增加了對socketmode的數(shù)據(jù)錄入介紹(chapter2&chapter9)2015-11-10Tingting.Wang5進(jìn)行整合梳理查閱人NamePosition分發(fā)CopyNo.NameLocation文檔說明本文檔主要介紹了loadrunner針對ERP的Form和web兩種界面的據(jù)結(jié)構(gòu)導(dǎo)入,對上線基礎(chǔ)數(shù)據(jù)的高效導(dǎo)入提供思路。本文檔所針對的錄制環(huán)境為win7+R12(Serverletmode)+loadrunner11。網(wǎng)絡(luò)資源/testtools/HPloadrunner版面HPloadrunner原文論壇Someotherforeignwebsites目錄TOC\o"1-4"\h\z\u文檔控制 iiChapter1 loadrunner簡介 11.1loadrunner簡介 11.1.1loadrunner簡介 11.2loadrunner腳本構(gòu)成 21.2.1Vuser_init 21.2.2action 21.2.3Vuser_end 21.3錄制環(huán)境簡介 21.3.1錄制環(huán)境簡介 2Chapter2 錄制登陸ERP的腳本 32.1新建Form導(dǎo)入工程 32.1.1打開Loadrunner 32.1.2選擇錄制協(xié)議(serverletmode&socketmode) 42.1.3設(shè)置錄制參數(shù) 52.1.3補(bǔ)充說明 62.2錄制前設(shè)置 72.2.1錄制選項(xiàng)設(shè)置 72.3登陸腳本錄制 92.4腳本修改 112.4.1如果EBS是serverletmode進(jìn)行錄制,則需要進(jìn)行如下腳本修改: 112.4.2如果EBS是socketmode進(jìn)行錄制 122.5腳本replay 122.6小結(jié) 12Chapter3 行結(jié)構(gòu)數(shù)據(jù)的導(dǎo)入 133.1簡介 133.2錄制前的準(zhǔn)備 133.2.1分析界面 133.2.2哪些操作需要循環(huán)? 143.3腳本的錄制 143.3.1Vuser_init腳本錄入 143.3.2action腳本錄入 143.3.3vuser_end腳本錄入 153.4參數(shù)和循環(huán)的設(shè)置 153.4.1如何設(shè)置參數(shù)化選項(xiàng)? 153.4.2如何設(shè)置循環(huán)次數(shù)? 173.5腳本的完成 17Chapter4 頭行結(jié)構(gòu)界面的分類 184.1本章簡介 184.2頭行結(jié)構(gòu)的分類 184.2.1“一對一”的頭行結(jié)構(gòu) 184.2.2“一對多”的頭行結(jié)構(gòu) 194.3關(guān)系型數(shù)據(jù)庫數(shù)據(jù)的唯一結(jié)構(gòu)(行結(jié)構(gòu)) 204.3.1由關(guān)系型數(shù)據(jù)庫發(fā)散開去 204.3.2多層嵌套關(guān)系的變通實(shí)現(xiàn) 20Chapter5 C語言控制RadioButtonGroup的輸入 215.1本章簡介 215.1.1簡介 215.2錄制前的準(zhǔn)備 215.2.1分析界面 215.3腳本的錄制 225.3.1Vuser_init腳本錄制 225.3.2action腳本錄入 225.3.3vuser_end腳本錄入 235.4參數(shù)和循環(huán)的設(shè)置 235.4.1測試數(shù)據(jù)說明 235.4.2參數(shù)化的設(shè)定 235.4.3循環(huán)的設(shè)定 255.5腳本的修改 255.6腳本的完成 26Chapter6 頭行結(jié)構(gòu)界面的數(shù)據(jù)導(dǎo)入 276.1本章簡介 276.2錄制前的準(zhǔn)備 276.2.1分析界面 276.3區(qū)域數(shù)據(jù)的導(dǎo)入(頭) 286.3.1腳本的錄制 286.4貨位數(shù)據(jù)的導(dǎo)入(行) 286.4.1流程分析 286.4.2腳本的錄入 29Chapter7 幾個疑難問題的解決 307.1本章簡介 307.1.1簡介 307.2 窗口名稱動態(tài)變化 307.2.1問題描述 307.2.2問題解決辦法 317.3 Grid界面的數(shù)據(jù)錄入 317.3.1問題描述 317.3.2問題解決辦法 317.4跨環(huán)境登陸腳本的錄入 327.4.1問題描述 327.4.2問題解決辦法 32Chapter8 web界面的數(shù)據(jù)導(dǎo)入 338.1本章簡介 338.1.1簡介 338.2web界面數(shù)據(jù)導(dǎo)入 338.2.1選擇協(xié)議 338.2.2錄制參數(shù)的設(shè)置 348.2.3腳本錄制 358.2.4腳本修改 368.2.5設(shè)置參數(shù)替代和迭代次數(shù) 36Chapter9 基礎(chǔ)數(shù)據(jù)解決方案 379.1本章簡介 379.2三個主要問題 379.2.1基礎(chǔ)數(shù)據(jù)整理部分的三個主要問題 379.3六步解決方案 379.3.1解決上述問題的六個步驟 379.3.2步驟一:制作loadrunner數(shù)據(jù)導(dǎo)入模板 389.3.3步驟二:錄制基礎(chǔ)數(shù)據(jù)腳本 389.3.4步驟三:收集并整理基礎(chǔ)數(shù)據(jù) 399.3.5步驟四:將基礎(chǔ)數(shù)據(jù)整理成loadrunner數(shù)據(jù)導(dǎo)入模板 399.3.6步驟五:在目標(biāo)環(huán)境導(dǎo)入基礎(chǔ)數(shù)據(jù) 399.3.7步驟六:數(shù)據(jù)校驗(yàn) 399.4小結(jié) 40Chapter10 總結(jié) 4110.1本章簡介 4110.1.1簡介 4110.2對界面開發(fā)的指導(dǎo)意義 4110.2.1級聯(lián)LOV的界面設(shè)計(jì) 41Chapter11 附錄 4211.1Q&A 4211.1.1問題:Windoworobjectisdisabled 4211.1.2問題:csv參數(shù)中包含comma 4411.1.3問題:ifErrorexpired(5) 4611.1.4問題:loadrunner記錄不到腳本 4611.1.5問題:Windoworobjectisnotdisplayed 4711.1.6問題:職責(zé)找不到 4811.1.7問題:服務(wù)器是socket傳輸協(xié)議 4811.1.8問題:iteration數(shù)值設(shè)置 50Chapter
1 loadrunner簡介本章主要介紹loadrunner的原理1.1loadrunner簡介1.1.1loadrunner簡介問:Loadrunner是什么?答:Loadrunner是一款壓力測試工具;問:Loadrunner是通過何種原理進(jìn)行壓力測試?答:Loadrunner是通過腳本來模擬用戶在終端(web頁面或應(yīng)用),來產(chǎn)生虛擬用戶訪問。在Loadrunner的壓力測試模塊,可以同時(shí)并發(fā)大量(可指定)的虛擬用戶,同時(shí)進(jìn)行預(yù)錄制的腳本操作,直接與server進(jìn)行交互,對sever產(chǎn)生大量的負(fù)載。通過調(diào)節(jié)并發(fā)用戶數(shù),來查看系統(tǒng)能承受的壓力負(fù)載情況。具體指標(biāo)依照不同性能需求而定。 問:聽說Loadrunner可以用來導(dǎo)數(shù)據(jù)?答:答案是肯定的。Loadrunner可以錄制用戶在web頁面的腳本,事后運(yùn)行腳本可模擬用戶操作,因此,如果我們錄制的腳本是數(shù)據(jù)錄入的,那么我們只要在腳本錄制后對其進(jìn)行簡單修改,通過reply和參數(shù)化替代,即可用來向系統(tǒng)中導(dǎo)數(shù)據(jù)。問:用loadrunner導(dǎo)入數(shù)據(jù)的時(shí)候,是否會和form錄入一樣有數(shù)據(jù)驗(yàn)證?答:有。因?yàn)閘oadrunner運(yùn)行的腳本是通過form界面錄制的,二者與server交互的原理均是一樣的。而Form/server架構(gòu)看似是C/S架構(gòu),實(shí)則是B/S架構(gòu)。數(shù)據(jù)驗(yàn)證均是在server端進(jìn)行,這也是為什么我們做客戶化開發(fā)時(shí),要遵循在Form上僅僅是事件觸發(fā),在server端進(jìn)行數(shù)據(jù)驗(yàn)證的一個重要原因。問:作為功能顧問,為什么要學(xué)這種工具?答:1.導(dǎo)數(shù)據(jù);2.壓力測試。 問:我還有其他問題,怎么辦?答:百度或者谷歌去。上述三個問題,讓你了解Loadrunner的基本作用和原理,如果想了解更多,互聯(lián)網(wǎng)無疑是最好的工具。1.2loadrunner腳本構(gòu)成Loadrunner腳本主要由以下三個部分組成:Vuser_init、action、Vuser_end。下面將分別介紹這三者的含義和用途。1.2.1Vuser_initVuser_init是一個腳本的初始化部分,何為初始化部分?初始化就是在正式導(dǎo)數(shù)據(jù)或者模擬操作前,需要進(jìn)行的系統(tǒng)操作。由于針對ERP的操作均需要登陸系統(tǒng)后,進(jìn)入相應(yīng)的界面,才能進(jìn)行操作,那么,“登陸系統(tǒng)進(jìn)入目標(biāo)界面”這就是一個初始化過程。1.2.2actionAction是腳本中的主體,是錄制數(shù)據(jù)導(dǎo)入的腳本部分。是系統(tǒng)登錄之后,在目標(biāo)數(shù)據(jù)導(dǎo)入界面導(dǎo)入一條完整數(shù)據(jù)的界面操作。在運(yùn)行腳本錄制的過程中,通過對該部分設(shè)置循環(huán),即可自動運(yùn)行多次實(shí)現(xiàn)腳本的導(dǎo)入。1.2.3Vuser_endVuser_end是腳本中結(jié)束的部分,一般是錄制數(shù)據(jù)導(dǎo)入完成后的推出系統(tǒng)操作。Loadrunner腳本主要由上述三部分構(gòu)成,可理解為“登陸系統(tǒng)”、“導(dǎo)入數(shù)據(jù)”和“退出系統(tǒng)”三部分組成。1.3錄制環(huán)境簡介1.3.1錄制環(huán)境簡介客戶端操作系統(tǒng):Win7;Oracle版本:R12;EBS通信模式:Serverletmode及socketmode;Loadrunner版本:11。下載地址:/us/en/software-solutions/loadrunner-load-testing/1.3.2數(shù)據(jù)庫設(shè)置需要開啟權(quán)限UPDATEfnd_nodesnSETn.server_id='OFF'--'SECURE'WHEREn.node_name='AUTHENTICATION';Chapter
2 錄制登陸ERP的腳本本章通過錄制一個簡單的ERP登陸腳本,來講解loadrunnerVuser_init部分腳本的錄制操作。在每個步驟中,將詳細(xì)介紹錄制參數(shù)的含義。2.1新建Form導(dǎo)入工程2.1.1打開Loadrunner打開Loadrunner11,選擇“creat/EditScripts”。2.1.2選擇錄制協(xié)議(serverletmode&socketmode)我們需要根據(jù)EBS的通信協(xié)議模式來決定選擇何種協(xié)議進(jìn)行腳本錄制,EBSForm共分為兩種形式:Serverletmode及socketmode。(具體這兩種模式的區(qū)別,可以百度或谷歌。本文檔主要講解如何進(jìn)行數(shù)據(jù)錄入。)Serverletmode:如果我們的form登陸URL類似下面的,即網(wǎng)址后緊跟的參數(shù)為forms,則該EBS就是使用的serverletmode。:8005/forms/frmservlet?play=&record=names&lang=ZHS&env=NLS_LANG='SIMPLIFIED+CHINESE_AMERICA'+FORMS_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS_USER_DATETIME_FORMAT='DD-MON-RRRR+HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='NUMERIC+DATE+LANGUAGE'+NLS_SORT='BINARY'+NLS_NUMERIC_CHARACTERS='.,'對于此種情況我們就選擇oracleapplication11i協(xié)議進(jìn)行錄制。socketmode:如果我們的form登陸URL類似下面的,即網(wǎng)址后面緊跟的參數(shù)為OA_HTML,則該EBS就是使用的socketmode。:8099/OA_HTML/frmservlet?play=&record=names&lang=ZHS&env=NLS_LANG='SIMPLIFIED+CHINESE_AMERICA'+FORMS_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS_USER_DATETIME_FORMAT='DD-MON-RRRR+HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='NUMERIC+DATE+LANGUAGE'+NLS_SORT='BINARY'+NLS_NUMERIC_CHARACTERS='.,'對于此種情況,我們選擇oracleNCA協(xié)議進(jìn)行錄制。操作截圖:進(jìn)入VirtualUserGenerator界面,點(diǎn)擊“新建”按鈕,選擇需要錄制需要的協(xié)議。2.1.3設(shè)置錄制參數(shù)Recording必輸參數(shù)界面:參數(shù)說明:Applicationtype:需要錄制的應(yīng)用類型,有兩個選項(xiàng),一個是windows本地程序,一個是互聯(lián)網(wǎng)應(yīng)用,我們選擇互聯(lián)網(wǎng)應(yīng)用。Programtorecord:錄制腳本的程序,我們選擇使用IE瀏覽器,在win7下就是IE9.0.URLAddress:因?yàn)槲覀冧浿频氖腔ヂ?lián)網(wǎng)應(yīng)用,需要填寫錄制的URL。這里,直接輸入EBS的form界面的網(wǎng)址來進(jìn)行輸入。該參數(shù)可以在下面界面的URL欄中找到:由于EBSform的通信mode不同,他們的form打開的URL也不同,根據(jù)不同的URL進(jìn)行選擇:Serverletmode::8005/forms/frmservlet?record=names,問號后面的參數(shù)是針對form界面的配置參數(shù),包含了語言等參數(shù),如果要進(jìn)入中文的form環(huán)境,則需要使用加上下列參數(shù)的網(wǎng)址::8005/forms/frmservlet?play=&record=names&lang=ZHS&env=NLS_LANG='SIMPLIFIED+CHINESE_AMERICA'+FORMS_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS_USER_DATETIME_FORMAT='DD-MON-RRRR+HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='NUMERIC+DATE+LANGUAGE'+NLS_SORT='BINARY'+NLS_NUMERIC_CHARACTERS='.,'Socketmode::8099/OA_HTML/frmservlet?record=names,問號后面的參數(shù)是針對form界面的配置參數(shù),包含了語言等參數(shù),如果要進(jìn)入中文的form環(huán)境,則需要使用加上下列參數(shù)的網(wǎng)址::8099/OA_HTML/frmservlet?play=&record=names&lang=ZHS&env=NLS_LANG='SIMPLIFIED+CHINESE_AMERICA'+FORMS_USER_DATE_FORMAT='DD-MON-RRRR'+FORMS_USER_DATETIME_FORMAT='DD-MON-RRRR+HH24%3AMI%3ASS'+NLS_DATE_LANGUAGE='NUMERIC+DATE+LANGUAGE'+NLS_SORT='BINARY'+NLS_NUMERIC_CHARACTERS='.,'WorkingDirectory:工作文件夾,默認(rèn)即可。RecordintoAction:表示需要將動作錄制到哪個section中,可選Vuser_init、action和Vuser_end,可根據(jù)需要選擇:如果是需要錄入初始化信息,則選擇Vuser_init。2.1.3補(bǔ)充說明說明:問:何為數(shù)據(jù)傳輸協(xié)議?答:協(xié)議是網(wǎng)絡(luò)傳輸數(shù)據(jù)的一種標(biāo)準(zhǔn)。這里選擇某種協(xié)議,就會決定你將使用何種協(xié)議進(jìn)行腳本錄制,以及使用何種協(xié)議進(jìn)行腳本的reply(運(yùn)行腳本時(shí)所基于的協(xié)議)。問:在這里我們選擇何種協(xié)議?答:針對oracleform界面的數(shù)據(jù)導(dǎo)入,我們根據(jù)EBS的通信模式進(jìn)行選擇,serverletmode,我們選擇oracleapplication11i;如果是socketmode,我們選擇oraclenca協(xié)議。2.2錄制前設(shè)置在錄制之前,需要對錄制選項(xiàng)進(jìn)行設(shè)置:2.2.1錄制選項(xiàng)設(shè)置PortMapping設(shè)置:大圖:Correlation設(shè)置:上述兩點(diǎn)設(shè)置完成之后,點(diǎn)擊“StartRecording”界面的的“OK”按鈕,即可開始進(jìn)行腳本的錄制。Recordscript設(shè)置:2.3登陸腳本錄制我們需要將登陸腳本錄制在Vuser_initsection中,點(diǎn)擊OK,開始錄制;直接進(jìn)入form界面,登陸系統(tǒng):登陸系統(tǒng),選擇職責(zé),選擇組織,進(jìn)入到數(shù)據(jù)錄入目標(biāo)界面:Loadrunner腳本記錄,在進(jìn)行腳本錄入的時(shí)候,我們可以看到在操作的同時(shí),該軟件會不斷的記錄操作并生成腳本:結(jié)束錄制:點(diǎn)擊該按鈕,即可停止錄制。2.4腳本修改2.4.1如果EBS是serverletmode進(jìn)行錄制,則需要進(jìn)行如下腳本修改:在R12中,只能通過Oraclewebapplication11i的方式錄制和運(yùn)行腳本,錄制腳本之后,更新登陸系統(tǒng)的程序段vuser_init中的web_concurrent_start(NULL);web_url("lservlet;jsessionid=c0a8000856278fe2b7b526604585b11a98f9ec0f459c.e38Lb3aObxqLc40TahmQbhqNbhb0","URL=http://xxx:8011/forms/lservlet;jsessionid=c0a8000856278fe2b7b526604585b11a98f9ec0f459c.e38Lb3aObxqLc40TahmQbhqNbhb0?ifcmd=getinfo&ifhost=***&ifip=*****","Resource=1","RecContentType=application/octet-stream","Referer=","UserAgent=Mozilla/4.0(WindowsXP5.1)Java/1.6.0_07",LAST);將上段程序更改為web_concurrent_start(NULL);web_url("lservlet;jsessionid=","URL=http://xxx:8011{NCAJServSessionId}?ifcmd=getinfo&ifhost=***&ifip=*****","Resource=1","RecContentType=application/octet-stream","Referer=","UserAgent=Mozilla/4.0(WindowsXP5.1)Java/1.6.0_07",LAST);2.4.2如果EBS是socketmode進(jìn)行錄制無需修改腳本2.5腳本replay點(diǎn)擊replay按鈕,即可針對剛才錄制的腳本進(jìn)行回放:回放過程中,有可能會出現(xiàn)問題,請重新核對是否按照本文檔正確設(shè)置。如果本文檔未提及,請自行解決。2.6小結(jié)至此,一個最簡單的腳本就錄制完成了。通過這個例子,我們可以看到loadrunner的工作過程,在體會到它是如何工作的同時(shí),可以多了解一下該軟件的工作原理。本章我們還介紹了針對serverletmode和socketmode兩種模式下,如何進(jìn)行腳本的錄制。通過后面的實(shí)踐,我們可以知道,兩種協(xié)議的區(qū)別,僅僅存在于用戶登錄部分。即:對于serverletmode和socketmode兩種情況下的界面,我們分別用oracleapplication11i和oraclenca協(xié)議進(jìn)行錄入,只有用戶登錄部分(vuser_init)不同,后續(xù)的界面操作記錄的腳本均相同。下面幾章會介紹如何針對EBS進(jìn)行數(shù)據(jù)導(dǎo)入腳本的錄制和設(shè)置。Chapter
3 行結(jié)構(gòu)數(shù)據(jù)的導(dǎo)入本章介紹用loadrunner導(dǎo)入貨位。3.1簡介一個完整的數(shù)據(jù)導(dǎo)入腳本,除了ERP的登陸腳本之外,還包含action和Vuser_end部分,其中action部分是數(shù)據(jù)導(dǎo)入的主體部分。本章節(jié),我們介紹針對一個簡單的行結(jié)構(gòu)如何進(jìn)行腳本錄制。后續(xù)章節(jié)中,我們將針對各種界面進(jìn)行錄制的介紹。3.2錄制前的準(zhǔn)備3.2.1分析界面貨位界面:可以看到,貨位界面是一個純粹的行結(jié)構(gòu)界面。根據(jù)前面的介紹,我們知道,錄制貨位的腳本主要包含以下幾步:錄制Vuser_init部分:錄制從系統(tǒng)登陸到貨位界面的操作;錄制action部分:完整錄制“一個貨位錄入系統(tǒng)”的所有操作,這是用于錄制腳本循環(huán)的主體;錄制Vuser_end部分:錄制關(guān)閉界面、退出系統(tǒng)的操作。3.2.2哪些操作需要循環(huán)?我們可以看到,WMS的貨位錄入界面,是一個簡單行結(jié)構(gòu)界面。那么需要循環(huán)的其實(shí)就是每一條貨位數(shù)據(jù)的錄入操作。請參考下面的循環(huán)圖:a.登陸b.到達(dá)錄制界面,F(xiàn)11+F4c.點(diǎn)擊“新建按鈕”d.a.登陸b.到達(dá)錄制界面,F(xiàn)11+F4c.點(diǎn)擊“新建按鈕”d.退出EBS3.3腳本的錄制我們知道腳本總共分為三部分:Vuser_init、action、Vuser_end。下面從這三個角度來考慮如何針對這三個部分進(jìn)行錄入。3.3.1Vuser_init腳本錄入登陸ERP并進(jìn)入目標(biāo)界面的操作錄制詳見Chapter2。即上圖的a、b、c三個步驟。不要忘記對相應(yīng)的地方需要做修改。記住要將登陸部分與重復(fù)操作部分區(qū)分開,這樣有利于腳本的跨環(huán)境重用。因?yàn)橹挥羞@兩個section耦合度低,才可以在新環(huán)境使用時(shí),只錄入vuser_init的section,就可將腳本重用。3.3.2action腳本錄入登陸系統(tǒng)之后,進(jìn)入到目標(biāo)界面,進(jìn)行數(shù)據(jù)錄入。即上圖的1~4的步驟。注意,在步驟c錄制結(jié)束時(shí),就需要將錄制目標(biāo)section更改為action,即在action中錄制數(shù)據(jù)錄入的操作:3.3.3vuser_end腳本錄入在完整錄入完一條貨位之后,即完整錄入1~4的所有步驟。將目標(biāo)section更改為Vuser_end,對退出系統(tǒng)進(jìn)行錄制。推出系統(tǒng)的錄制是為了關(guān)閉與服務(wù)器通信的session,及時(shí)釋放資源。3.4參數(shù)和循環(huán)的設(shè)置腳本目前錄制的僅僅是針對單條數(shù)據(jù)的錄入,需要通過參數(shù)化和循環(huán)的設(shè)置,來實(shí)現(xiàn)批量數(shù)據(jù)的錄入。下面,將分別詳細(xì)的介紹這兩點(diǎn)。3.4.1如何設(shè)置參數(shù)化選項(xiàng)?Keyparameter的設(shè)置:在錄制腳本之后,用參數(shù)代替要輸入的數(shù)據(jù),下面的locatorname是第一個參數(shù),是一個keyparameter,按照圖中進(jìn)行設(shè)置。對于界面上可留空的字段,我們建議在loadrunner基礎(chǔ)數(shù)據(jù)模板中也要有該字段,如果是空值,留空即可。如果非空,可按基礎(chǔ)數(shù)據(jù)填充。注:此處選擇“序列”、“每次循環(huán)”為參數(shù),其余的參數(shù)如有興趣,可以去百度,由于兩種參數(shù)組合太多,這里不再一一贅述。非keyparameter的設(shè)置:其余參數(shù)按照下圖設(shè)置:最后將代碼中的參數(shù)用形參替代(選中原錄制時(shí)的變量,右鍵選擇替代為已有的形參)。3.4.2如何設(shè)置循環(huán)次數(shù)?設(shè)置循環(huán)次數(shù):3.5腳本的完成在設(shè)置完參數(shù)替代和迭代之后,一個行數(shù)據(jù)錄入的腳本就算完成了。下次如果要在正式環(huán)境中錄入數(shù)據(jù),只需要重新錄制Vuser_init部分的登陸操作即可。Chapter
4 頭行結(jié)構(gòu)界面的分類本章介紹頭行結(jié)構(gòu)的分類。4.1本章簡介通過第二章的介紹,我們可以知道,界面的數(shù)據(jù)結(jié)構(gòu)對于我們設(shè)計(jì)Loadrunner的腳本錄制非常重要。我們可以發(fā)現(xiàn),對于行結(jié)構(gòu)的數(shù)據(jù)來說,制作腳本是非常容易的,但是oracleEBS中除了行結(jié)構(gòu)外還有大量的頭行結(jié)構(gòu)界面,如何對頭行結(jié)構(gòu)的界面進(jìn)行數(shù)據(jù)導(dǎo)入呢?本章,我們會先對OracleEBS的頭行結(jié)構(gòu)做一個簡單的分類,然后對于每個分類,我們詳細(xì)的探討,用何種方案順利完成數(shù)據(jù)的導(dǎo)入。4.2頭行結(jié)構(gòu)的分類我們分析OracleEBS中的頭行結(jié)構(gòu),按照頭行的對應(yīng)關(guān)系可分為兩種:頭行關(guān)系:一對一;頭行關(guān)系:一對多;4.2.1“一對一”的頭行結(jié)構(gòu)舉例說明:頭行結(jié)構(gòu)為“一對一”關(guān)系的界面:物料的定義其實(shí)就是一個典型的“一對一”的頭行結(jié)構(gòu)。因?yàn)殡m然一個物料有多個屬性,但是每個屬性的數(shù)據(jù)結(jié)構(gòu)均是唯一的。這類數(shù)據(jù),其實(shí)本質(zhì)上是一種行結(jié)構(gòu)數(shù)據(jù);從數(shù)據(jù)表的角度,其實(shí)每條物料數(shù)據(jù),實(shí)際上就是一個行記錄。4.2.2“一對多”的頭行結(jié)構(gòu)舉例說明:頭行結(jié)構(gòu)為“一對多”關(guān)系的界面:WMS中將貨位分配給區(qū)域,是典型的“一對多”的頭行結(jié)構(gòu);銷售訂單、采購訂單等的頭行結(jié)構(gòu),也是屬于這種一對多的關(guān)系。這類最大的特征是,行的數(shù)據(jù)結(jié)構(gòu)基本是相同的。下面分別是區(qū)域的頭行界面、銷售訂單的界面:在數(shù)據(jù)表中,區(qū)域數(shù)據(jù)是由兩個表存儲:區(qū)域數(shù)據(jù)頭表;區(qū)域數(shù)據(jù)行表,即區(qū)域所包含的貨位的數(shù)據(jù)表。4.3關(guān)系型數(shù)據(jù)庫數(shù)據(jù)的唯一結(jié)構(gòu)(行結(jié)構(gòu))4.3.1由關(guān)系型數(shù)據(jù)庫發(fā)散開去事實(shí)上,我們在前臺看到的所有數(shù)據(jù)在后臺表中,均是以二維表的形式進(jìn)行存儲,頭行的關(guān)聯(lián)關(guān)系是通過行表中的某些字段記錄頭信息,實(shí)現(xiàn)關(guān)聯(lián)。因此,所有數(shù)據(jù)均可以轉(zhuǎn)為二維的行結(jié)構(gòu)數(shù)據(jù)。目前的數(shù)據(jù)庫模型還是關(guān)系型數(shù)據(jù)庫,在后臺就是一張張二維表,每列是一個字段,每行是一條記錄。所以可以大膽的推測,只要是關(guān)系型數(shù)據(jù)庫的,且loadrunner支持其應(yīng)用所使用的協(xié)議,均可以轉(zhuǎn)化成行結(jié)構(gòu),進(jìn)行數(shù)據(jù)的導(dǎo)入。4.3.2多層嵌套關(guān)系的變通實(shí)現(xiàn)到目前為止,我們知道,loadrunner可以通過設(shè)置參數(shù)替換和迭代的方式實(shí)現(xiàn)批量數(shù)據(jù)的導(dǎo)入,但是如果是頭行結(jié)構(gòu),邏輯上來看是一個嵌套循環(huán)。Loadrunner支持C語言編程,可實(shí)現(xiàn)多層循環(huán),但是增加了腳本制作的難度,我們可以逐層分解,用loadrunner的單層迭代即可實(shí)現(xiàn)導(dǎo)入。下面簡單說明頭行結(jié)構(gòu)錄入的方式:我們可以看到在此頭行結(jié)構(gòu)中,頭是區(qū)域,行是貨位。我們可以先批量錄入?yún)^(qū)域,后面再批量錄入貨位與區(qū)域的關(guān)聯(lián)(可以把區(qū)域看做是貨位數(shù)據(jù)表中的一個屬性)。Chapter
5 C語言控制RadioButtonGroup的輸入本章介紹本質(zhì)為行結(jié)構(gòu)的頭行結(jié)構(gòu)的數(shù)據(jù)導(dǎo)入(或修改),重點(diǎn)介紹利用C語言控制結(jié)構(gòu)。5.1本章簡介5.1.1簡介本章以主組織物料的數(shù)據(jù)為例,來介紹如何結(jié)合C語言編程,控制物料屬性的導(dǎo)入。本章的重點(diǎn)是說明通過C語言來控制特定屬性控件的導(dǎo)入(如:radiobuttongroup),為了突出重點(diǎn),本案例操作是在系統(tǒng)已有的物料基礎(chǔ)上,對radiobutton屬性進(jìn)行修改。5.2錄制前的準(zhǔn)備5.2.1分析界面主組織物料界面:因?yàn)槊總€物料的屬性并不一樣,需要根據(jù)基礎(chǔ)數(shù)據(jù)來實(shí)時(shí)判斷選擇哪些屬性。比如:有下列三種物料,但是對于“轉(zhuǎn)換”的值卻不一樣。metiarialconvert100200138311R16400501210040004463注:1表示選擇標(biāo)準(zhǔn); 2表示選擇特定物料; 3表示選擇二者??梢钥闯?,對于這種情況,需要根據(jù)源數(shù)據(jù)模板實(shí)時(shí)判斷。正好loadrunner也提供基于C語言的編程,可以通過C語言解決此問題。5.3腳本的錄制5.3.1Vuser_init腳本錄制登陸ERP并進(jìn)入目標(biāo)界面的操作錄制詳見Chapter2。5.3.2action腳本錄入登陸系統(tǒng)之后,進(jìn)入到目標(biāo)界面,進(jìn)行數(shù)據(jù)修改操作。查找出一個系統(tǒng)已有物料,錄制分別選擇“轉(zhuǎn)換”的三種值的腳本,然后再在后面利用C語言對其進(jìn)行結(jié)構(gòu)控制。下面是錄制的腳本:nca_button_set("MTL_SYSTEM_ITEMS_ALLOWED_UNITS_LOOKUP_CODE_MIR_STANDARD_0",1);//選擇“標(biāo)準(zhǔn)”nca_button_set("MTL_SYSTEM_ITEMS_ALLOWED_UNITS_LOOKUP_CODE_MIR_ITEM_SPECIFIC_0",1);//選擇“特定物料”nca_button_set("MTL_SYSTEM_ITEMS_ALLOWED_UNITS_LOOKUP_CODE_MIR_BOTH_0",1);//選擇“兩者”注意:在Vuser_initsection結(jié)束的時(shí)候,就需要將錄制目標(biāo)section更改為action,即在action中錄制數(shù)據(jù)錄入的操作。5.3.3vuser_end腳本錄入在完整錄入完一條貨位之后,將目標(biāo)section更改為Vuser_end,對退出系統(tǒng)進(jìn)行錄制。推出系統(tǒng)的錄制是為了關(guān)閉與服務(wù)器通信的session,及時(shí)釋放資源。5.4參數(shù)和循環(huán)的設(shè)置5.4.1測試數(shù)據(jù)說明腳本目前錄制的僅僅是針對單條數(shù)據(jù)的修改,需要通過參數(shù)化和循環(huán)的設(shè)置,來實(shí)現(xiàn)批量數(shù)據(jù)的錄入。下表中就是進(jìn)行測試的模擬數(shù)據(jù):metiarialconvert100200138311R16400501210040004463注:1表示選擇標(biāo)準(zhǔn); 2表示選擇特定物料; 3表示選擇二者。5.4.2參數(shù)化的設(shè)定選擇loadrunner數(shù)據(jù)模板:設(shè)置選項(xiàng):Material:Convert:5.4.3循環(huán)的設(shè)定因?yàn)橹挥腥龡l數(shù)據(jù),我們只要設(shè)置action循環(huán)數(shù)量為3.5.5腳本的修改由于不同的物料,可能需要設(shè)置的“轉(zhuǎn)換”屬性不同,而RadioButtonGroup與LOV不同,不可以直接進(jìn)行輸入,需要手工點(diǎn)選。因此我們采用C語言的控制結(jié)構(gòu),來實(shí)現(xiàn)不同物料的不同屬性設(shè)置,尤其是針對radiobutton類型的屬性控件。下面是修改后的actionsection的代碼:Action(){char*convert[100];//聲明字符串變量 strcpy(convert,lr_eval_string("{convert}"));//獲取loadrunner數(shù)據(jù)模板中本次迭代的參數(shù)值 nca_obj_type("MTL_SYSTEM_ITEMS_INVENTORY_ITEM_MIR_0",'z',0); nca_edit_set("MTL_SYSTEM_ITEMS_INVENTORY_ITEM_MIR_0","{material}"); nca_obj_type("MTL_SYSTEM_ITEMS_INVENTORY_ITEM_MIR_0",'z',MODIF_CONTROL); lr_think_time(9); //判斷勾選哪個屬性 if(!strcmp(convert,"1")){ nca_button_set("MTL_SYSTEM_ITEMS_ALLOWED_UNITS_LOOKUP_CODE_MIR_STANDARD_0",1);//選擇“標(biāo)準(zhǔn)” } if(!strcmp(convert,"2")){ nca_button_set("MTL_SYSTEM_ITEMS_ALLOWED_UNITS_LOOKUP_CODE_MIR_ITEM_SPECIFIC_0",1);//選擇“特定物料” } if(!strcmp(convert,"3")){ nca_button_set("MTL_SYSTEM_ITEMS_ALLOWED_UNITS_LOOKUP_CODE_MIR_BOTH_0",1);//選擇“二者” }nca_obj_type("MTL_SYSTEM_ITEMS_INVENTORY_ITEM_MIR_0",'S',MODIF_CONTROL); nca_obj_type("MTL_SYSTEM_ITEMS_INVENTORY_ITEM_MIR_0",'z',0); nca_obj_type("MTL_SYSTEM_ITEMS_INVENTORY_ITEM_MIR_0",'s',0); return0;}5.6腳本的完成通過上面的修改之后,我們的腳本基本可以完成了??梢钥吹剑槍o輸入數(shù)據(jù)的控件,完全可以通過C語言來“翻譯”,將數(shù)據(jù)模板里的代號,翻譯成相應(yīng)的動作,實(shí)現(xiàn)對類似radiobuttongroup控件的數(shù)據(jù)錄入。更進(jìn)一步,我們可以知道,loadrunner可是更靈活的對程序運(yùn)行進(jìn)行控制,至于C語言對loadrunner腳本的控制,大家可以繼續(xù)去探究。Chapter
6 頭行結(jié)構(gòu)界面的數(shù)據(jù)導(dǎo)入本章介紹“一對多”頭行結(jié)構(gòu)的數(shù)據(jù)導(dǎo)入。6.1本章簡介本章主要介紹針對R12中WMS中的區(qū)域數(shù)據(jù)的錄入,該界面有以下幾個難點(diǎn):窗口名稱動態(tài)變化:loadrunner是靠窗體名稱來定位數(shù)據(jù)錄制窗體的,而在oracle的有些界面,窗口名稱是事實(shí)變化的,需要通過C語言來動態(tài)拼接生成窗口名稱,以解決此問題;JavaGrid控件腳本的錄入:針對JavaGrid控件的操作,在錄制成腳本后,再次回放時(shí),總是報(bào)錯,該問題具有普遍性,在查看了外國友人的大量的文檔之后,使用一種hack的方式可以解決。下面,會依托WMS的區(qū)域數(shù)據(jù)的導(dǎo)入,來介紹如何解決上述兩個問題,同時(shí)介紹對頭行結(jié)構(gòu)的界面進(jìn)行基礎(chǔ)數(shù)據(jù)錄入的解決思路。6.2錄制前的準(zhǔn)備6.2.1分析界面本章介紹針對頭行結(jié)構(gòu)的界面的數(shù)據(jù)導(dǎo)入,我們以區(qū)域?yàn)槔?,來介紹數(shù)據(jù)的導(dǎo)入??梢钥吹?,區(qū)域的界面其實(shí)是由兩個界面組成:區(qū)域頭界面、區(qū)域包含的貨位界面。按照對頭行結(jié)構(gòu)的分類,我們可以看到實(shí)際上是由兩個行結(jié)構(gòu)的界面組成。針對這類的界面,我們一般將錄制步驟進(jìn)行分解,分解成兩步:頭數(shù)據(jù)導(dǎo)入:區(qū)域頭數(shù)據(jù)的導(dǎo)入;行數(shù)據(jù)導(dǎo)入:查找區(qū)域,并為每個區(qū)域?qū)胂鄳?yīng)的貨位。6.3區(qū)域數(shù)據(jù)的導(dǎo)入(頭)6.3.1腳本的錄制從界面可以看到,每一個區(qū)域的頭記錄其實(shí)就是一行,可以仿照貨位的錄入方式,來錄制腳本。這里不做贅述。6.4貨位數(shù)據(jù)的導(dǎo)入(行)6.4.1流程分析分析區(qū)域貨位界面,可以看出,其實(shí)最終的操作對象還是貨位,與其說為區(qū)域添加貨位,實(shí)際上還不如說是將貨位分配給區(qū)域,loadrunner的操作對象永遠(yuǎn)要考慮最底層的數(shù)據(jù)項(xiàng):actionVuser_endVuser_initc.退出EBSb.進(jìn)入物料主組織界面a.登陸系統(tǒng)actionVuser_endVuser_initc.退出EBSb.進(jìn)入物料主組織界面a.登陸系統(tǒng)因此,我們的數(shù)據(jù)整理模板應(yīng)該如下:zonenamesubinvlocatorzone100219172050120501-000001zone100219172050120501-000002zone100219172050120501-000003zone100219172050120501-000004zone100219172050120501-000005zone100219172050120501-000006zone100219172050120501-000007zone100219172050120501-000008zone100219172050120501-000009每次查詢zonename,然后向其中添加貨位,這就是一次循環(huán),就完成了一次操作。下次循環(huán)就是重新查詢頭,在添加行。6.4.2腳本的錄入可以看到,將所有的輸入都轉(zhuǎn)化成行結(jié)構(gòu)之后,其實(shí)腳本的錄入都很簡單。不過本界面有兩個問題,在本章開始就已經(jīng)提到,這兩個問題將在第7章統(tǒng)一介紹。Chapter
7 幾個疑難問題的解決本章介紹Loadrunner的幾個比較難的問題。7.1本章簡介7.1.1簡介在學(xué)習(xí)使用loadrunner的過程中,出現(xiàn)以下幾個問題:名稱動態(tài)變化的窗口的數(shù)據(jù)錄入;OracleGrid界面的數(shù)據(jù)錄入(包含nca_java_action無法解析問題的解決);跨環(huán)境的腳本錄入;窗口名稱動態(tài)變化7.2.1問題描述在第六章,為區(qū)域分配相應(yīng)的貨位時(shí),會出現(xiàn)如下界面:我們可以看到:在點(diǎn)擊了Addlocators之后,彈出窗的窗體名稱為”FindLocatorstoAddToZone(“+zonename+”)”,為不同的區(qū)域添加貨位,彈出的窗體名稱就會不同。當(dāng)我們在URL中使用“?record=names”作為錄制參數(shù)的時(shí)候,就是根據(jù)窗體名稱來定位操作的,因此需要動態(tài)實(shí)現(xiàn)窗體名稱的拼接。7.2.2問題解決辦法下面是用C語言實(shí)現(xiàn)的窗體名稱拼接,并且將拼接后的字符串轉(zhuǎn)換成LPSTR格式,以供nca_set_window()函數(shù)調(diào)用。 char*head[100]; char*head2[100]; LPSTRwindowname; LPSTRwindowname2; //取參數(shù) strcpy(head,"FindLocatorstoAddToZone("); strcat(head,lr_eval_string("{zonename}")); strcat(head,")"); windowname=(LPCSTR)head; strcpy(head2,"AddLocators(V05)-"); strcat(head2,lr_eval_string("{zonename}"));windowname2=(LPCSTR)head2;上述代碼就是實(shí)現(xiàn)窗體重新拼接的代碼,大家有興趣可以嘗試一下。Grid界面的數(shù)據(jù)錄入7.3.1問題描述在Grid界面進(jìn)行數(shù)據(jù)錄入的時(shí)候,會錄制產(chǎn)生下列的腳本:nca_java_action("LOCATORS_GRID_0","rowSelectionEvent","selectedRows==[2]-1[2]-1;");NCA_TIMER_SCHEDULE();NCA_TIMER_EXPIRED();在對包含有該段的腳本運(yùn)行時(shí),會報(bào)錯,無法運(yùn)行通過。7.3.2問題解決辦法Step1:將“NCA_TIMER_SCHEDULE();”和“NCA_TIMER_EXPIRED();”刪掉,在nca_java_action語句前后添加如下語句:nca_step_begin();nca_java_action("LOCATORS_GRID_0","rowSelectionEvent","selectedRows==[2]-1[2]-1;");nca_step_end();Step2:需要將腳本錄制產(chǎn)生的文件夾中的default.cfg文件,找到下面的段,添加“NcaTimerWaitMode=0”[NCA_GENERAL]NcaTimerWaitMode=0將NcaTimerWaitMode的值設(shè)置為0,該參數(shù)的值是從0~37.4跨環(huán)境登陸腳本的錄入7.4.1問題描述由于我們都是在測試系統(tǒng)中錄入測試腳本,無法直接在目標(biāo)環(huán)境使用,如何才能做到盡量少更改腳本,實(shí)現(xiàn)在多個環(huán)境的數(shù)據(jù)錄入呢?7.4.2問題解決辦法在到正式環(huán)境導(dǎo)入數(shù)據(jù)之前,需要將Vuser_initsection中的登陸信息重新錄入,用正式環(huán)境(目標(biāo)環(huán)境)的登陸數(shù)據(jù)進(jìn)行替代。由此可知,為了使得在測試環(huán)境中的數(shù)據(jù)導(dǎo)入腳本在換了一個環(huán)境之后能夠直接使用,或者盡量減少修改,那么需要將于環(huán)境相關(guān)的信息最好放在一個section中,即Vuser_init中去。因此,在錄入腳本的時(shí)候,要考慮好,將Vuser_init與action區(qū)分開來,在更換環(huán)境的時(shí)候,就只需要重新錄入Vuser_init部分的登陸信息至進(jìn)入目標(biāo)界面即可。Chapter
8 web界面的數(shù)據(jù)導(dǎo)入本章介紹web界面的數(shù)據(jù)導(dǎo)入。8.1本章簡介8.1.1簡介Web界面的數(shù)據(jù)導(dǎo)入比較簡單,本章以批量創(chuàng)建客戶為例,說明web界面如何進(jìn)行大量數(shù)據(jù)的導(dǎo)入。8.2web界面數(shù)據(jù)導(dǎo)入8.2.1選擇協(xié)議在web界面導(dǎo)入數(shù)據(jù),我們也使用OracleApplication11i協(xié)議進(jìn)行導(dǎo)入。8.2.2錄制參數(shù)的設(shè)置Applicationtype:InternetApplicationsProgramtorecord:MicrosoftInternetExplorerURLAddress::8005/OA_HTML/RF.jsp?function_id=28910&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=ZHS¶ms=RTtKCNJS0M3thl.S40dr8Q&oas=f_Rcd8tcRDxSYlMaD0Z32g..上述網(wǎng)址來源:Recordtoaction:Vuser_init.錄制選項(xiàng):去掉recordsocketleveldata和enablegenerationofout-of-contextsteps8.2.3腳本錄制Vuser_init:從登陸到點(diǎn)擊創(chuàng)建客戶按鈕;Action:在創(chuàng)建客戶界面輸入客戶信息,并點(diǎn)擊保存、應(yīng)用,到“標(biāo)準(zhǔn)客戶”頁面,點(diǎn)擊創(chuàng)建客戶按鈕;退出系統(tǒng),關(guān)閉頁面登陸系統(tǒng),進(jìn)入目標(biāo)頁面點(diǎn)擊創(chuàng)建退出系統(tǒng),關(guān)閉頁面登陸系統(tǒng),進(jìn)入目標(biāo)頁面點(diǎn)擊創(chuàng)建Vuser_end:退出EBS登陸。注意點(diǎn):Web界面要以鼠標(biāo)事件為主,這樣腳本才能準(zhǔn)確的記錄控件事件;8.2.4腳本修改Vuser_initsection的腳本要做修改:原始腳本: web_browser("RF.jsp", DESCRIPTION, ACTION, "Navigate=:8005/OA_HTML/RF.jsp?function_id=28910&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=ZHS¶ms=RTtKCNJS0M3thl.S40dr8Q&oas=f_Rcd8tcRDxSYlMaD0Z32g..", LAST);修改后: web_browser(":8005/OA_HTML/RF.jsp?function_id=28910&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=ZHS¶ms=RTtKCNJS0M3thl.S40dr8Q&oas=f_Rcd8tcRDxSYlMaD0Z32g..", DESCRIPTION, ACTION, "Navigate=:8005/OA_HTML/RF.jsp?function_id=28910&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=ZHS¶ms=RTtKCNJS0M3thl.S40dr8Q&oas=f_Rcd8tcRDxSYlMaD0Z32g..", LAST);8.2.5設(shè)置參數(shù)替代和迭代次數(shù)與form數(shù)據(jù)導(dǎo)入一樣設(shè)置。不再贅述。Chapter
9 基礎(chǔ)數(shù)據(jù)解決方案9.1本章簡介本章將從loadrunner模板整理、基礎(chǔ)數(shù)據(jù)收集、基礎(chǔ)數(shù)據(jù)校驗(yàn)等幾個方面來討論項(xiàng)目上線階段的基礎(chǔ)數(shù)據(jù)部分的解決方案。9.2三個主要問題9.2.1基礎(chǔ)數(shù)據(jù)整理部分的三個主要問題數(shù)據(jù)對于企業(yè)來說,重要性不言而喻。目前在項(xiàng)目實(shí)施的過程中,基礎(chǔ)數(shù)據(jù)基本存在以下幾個問題:基礎(chǔ)數(shù)據(jù)收集項(xiàng)不全:數(shù)據(jù)項(xiàng)收集是否完整取決于顧問素質(zhì)是否過硬,做事是否細(xì)致,考慮是否全面;基礎(chǔ)數(shù)據(jù)收集模板轉(zhuǎn)化成數(shù)據(jù)導(dǎo)入模板工作量大:如針對大量數(shù)據(jù)制作dataload模板,頭行結(jié)構(gòu)的數(shù)據(jù)尤甚;基礎(chǔ)數(shù)據(jù)校驗(yàn)難度大:通過SQL直接從數(shù)據(jù)庫中將導(dǎo)入的基礎(chǔ)數(shù)據(jù)導(dǎo)出,與原基礎(chǔ)數(shù)據(jù)進(jìn)行核對。如果使用的是dataload作為導(dǎo)入工具,無論是將導(dǎo)出的數(shù)據(jù)和原基礎(chǔ)數(shù)據(jù)核對,還是和dataload模板核對,由于格式的原因,均難以高效的完成數(shù)據(jù)校驗(yàn)。9.3六步解決方案解決方案只有六步,做好這六步,就能保證基礎(chǔ)數(shù)據(jù)無憂。9.3.1解決上述問題的六個步驟在這段時(shí)間整理基礎(chǔ)數(shù)據(jù)的過程中,個人總結(jié)出一個基于loadrunner為導(dǎo)入工具的基礎(chǔ)數(shù)據(jù)解決方案,通過這個方案,可以有效的解決上述三個問題。主要工作流程如下:Step1:制作loadrunner數(shù)據(jù)導(dǎo)入模板;(頭行結(jié)構(gòu))Step2:錄制loadrunner腳本;(測試環(huán)境錄入)Step3:收集并整理基礎(chǔ)數(shù)據(jù)(由客戶參與);Step4:將基礎(chǔ)數(shù)據(jù)整理成loadrunner數(shù)據(jù)導(dǎo)入模板;(基于loadrunner模板)Strp5:導(dǎo)入基礎(chǔ)數(shù)據(jù);(跨環(huán)境,目標(biāo)環(huán)境)Step6:數(shù)據(jù)校驗(yàn)。(由于step1中已經(jīng)頭轉(zhuǎn)換成行了,所以很方便核對)9.3.2步驟一:制作loadrunner數(shù)據(jù)導(dǎo)入模板EBS按照界面形式分類可以分為web和Form,按照界面的數(shù)據(jù)結(jié)構(gòu)角度可分為行結(jié)構(gòu)和頭行結(jié)構(gòu)。通過前面章節(jié)的介紹,我們知道,其實(shí)無論web還是form,真正數(shù)據(jù)模板的結(jié)構(gòu)取決于界面是行結(jié)構(gòu)還是頭行結(jié)構(gòu)。因此,我們制作loadrunner數(shù)據(jù)導(dǎo)入模板時(shí),主要考慮以下幾個問題:分析并確定界面的數(shù)據(jù)結(jié)構(gòu):行結(jié)構(gòu):簡單的行結(jié)構(gòu)界面類似于貨位界面,每條記錄就只有一行;復(fù)雜的行結(jié)構(gòu)界面類似于物料主組織界面。后者表面上是頭行結(jié)構(gòu),而后臺本質(zhì)上確實(shí)一個行表。因此,要正確分析界面的數(shù)據(jù)結(jié)構(gòu),詳見chapter4.頭行結(jié)構(gòu):頭行結(jié)構(gòu)類似于采購訂單界
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度購物中心門店裝修施工合同4篇
- 2025年度個人擔(dān)保業(yè)務(wù)流程優(yōu)化與合同管理規(guī)范
- 2025年度智能家居系統(tǒng)與室內(nèi)裝飾合同范本4篇
- 2025年海洋工程船舶交易合同標(biāo)準(zhǔn)文本4篇
- 二零二五版高端住宅門業(yè)系統(tǒng)解決方案合同2篇
- 2025年南京市二手房交易稅費(fèi)結(jié)算規(guī)范合同4篇
- 2025年度危廢處理技術(shù)改造與升級服務(wù)合同4篇
- 二零二五年度食堂廚房改造與承包合同3篇
- 2025年度寵物殯葬服務(wù)運(yùn)輸合同范本4篇
- 2025年度電商支付安全解決方案合同3篇
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 計(jì)劃合同部部長述職報(bào)告范文
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 二手車車主寄售協(xié)議書范文范本
- 窗簾采購?fù)稑?biāo)方案(技術(shù)方案)
- 五年級上冊小數(shù)除法豎式計(jì)算練習(xí)300題及答案
- 語言規(guī)劃講義
- 生活用房設(shè)施施工方案模板
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
- GB/T 9755-2001合成樹脂乳液外墻涂料
評論
0/150
提交評論