白丝美女被狂躁免费视频网站,500av导航大全精品,yw.193.cnc爆乳尤物未满,97se亚洲综合色区,аⅴ天堂中文在线网官网

首頁 / 專利庫 / 軟件 / 斷言 / 一種腳本轉(zhuǎn)換方法和裝置

一種腳本轉(zhuǎn)換方法和裝置

閱讀:1029發(fā)布:2020-06-04

專利匯可以提供一種腳本轉(zhuǎn)換方法和裝置專利檢索,專利查詢,專利分析的服務(wù)。并且本 發(fā)明 公開了一種腳本轉(zhuǎn)換方法和裝置。所述方法包括:根據(jù)LoadRunner的腳本路徑,獲取符合預(yù)設(shè)條件的LoadRunner測試腳本;利用LoadRunner 控制器 ,獲取LoadRunner測試場景配置信息;分別將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落;將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息分別轉(zhuǎn)換成的xml段落進(jìn)行合并,形成Jmeter測試計劃。通過本發(fā)明 實(shí)施例 實(shí)現(xiàn)了LoadRunner的HTTP腳本和場景到Jmeter測試計劃的自動轉(zhuǎn)換,可以大量節(jié)約 軟件 使用成本、利用現(xiàn)有的測試腳本和測試人員、節(jié)約大量的人員腳本執(zhí)行時間、提高測試效率等優(yōu)點(diǎn)。,下面是一種腳本轉(zhuǎn)換方法和裝置專利的具體信息內(nèi)容。

1.一種腳本轉(zhuǎn)換方法,其特征在于,包括:
根據(jù)LoadRunner的腳本路徑,獲取符合預(yù)設(shè)條件的LoadRunner測試腳本;
利用LoadRunner控制器,獲取LoadRunner測試場景配置信息;
分別將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落;
將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息分別轉(zhuǎn)換成的xml段落進(jìn)行合并,形成Jmeter測試計劃;
其中,將所述LoadRunner測試腳本轉(zhuǎn)換為Jmeter格式的xml段落,包括:
對所述LoadRunner測試腳本進(jìn)行函數(shù)調(diào)用信息分析,形成函數(shù)信息列表,并基于函數(shù)信息列表映射出Jmeter格式的超文本傳輸協(xié)議HTTP采樣器、后置處理器和斷言xml段落;
根據(jù)所述LoadRunner測試腳本的參數(shù)化文件,獲得Jmeter格式的配置元件xml段落;
將所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落,包括:
所述LoadRunner測試場景配置信息包括:運(yùn)行邏輯控制配置、腳本運(yùn)行時配置和虛擬用戶數(shù)據(jù)配置;
從運(yùn)行邏輯控制配置中獲取RunLogic參數(shù);
從腳本運(yùn)行時配置中獲取CustomUserAgent參數(shù)和ThinkTime參數(shù);
從虛擬用戶數(shù)據(jù)配置中獲取GroupVuser參數(shù);
通過FreeMark定義的映射模板,將RunLogic參數(shù)映射為Jmeter格式的邏輯控制器xml段落、將CustomUserAgent參數(shù)映射為Jmeter格式的HTTP信息頭處理器xml段落、將ThinkTime參數(shù)映射為Jmeter格式的定時器xml段落、將Group?Vuser參數(shù)映射為Jmeter格式的線程組xml段落。
2.如權(quán)利要求1所述的方法,其特征在于,符合預(yù)設(shè)條件的LoadRunner測試腳本,包括:
LoadRunner測試腳本的協(xié)議為Web協(xié)議、且LoadRunner測試腳本的語言為C語言。
3.一種腳本轉(zhuǎn)換裝置,其特征在于,包括:
第一獲取模,用于根據(jù)LoadRunner的腳本路徑,獲取符合預(yù)設(shè)條件的LoadRunner測試腳本;
第二獲取模塊,用于利用LoadRunner控制器,獲取LoadRunner測試場景配置信息;
轉(zhuǎn)換模塊,用于分別將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落;
合并模塊,用于將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息分別轉(zhuǎn)換成的xml段落進(jìn)行合并,形成Jmeter測試計劃;
其中,在將所述LoadRunner測試腳本轉(zhuǎn)換為Jmeter格式的xml段落時,所述轉(zhuǎn)換模塊,具體用于:
對所述LoadRunner測試腳本進(jìn)行函數(shù)調(diào)用信息分析,形成函數(shù)信息列表,并基于函數(shù)信息列表映射出Jmeter格式的HTTP采樣器、后置處理器和斷言xml段落;
根據(jù)所述LoadRunner測試腳本的參數(shù)化文件,獲得Jmeter格式的配置元件xml段落;
在將所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落時,所述轉(zhuǎn)換模塊,具體用于:
所述LoadRunner測試場景配置信息包括:運(yùn)行邏輯控制配置、腳本運(yùn)行時配置和虛擬用戶數(shù)據(jù)配置;
從運(yùn)行邏輯控制配置中獲取RunLogic參數(shù);
從腳本運(yùn)行時配置中獲取CustomUserAgent參數(shù)和ThinkTime參數(shù);
從虛擬用戶數(shù)據(jù)配置中獲取GroupVuser參數(shù);
通過FreeMark定義的映射模板,將RunLogic參數(shù)映射為Jmeter格式的邏輯控制器xml段落、將CustomUserAgent參數(shù)映射為Jmeter格式的HTTP信息頭處理器xml段落、將ThinkTime參數(shù)映射為Jmeter格式的定時器xml段落、將Group?Vuser參數(shù)映射為Jmeter格式的線程組xml段落。
4.如權(quán)利要求3所述的裝置,其特征在于,符合預(yù)設(shè)條件的LoadRunner測試腳本,包括:
LoadRunner測試腳本的協(xié)議為Web協(xié)議、且LoadRunner測試腳本的語言為C語言。

說明書全文

一種腳本轉(zhuǎn)換方法和裝置

技術(shù)領(lǐng)域

[0001] 本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別是涉及一種腳本轉(zhuǎn)換方法和裝置。

背景技術(shù)

[0002] 隨著計算與虛擬化的發(fā)展,互聯(lián)網(wǎng)用戶規(guī)模越來越大,大量的互聯(lián)網(wǎng)應(yīng)用在上線前都需要進(jìn)行大量的性能測試,如路春節(jié)售票、春節(jié)搶紅包和互聯(lián)網(wǎng)各種“秒殺”活動。性能測試是通過自動化的測試工具模擬正常、峰值以及異常負(fù)載條件,以便對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。
[0003] LoadRunner是一種預(yù)測系統(tǒng)行為和性能的工業(yè)級負(fù)載測試工具。LoadRunner具有腳本編寫簡單、商業(yè)化程度高等特點(diǎn),其可以應(yīng)用于各種體系架構(gòu)的自動負(fù)載測試。LoadRunner通過模擬海量并發(fā)負(fù)載,并且對海量并發(fā)負(fù)載進(jìn)行實(shí)時性能監(jiān)測,來查找和確認(rèn)系統(tǒng)性能問題。但是,LoadRunner存在著商業(yè)許可費(fèi)用高、測試軟件體積龐大和測試占用系統(tǒng)資源多等問題。
[0004] Jmeter是Apache組織開發(fā)的開源壓測試工具。Jmeter用于對軟件做壓力測試,其可以測試靜態(tài)和動態(tài)資源,例如:測試靜態(tài)文件、Java小服務(wù)程序、CGI腳本、Java對象、數(shù)據(jù)庫,F(xiàn)TP服務(wù)器等。Jmeter可以在不同壓力類別下,測試并分析模擬海量負(fù)載的強(qiáng)度和整體性能。
[0005] Jmeter具有免費(fèi)使用、與平臺無關(guān)、支持大規(guī)模分布式部署等特點(diǎn)。為充分利用Jmeter的優(yōu)勢,可以將LoadRunner的測試腳本和測試場景轉(zhuǎn)換為Jmeter的測試計劃,然后對系統(tǒng)進(jìn)行性能測試。然而,目前Jmeter測試計劃只能通過人工方式配置,通過Badboy軟件進(jìn)行錄制或者代理錄制的方式進(jìn)行配置。上述Jmeter測試計劃的配置方式需要消耗大量的測試時間和調(diào)試驗(yàn)證時間,成本較高。

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

[0006] 本發(fā)明提供一種腳本轉(zhuǎn)換方法和裝置,用以解決現(xiàn)有技術(shù)中配置Jmeter測試計劃測試時間成本高的問題。
[0007] 基于上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案來解決的。
[0008] 本發(fā)明提供了一種腳本轉(zhuǎn)換方法,包括:根據(jù)LoadRunner的腳本路徑,獲取符合預(yù)設(shè)條件的LoadRunner測試腳本;利用LoadRunner控制器,獲取LoadRunner測試場景配置信息;分別將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落;將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息分別轉(zhuǎn)換成的xml段落進(jìn)行合并,形成Jmeter測試計劃。
[0009] 其中,符合預(yù)設(shè)條件的LoadRunner測試腳本,包括:LoadRunner測試腳本的協(xié)議為Web協(xié)議、且LoadRunner測試腳本的語言為C語言。
[0010] 其中,將所述LoadRunner測試腳本轉(zhuǎn)換為Jmeter格式的xml段落,包括:對所述LoadRunner測試腳本進(jìn)行函數(shù)調(diào)用信息分析,形成函數(shù)信息列表,并基于函數(shù)信息列表映射出Jmeter格式的超文本傳輸協(xié)議HTTP采樣器、后置處理器和斷言xml段落;根據(jù)所述LoadRunner測試腳本的參數(shù)化文件,獲得Jmeter格式的配置元件xml段落。
[0011] 其中,將所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落,包括:所述LoadRunner測試場景配置信息包括:運(yùn)行邏輯控制配置、腳本運(yùn)行時配置和虛擬用戶數(shù)據(jù)配置;從運(yùn)行邏輯控制配置中獲取RunLogic參數(shù);從腳本運(yùn)行時配置中獲取CustomUserAgent參數(shù)和ThinkTime參數(shù);從虛擬用戶數(shù)據(jù)配置中獲取GroupVuser參數(shù);通過FreeMark定義的映射模板,將RunLogic參數(shù)映射為Jmeter格式的邏輯控制器xml段落、將CustomUserAgent參數(shù)映射為Jmeter格式的HTTP信息頭處理器xml段落、將ThinkTime參數(shù)映射為Jmeter格式的定時器xml段落、將Group?Vuser參數(shù)映射為Jmeter格式的線程組xml段落。
[0012] 本發(fā)明還提供了一種腳本轉(zhuǎn)換裝置,包括:第一獲取模,用于根據(jù)LoadRunner的腳本路徑,獲取符合預(yù)設(shè)條件的LoadRunner測試腳本;第二獲取模塊,用于利用LoadRunner控制器,獲取LoadRunner測試場景配置信息;轉(zhuǎn)換模塊,用于分別將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落;合并模塊,用于將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息分別轉(zhuǎn)換成的xml段落進(jìn)行合并,形成Jmeter測試計劃。
[0013] 其中,符合預(yù)設(shè)條件的LoadRunner測試腳本,包括:LoadRunner測試腳本的協(xié)議為Web協(xié)議、且LoadRunner測試腳本的語言為C語言。
[0014] 其中,在將所述LoadRunner測試腳本轉(zhuǎn)換為Jmeter格式的xml段落時,所述轉(zhuǎn)換模塊,具體用于:對所述LoadRunner測試腳本進(jìn)行函數(shù)調(diào)用信息分析,形成函數(shù)信息列表,并基于函數(shù)信息列表映射出Jmeter格式的HTTP采樣器、后置處理器和斷言xml段落;根據(jù)所述LoadRunner測試腳本的參數(shù)化文件,獲得Jmeter格式的配置元件xml段落。
[0015] 其中,在將所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落時,所述轉(zhuǎn)換模塊,具體用于:所述LoadRunner測試場景配置信息包括:運(yùn)行邏輯控制配置、腳本運(yùn)行時配置和虛擬用戶數(shù)據(jù)配置;從運(yùn)行邏輯控制配置中獲取RunLogic參數(shù);從腳本運(yùn)行時配置中獲取CustomUserAgent參數(shù)和ThinkTime參數(shù);從虛擬用戶數(shù)據(jù)配置中獲取GroupVuser參數(shù);通過FreeMark定義的映射模板,將RunLogic參數(shù)映射為Jmeter格式的邏輯控制器xml段落、將CustomUserAgent參數(shù)映射為Jmeter格式的HTTP信息頭處理器xml段落、將ThinkTime參數(shù)映射為Jmeter格式的定時器xml段落、將Group?Vuser參數(shù)映射為Jmeter格式的線程組xml段落。
[0016] 本發(fā)明有益效果如下:
[0017] 通過本發(fā)明實(shí)施例實(shí)現(xiàn)了LoadRunner的HTTP腳本和場景到Jmeter測試計劃的自動轉(zhuǎn)換,可以大量節(jié)約軟件使用成本、利用現(xiàn)有的測試腳本和測試人員、節(jié)約大量的人員腳本執(zhí)行時間、提高測試效率等優(yōu)點(diǎn)。附圖說明
[0018] 圖1是根據(jù)本發(fā)明一實(shí)施例的腳本轉(zhuǎn)換方法的流程圖
[0019] 圖2是根據(jù)本發(fā)明一實(shí)施例的測試腳本的轉(zhuǎn)換步驟流程圖;
[0020] 圖3是根據(jù)本發(fā)明一實(shí)施例的測試場景配置信息的轉(zhuǎn)換步驟流程圖;
[0021] 圖4是根據(jù)本發(fā)明一實(shí)施例的腳本轉(zhuǎn)換裝置的結(jié)構(gòu)圖。

具體實(shí)施方式

[0022] 以下結(jié)合附圖以及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0023] 本發(fā)明實(shí)施例提供了一種腳本轉(zhuǎn)換方法,如圖1所示,為根據(jù)本發(fā)明一實(shí)施例的腳本轉(zhuǎn)換方法的流程圖。
[0024] LoadRunner包括測試腳本和測試場景。本發(fā)明實(shí)施例將測試腳本和測試場景,轉(zhuǎn)換為Jmeter測試計劃。
[0025] 步驟S110,根據(jù)LoadRunner的腳本路徑,獲取符合預(yù)設(shè)條件的LoadRunner測試腳本(簡稱測試腳本)。
[0026] 預(yù)設(shè)條件包括:判斷測試腳本協(xié)議是否為Web協(xié)議,判斷測試腳本語言是否為C語言。測試腳本協(xié)議為互聯(lián)網(wǎng)Web協(xié)議、且測試腳本語言為C語言的腳本符合條件。
[0027] LoadRunner測試腳本包括:代碼文件、參數(shù)配置文件、屬性描述文件、參數(shù)化文件等多個文件。其中,代碼文件為.c文件;參數(shù)配置文件為.prm文件;屬性描述文件為.usr文件;參數(shù)化文件為.dat文件。
[0028] 可以針對測試腳本中的指定的文件判斷測試腳本是否符合條件。
[0029] 用戶輸入LoadRunner測試腳本的腳本路徑;針對該腳本路徑指向的測試腳本,采用properties文件方式分析該測試腳本的屬性描述文件,如:.usr配置文件;判斷屬性描述文件的General段的ActiveTypes屬性是否為QTWeb,如果是,則表示測試腳本協(xié)議為Web協(xié)議,獲取該測試腳本,如果否,則舍棄該腳本,并結(jié)束流程。其中,properties文件是一種配置文件,主要用于表達(dá)配置信息,文件類型為*.properties,格式為文本文件,文件的內(nèi)容的格式是“鍵=值”。
[0030] 獲得LoadRunner腳本路徑下,除pre_cci.c文件以外的所有.c文件;使用預(yù)先設(shè)置的C語法分析器,獲得所有.c文件中的函數(shù)組成的待檢函數(shù)列表;將待檢函數(shù)列表中的每個函數(shù)與預(yù)先配置的支持函數(shù)列表中的函數(shù)進(jìn)行對比,判斷支持函數(shù)列表中是否存在與待檢函數(shù)列表中的函數(shù)相匹配的函數(shù),若不存在,則說明函數(shù)列表中的函數(shù)存在系統(tǒng)不支持的函數(shù),輸出錯誤提示信息且結(jié)束本流程;若存在,則說明函數(shù)列表中的函數(shù)都是系統(tǒng)支持的函數(shù),即測試腳本語言為C語言。
[0031] 支持函數(shù)列表中的函數(shù)包括但不限于:web_link、web_url、web_submit_form、web_submit_data、web_rest、web_custom_request、web_reg_save_param、lr_start_transaction、lr_end_transaction、lr_log_message、lr_output_message、lr_error_message、lr_think_time、web_reg_find、web_find。
[0032] 步驟S120,利用LoadRunner?Controller,獲取LoadRunner測試場景配置信息。
[0033] LoadRunner測試場景配置信息包括:虛擬用戶數(shù)據(jù)配置(VuserStatistics)、運(yùn)行邏輯控制配置(Action?RunLogic)和腳本運(yùn)行時配置(RunTime?settings)。其中,運(yùn)行邏輯控制配置和腳本運(yùn)行時配置都是內(nèi)存對象,配置格式為properties文件。
[0034] 具體包括如下步驟:
[0035] 步驟1,使用LoadRunner控制器(LoadRunner?Controller)打開LoadRunner的測試場景文件.lrs文件。
[0036] 步驟2,使用Jacob,調(diào)用LoadRunner?Controller的COM接口。
[0037] Jacob是一個Java-COM中間件。通過Jacob可以在Java應(yīng)用程序中調(diào)用COM組件和Win32程序庫,本實(shí)施例通過Jacob調(diào)用LoadRunner提供的COM接口進(jìn)行Loadrunner測試場景配置分析。
[0038] 步驟3,通過LrEngine對象獲得運(yùn)行邏輯控制配置和腳本運(yùn)行時配置。
[0039] 步驟4,通過LrGroup對象獲得虛擬用戶數(shù)據(jù)配置。
[0040] 步驟S130,分別將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落。
[0041] Jmeter測試計劃包括:線程組、配置元件、邏輯控制器、超文本傳輸協(xié)議(Hyper?Text?Transfer?Protocol,簡稱HTTP)信息頭處理器、HTTP取樣器、定時器、后置處理器、斷言和監(jiān)聽器。
[0042] 將LoadRunner的測試腳本轉(zhuǎn)換為Jmeter測試計劃的配置元件、HTTP取樣器、后置處理器和斷言。
[0043] 將LoadRunner的測試場景轉(zhuǎn)換為Jmeter測試計劃的線程組、邏輯控制器、HTTP信息頭處理器和定時器。
[0044] Jmeter測試計劃的監(jiān)聽器采用默認(rèn)配置,如含TPS、響應(yīng)時間,因此,不需要通過LoadRunner轉(zhuǎn)換獲得。
[0045] 步驟S140,將所述LoadRunner測試腳本和所述LoadRunner測試場景配置信息分別轉(zhuǎn)換成的xml段落進(jìn)行合并,形成Jmeter測試計劃。
[0046] 基于轉(zhuǎn)換獲得的配置元件、HTTP取樣器、后置處理器、斷言、線程組、邏輯控制器、HTTP信息頭處理器、定時器、以及默認(rèn)設(shè)置的監(jiān)聽器,組成Jmeter測試計劃。
[0047] Jmeter測試計劃是以jmx結(jié)尾的xml文件。該xml文件可以被Jmeter調(diào)用進(jìn)行性能測試。
[0048] 通過本發(fā)明實(shí)施例實(shí)現(xiàn)了LoadRunner的測試腳本和場景配置到Jmeter測試計劃的自動轉(zhuǎn)換,可以大量節(jié)約軟件使用成本、利用現(xiàn)有的測試腳本和測試人員、節(jié)約大量的人員腳本執(zhí)行時間、提高測試效率等優(yōu)點(diǎn)。
[0049] 下面對將測試腳本轉(zhuǎn)換為Jmeter格式的xml段落,進(jìn)行進(jìn)一步地描述。
[0050] 如圖2所示為根據(jù)本發(fā)明一實(shí)施例的測試腳本的轉(zhuǎn)換步驟流程圖。
[0051] 步驟S210,對LoadRunner測試腳本進(jìn)行函數(shù)調(diào)用信息分析,形成函數(shù)信息列表,并基于函數(shù)信息列表映射出Jmeter格式的HTTP采樣器、后置處理器和斷言xml段落。
[0052] 具體包括以下步驟:
[0053] 步驟1,該測試腳本為符合條件的測試腳本。
[0054] 步驟2,按照測試腳本的屬性描述文件中規(guī)定的代碼文件順序,順次對代碼文件進(jìn)行函數(shù)調(diào)用信息分析。
[0055] 具體的,按照.usr文件的Actions屬性中定義的.c文件順序,對測試腳本中的.c文件進(jìn)行語法解析和函數(shù)分析,以便獲得函數(shù)信息列表。進(jìn)一步地,分析順序是,使用C語法分析器,首先分析vuser_init.c文件、然后分析除vuser_end.c文件之外的其他.c文件,最后分析vuser_end.c文件。進(jìn)一步地,對.c文件中的HTTP協(xié)議函數(shù)、檢查點(diǎn)函數(shù)、延時控制函數(shù)、關(guān)聯(lián)函數(shù)、事務(wù)控制函數(shù)、日志函數(shù)進(jìn)行分析。
[0056] 函數(shù)調(diào)用信息,例如是:返回值=函數(shù)名(變量1,變量2,……)。
[0057] 步驟3,使用C語法分析器,將函數(shù)調(diào)用信息轉(zhuǎn)換為包含有上下文關(guān)系的函數(shù)信息列表。函數(shù)信息列表中的函數(shù)信息包括:返回參數(shù)類型、返回變量名、函數(shù)名、變量類型和變量名。
[0058] 步驟4,通過預(yù)設(shè)的映射模板,將函數(shù)信息列表映射為Jmeter測試計劃的HTTP采樣器、后置處理器、斷言。
[0059] 預(yù)設(shè)的映射模板為FreeMark定義的映射模板。FreeMark是用Java語言編寫的模板引擎,其可以基于模板來生成文本,可以用于生產(chǎn)xml文件。xml為可擴(kuò)展標(biāo)記語言,標(biāo)準(zhǔn)通用標(biāo)記語言的子集。xml是一種用于標(biāo)記電子文件,使其具有結(jié)構(gòu)性的標(biāo)記語言。
[0060] FreeMark定義的映射模板中包括:web_link、web_url、web_submit_form、web_submit_data、web_rest、web_custom_request、web_enable_keep_alive、web_disable_keep_alive等函數(shù)信息和HTTP采樣器的對應(yīng)關(guān)系,web_reg_save_param、web_reg_save_param_regexp、web_reg_save_param_ex、web_reg_save_param_xpath等函數(shù)信息和后置處理器的對應(yīng)關(guān)系,web_reg_find、web_find等函數(shù)信息和斷言的對應(yīng)關(guān)系。其中,函數(shù)信息列表中包括映射模板中的上述函數(shù)信息。根據(jù)映射模板中的對應(yīng)關(guān)系,完成函數(shù)信息列表和HTTP采樣器、后置處理器、斷言之間的映射。
[0061] 在一個實(shí)施例中,映射模板中還可以包括:lr_think_time函數(shù)信息和定時器的對應(yīng)關(guān)系,因此,可以利用映射模板,將函數(shù)信息列表中的lr_think_time函數(shù)信息映射為定時器。
[0062] 步驟S220,根據(jù)所述LoadRunner測試腳本的參數(shù)化文件,獲得Jmeter格式的配置元件xml段落。
[0063] 具體包括以下步驟:
[0064] 步驟1,讀取測試腳本目錄下的參數(shù)配置文件,如:.prm文件。
[0065] 步驟2,分析參數(shù)配置文件中的每個參數(shù)(parameter),并根據(jù)參數(shù)的Table屬性獲取每個參數(shù)對應(yīng)參數(shù)化文件;參數(shù)化文件一般為.dat文件。
[0066] 步驟3,將參數(shù)化文件轉(zhuǎn)換為Jmeter可識別的參數(shù)化文件。
[0067] 在參數(shù)化文件(.dat文件)中,通過去掉位于首行與結(jié)尾的空行,從而實(shí)現(xiàn)將參數(shù)化文件轉(zhuǎn)換為Jmeter可識別的參數(shù)化文件。
[0068] 步驟4,基于預(yù)設(shè)的映射模板,將Jmeter可識別的參數(shù)化文件中的參數(shù)映射為Jmeter測試計劃的配置元件。
[0069] FreeMark定義的映射模板中還包括:參數(shù)和配置元件的對應(yīng)關(guān)系。
[0070] 因此,可以通過FreeMark定義的映射模板,將.prm文件中的參數(shù)映射為Jmeter格式的配置元件xml段落,并將Jmeter參數(shù)文件復(fù)制到Jmeter測試計劃的路徑下。
[0071] 下面針對將LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落進(jìn)行進(jìn)一步地的描述。
[0072] 圖3為根據(jù)本發(fā)明一實(shí)施例的測試場景配置信息的轉(zhuǎn)換步驟流程圖。
[0073] 步驟S310,分別從虛擬用戶數(shù)據(jù)配置、運(yùn)行邏輯控制配置和腳本運(yùn)行時配置中,獲取GroupVuser參數(shù)、CustomUserAgent參數(shù)、RunLogic參數(shù)和ThinkTime參數(shù)。
[0074] GroupVuser參數(shù)從虛擬用戶數(shù)據(jù)配置中獲得,CustomUserAgent和ThinkTime參數(shù)從腳本運(yùn)行時配置中獲得,RunLogic參數(shù)由運(yùn)行邏輯控制配置中獲得。
[0075] 具體的,通過properties方式,解析運(yùn)行邏輯控制配置和腳本運(yùn)行時配置,從運(yùn)行邏輯控制配置和腳本運(yùn)行時配置中,獲取CustomUserAgent參數(shù)、ThinkTime參數(shù)和RunLogic參數(shù)。GroupVuser參數(shù)是通過LrGroup對象的GetVuserStatistics函數(shù)接口獲得。
[0076] CustomUserAgent參數(shù)為自定義用戶代理參數(shù),表示指定的瀏覽器信息。CustomUserAgent參數(shù)包括硬件平臺、系統(tǒng)軟件、應(yīng)用軟件和用戶個人偏好。
[0077] RunLogic參數(shù)為步驟執(zhí)行邏輯,用于描述某一執(zhí)行步驟在一次迭代過程中是否重復(fù)執(zhí)行多次。
[0078] ThinkTime參數(shù)為思考時間參數(shù),用于描述上一執(zhí)行步驟和下一執(zhí)行步驟之間的延遲時間。
[0079] GroupVuser參數(shù)為并發(fā)用戶參數(shù),用于描述每個腳本的并發(fā)用戶數(shù)量。
[0080] 步驟S320,通過FreeMark定義的映射模板,將RunLogic參數(shù)映射為Jmeter格式的邏輯控制器xml段落,將CustomUserAgent參數(shù)映射為Jmeter格式的HTTP信息頭處理器xml段落;將ThinkTime參數(shù)映射為Jmeter格式的定時器xml段落,將Group?Vuser參數(shù)映射為Jmeter格式的線程組xml段落。
[0081] FreeMark定義的映射模板還包括:CustomUserAgent參數(shù)和HTTP信息頭處理器的對應(yīng)關(guān)系,ThinkTime參數(shù)和定時器的對應(yīng)關(guān)系,Group?Vuser參數(shù)和線程組的對應(yīng)關(guān)系,RunLogic參數(shù)和邏輯控制器的對應(yīng)關(guān)系。根據(jù)上述對應(yīng)關(guān)系執(zhí)行映射處理。
[0082] 在一個實(shí)施例中,在函數(shù)信息列表和ThinkTime參數(shù)都可以映射出定時器的情況下,以ThinkTime映射出的定時器為準(zhǔn)。
[0083] 本發(fā)明還提供了一種腳本轉(zhuǎn)換裝置,如圖4所示,為根據(jù)本發(fā)明一實(shí)施例的腳本轉(zhuǎn)換裝置的結(jié)構(gòu)圖。
[0084] 該裝置包括:
[0085] 第一獲取模塊410,用于根據(jù)LoadRunner的腳本路徑,獲取符合預(yù)設(shè)條件的LoadRunner測試腳本。符合預(yù)設(shè)條件的LoadRunner測試腳本,包括:LoadRunner測試腳本的協(xié)議為Web協(xié)議、且LoadRunner測試腳本的語言為C語言。
[0086] 第二獲取模塊420,用于利用LoadRunner控制器,獲取LoadRunner測試場景配置信息;
[0087] 轉(zhuǎn)換模塊430,用于分別將LoadRunner測試腳本和LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落;
[0088] 合并模塊440,用于將LoadRunner測試腳本和LoadRunner測試場景配置信息分別轉(zhuǎn)換成的xml段落進(jìn)行合并,形成Jmeter測試計劃。
[0089] 在將LoadRunner測試腳本轉(zhuǎn)換為Jmeter格式的xml段落時,轉(zhuǎn)換模塊430,具體用于:對LoadRunner測試腳本進(jìn)行函數(shù)調(diào)用信息分析,形成函數(shù)信息列表,并基于函數(shù)信息列表映射出Jmeter格式的HTTP采樣器、后置處理器和斷言xml段落;根據(jù)LoadRunner測試腳本的參數(shù)化文件,獲得Jmeter格式的配置元件xml段落。
[0090] 在將LoadRunner測試場景配置信息轉(zhuǎn)換為Jmeter格式的xml段落時,轉(zhuǎn)換模塊430,具體用于:LoadRunner測試場景配置信息包括:運(yùn)行邏輯控制配置、腳本運(yùn)行時配置和虛擬用戶數(shù)據(jù)配置;從運(yùn)行邏輯控制配置中獲取RunLogic參數(shù);從腳本運(yùn)行時配置中獲取CustomUserAgent參數(shù)和ThinkTime參數(shù);從虛擬用戶數(shù)據(jù)配置中獲取GroupVuser參數(shù);通過FreeMark定義的映射模板,將RunLogic參數(shù)映射為Jmeter格式的邏輯控制器xml段落、將CustomUserAgent參數(shù)映射為Jmeter格式的HTTP信息頭處理器xml段落、將ThinkTime參數(shù)映射為Jmeter格式的定時器xml段落、將Group?Vuser參數(shù)映射為Jmeter格式的線程組xml段落。
[0091] 本發(fā)明所述的裝置的功能已經(jīng)在圖1-3所示的方法實(shí)施例中進(jìn)行了描述,故本實(shí)施例的描述中未詳盡之處,可以參見前述實(shí)施例中的相關(guān)說明,在此不做贅述。
[0092] 盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實(shí)施例,本領(lǐng)域的技術(shù)人員將意識到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。
高效檢索全球?qū)@?/div>

專利匯是專利免費(fèi)檢索,專利查詢,專利分析-國家發(fā)明專利查詢檢索分析平臺,是提供專利分析,專利查詢,專利檢索等數(shù)據(jù)服務(wù)功能的知識產(chǎn)權(quán)數(shù)據(jù)服務(wù)商。

我們的產(chǎn)品包含105個國家的1.26億組數(shù)據(jù),免費(fèi)查、免費(fèi)專利分析。

申請試用

分析報告

專利匯分析報告產(chǎn)品可以對行業(yè)情報數(shù)據(jù)進(jìn)行梳理分析,涉及維度包括行業(yè)專利基本狀況分析、地域分析、技術(shù)分析、發(fā)明人分析、申請人分析、專利權(quán)人分析、失效分析、核心專利分析、法律分析、研發(fā)重點(diǎn)分析、企業(yè)專利處境分析、技術(shù)處境分析、專利壽命分析、企業(yè)定位分析、引證分析等超過60個分析角度,系統(tǒng)通過AI智能系統(tǒng)對圖表進(jìn)行解讀,只需1分鐘,一鍵生成行業(yè)專利分析報告。

申請試用

QQ群二維碼
意見反饋