分享一款Web壓力測試工具Pylot

2021-07-24 03:58:43 字數 4033 閱讀 2431

pylot是乙個免費的開源工具,用於測試web服務的效能和可擴充套件性。它執行http負載測試,這是有用的容量規劃,基準,分析和系統調整。

pylot產生併發負載(http請求),驗證伺服器的響應,並製作報告的度量。測試套件的執行和監測,從乙個gui或shell /控制台。

pylot基於python開發,和著名的apache壓力測試工具ab一樣,預設在命令列執行,也可以通過引數觸發gui介面,當然前提是安裝了wxpython的。

你開始在乙個xml檔案(testcases.xml)中定義你的測試用例。測試用例是驗證你指定的請求(url,method,body等)。可以驗證伺服器響應的正規表示式匹配的內容,http狀態碼。您可以通過調整負載的工作量控制gui或命令列設定,然後再開始測試執行(數目的**,請求的時間間隔,上公升時間,測試時間)。這些設定,您可以根據不同的負載情況下的模型試驗。在執行載入的情況下,並傳遞到負載產生引擎。**排程和執行,同時傳送http請求到你的web服務。它在執行過程中生成實時的統計和錯誤報告,通過這個報告可以很方便的進行監控。

開發人員,測試人員和效能工程師需要測試和調整他們的web服務的效能和可擴充套件性。也可以使python程式設計師整合到更大的測試套件。使用這個工具可以使你更加熟悉http,xml和效能測試。

控制台和隔離模式執行在所有平台上的python 2.5 +可以安裝。視窗xp,vista中,ubuntu 8.04/8.10,華碩eee pc,mac的os測試。

pylot,gui將執行在所有平台上支援python和wxwidgets。大多被開發的gui測試在windows,但linux和mac看起​​來體面。應用程式**是純python和使用乙個跨平台的工具包。

獲取安裝程式從這裡開始:

從這裡獲取安裝程式:

從這裡獲取安裝程式:

從這裡獲取安裝程式:

gui模式:

> python run.py -g
控制台和阻塞模式 - 命令列選項:
用法:run.py [選項] args

-a, - **= num​​_agents的**數量

-r時, - 斜坡上公升=斜坡上公升:斜坡上公升在幾秒鐘內

-i, - 間隔=間隔:間隔時間(以毫秒為單位)

-x - xmlfile = test_case_xml:測試的情況下,xml檔案

-o, - output_dir = path:輸出目錄

-n, - = testname代表:姓名測試

-l, - log_msgs:日誌訊息

-b, - 阻塞:阻塞模式

-g, - gui:啟動gui

-p, - 埠port:xml-rpc監聽埠

遠端啟動pylot:

,pylot包含乙個xml-rpc伺服器,可以啟動,這樣你就可以開始測試與遠端客戶端。

配置選項:

「的檔案/核心/ config.py的包含了一些全域性配置選項。您可以設定某些defauls和改變某些行為。如果在命令列上指定這些選項是覆蓋。

gui = false測試案例名為「testcases.xml」的,或在命令列上指定乙個不同的xml檔案中宣告乙個xml檔案。這是的格式測試引擎可以理解的。

使用下面的語法定義乙個測試例。只有url元素是必需的。

下面是乙個例子,最簡單的可能的測試案例檔案。它包含了乙個測試案例,試執行期間,將連續執行。的測試用例包含乙個url下測試的服務。由於身體沒有一種方法或定義,它會預設傳送乙個http get到這個資源。由於沒有驗證的定義,它會通過/失敗測試案例的基礎上的http狀態**(通過,如果狀態是<400)。

我們可以新增正面和負面的驗證。乙個積極的驗證是在響應主體必須包含乙個字串或正規表示式。負的驗證是乙個字串或正規表示式,必須不包含在響應主體。

error

餅乾:

cookies是自動處理的。如果收到乙個響應的「設定cookie」頭,cookie將被設定在頭的後續請求並傳回。

例:雅虎搜尋的web服務(rest api)

雅虎提供各種rest web服務來訪問搜尋結果。在這個例子中,我將展示如何建立pylot的rest api進行互動的測試用例。

下面是乙個簡單的get請求對服務:

申請乙個pylot測試案例是這樣的:

請注意符號(&)的url逃脫的**:「&」 

這是becasue的某些字元(「<」和「&」)是非法的xml檔案。由於我們是在乙個xml文件definig測試用例,我們必須避開這些符號**,或將它們放置在乙個cdata部分。

雅虎還允許post資料塊來傳遞查詢引數。在這種情況下,我們還必須改變「內容型別」http頭:「應用程式/ x - www的形式,進行了urlencoded」。(pylot預設為text / xml「)

下面是乙個post請求對服務:

post

現在,我們知道如何建立單獨的情況下,我們可以建立乙個測試案例檔案,其中包含幾個這樣的。在這個例子中,我們的測試情況下,檔案包含yahoo等搜尋查詢為:「富」,「酒吧」,「巴茲」

例如:soap api

談任何http api,我們可以模擬我們的測試用例。這個例子展示了如何將請求傳送到乙個soap服務。我們需要傳送的soap信封將被封裝在http post主體。

post

ibm]]>

例如:設定靜態變數/引數
$/foo

例如:基於檔案的http有效載荷

post

定義的工作負載使用的使用者介面上的控制項。使用下面的選項。您可以建立乙個的穩態或增加負載測試。

執行模式

測試執行結束時,自動生成乙個html報告,表示測試結果和圖表。

當測試完成後,結果目錄建立並自動生成乙份報告,總結測試結果。它包括各種統計資料和圖表,響應時間和吞吐量。結果報告的樣本可以在這裡看到:

報告樣本

pylot結果寫入到csv文字檔案,因此你可以匯入到您最喜愛的電子**處理數字,生成統計資料,並建立圖表。

Web壓力測試工具

雖然這些工具給我們測試伺服器承受能力帶來方便,但是它們的危害卻更是驚人,甚至於利用隨便一種比較全面的測試工具就可以對一台小型的 一 工具簡單介紹 microsoft 二 工具簡單設定 開啟圖1 1.在 settings 的功能設定中 如圖2 乙個是stress level threads 這裡是指定...

WEB壓力測試工具

在linux下對web進行壓力測試的小工具有很多,比較出名的有ab.雖然ab可以執行在windows下,但對於想簡單介面操作的朋友有點不太習慣.其實vs.net也提供壓力測試功能但顯然顯得太重了,在測試的時候也會占用了大量的資源導致測試效果不理想.為了讓在win下對web壓力測試變得更簡單方便所以用...

web壓力測試工具

以並行復用的方式執行,用以測試web伺服器的吞吐量與負載 可以以乙個單一的程序執行,還可以測試https類的 請求 命令格式 http load p 併發訪問程序數 s 訪問時間 需要訪問的url檔案 parallel 簡寫 p 含義是併發的使用者程序數。fetches 簡寫 f 含義是總計的訪問次...