西西軟件下載最安全的下載網(wǎng)站、值得信賴(lài)的軟件下載站!

首頁(yè)西西教程其它教程 → Web壓力測(cè)試工具Pylot 安裝使用教程

Web壓力測(cè)試工具Pylot 安裝使用教程

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/2/7 20:09:12字體大。A-A+

作者:李蒙強(qiáng)點(diǎn)擊:0次評(píng)論:1次標(biāo)簽: 測(cè)試工具

  • 類(lèi)型:硬件優(yōu)化大。34.6M語(yǔ)言:中文 評(píng)分:5.0
  • 標(biāo)簽:
立即下載

1、什么是Pylot?

Pylot是一個(gè)免費(fèi)的開(kāi)源工具,用于測(cè)試Web服務(wù)的性能和可擴(kuò)展性。它運(yùn)行HTTP負(fù)載測(cè)試,這是有用的容量規(guī)劃,基準(zhǔn),分析和系統(tǒng)調(diào)整。

Pylot產(chǎn)生并發(fā)負(fù)載(HTTP請(qǐng)求),驗(yàn)證服務(wù)器的響應(yīng),并制作報(bào)告的度量。測(cè)試套件的執(zhí)行和監(jiān)測(cè),從一個(gè)GUI或shell /控制臺(tái)。

Pylot基于Python開(kāi)發(fā),和著名的Apache壓力測(cè)試工具ab一樣,默認(rèn)在命令行運(yùn)行,也可以通過(guò)參數(shù)觸發(fā)GUI界面,當(dāng)然前提是安裝了wxPython的。

2、Pylot如何工作?

你開(kāi)始在一個(gè)XML文件(testcases.xml)中定義你的測(cè)試用例。測(cè)試用例是驗(yàn)證你指定的請(qǐng)求(URL,Method,Body等)?梢则(yàn)證服務(wù)器響應(yīng)的正則表達(dá)式匹配的內(nèi)容,HTTP狀態(tài)碼。您可以通過(guò)調(diào)整負(fù)載的工作量控制GUI或命令行設(shè)置,然后再開(kāi)始測(cè)試運(yùn)行(數(shù)目的代理,請(qǐng)求的時(shí)間間隔,上升時(shí)間,測(cè)試時(shí)間)。這些設(shè)置,您可以根據(jù)不同的負(fù)載情況下的模型試驗(yàn)。在運(yùn)行加載的情況下,并傳遞到負(fù)載產(chǎn)生引擎。代理調(diào)度和運(yùn)行,同時(shí)發(fā)送HTTP請(qǐng)求到你的web服務(wù)。它在執(zhí)行過(guò)程中生成實(shí)時(shí)的統(tǒng)計(jì)和錯(cuò)誤報(bào)告,通過(guò)這個(gè)報(bào)告可以很方便的進(jìn)行監(jiān)控。

3、Pylot應(yīng)用場(chǎng)景

開(kāi)發(fā)人員,測(cè)試人員和性能工程師需要測(cè)試和調(diào)整他們的Web服務(wù)的性能和可擴(kuò)展性。也可以使Python程序員集成到更大的測(cè)試套件。使用這個(gè)工具可以使你更加熟悉HTTP,XML和性能測(cè)試。

4、產(chǎn)品特點(diǎn)

HTTP和HTTPS(SSL)支持

多線(xiàn)程負(fù)載生成器

自動(dòng)cookie處理

響應(yīng)驗(yàn)證與正則表達(dá)式

執(zhí)行/監(jiān)控控制臺(tái)

實(shí)時(shí)統(tǒng)計(jì)

結(jié)果報(bào)告和圖形

定制的timer

GUI模式

外殼/控制臺(tái)模式

跨平臺(tái)

5、入門(mén)指南

平臺(tái):

控制臺(tái)和阻塞模式

控制臺(tái)和隔離模式運(yùn)行在所有平臺(tái)上的Python 2.5 +可以安裝。視窗XP,Vista中,Ubuntu 8.04/8.10,華碩Eee PC,Mac的OS測(cè)試。

GUI模式

Pylot,GUI將運(yùn)行在所有平臺(tái)上支持Python和wxWidgets。大多被開(kāi)發(fā)的GUI測(cè)試在Windows,但Linux和Mac看起來(lái)體面。應(yīng)用程序代碼是純Python和使用一個(gè)跨平臺(tái)的工具包。

安裝Pylot

第1步:下載并解壓縮最新的Pylot發(fā)布

獲取最新版本:下載Pylot

第2步:安裝Python 2.5 +

獲取安裝程序從這里開(kāi)始:http://www.python.org/download

第3步:安裝wxPython(可選 - 用于GUI模式)

從這里獲取安裝程序:http://www.wxpython.org/download.php

第4步:安裝numpy的(可選 - 用于報(bào)告以圖表)

從這里獲取安裝程序:http://sourceforge.net/projects/numpy

第5步:安裝matplotlib的(可選 - 用于報(bào)告以圖表)

從這里獲取安裝程序:http://sourceforge.net/projects/matplotlib

第6步:運(yùn)行Pylot

GUI模式:

> python run.py -G

控制臺(tái)和阻塞模式 - 命令行選項(xiàng):

用法:run.py [選項(xiàng)] ARGS-A, - 代理= NUM_AGENTS的代理數(shù)量-D, - 持續(xù)時(shí)間:測(cè)試時(shí)間以秒為單位-r時(shí), - 斜坡上升=斜坡上升:斜坡上升在幾秒鐘內(nèi)-I, - 間隔=間隔:間隔時(shí)間(以毫秒為單位)-X - XMLFILE = TEST_CASE_XML:測(cè)試的情況下,XML文件-O, - OUTPUT_DIR = path:輸出目錄-N, - = testname代表:姓名測(cè)試-L, - log_msgs:日志消息-B, - 阻塞:阻塞模式-G, - GUI:?jiǎn)?dòng)GUI-P, - 端口PORT:XML-RPC監(jiān)聽(tīng)端口

遠(yuǎn)程啟動(dòng)Pylot:

Pylot包含一個(gè)XML-RPC服務(wù)器,可以啟動(dòng),這樣你就可以開(kāi)始測(cè)試與遠(yuǎn)程客戶(hù)端。

配置選項(xiàng):

“的文件/核心/ config.py的包含了一些全局配置選項(xiàng)。您可以設(shè)置某些defauls和改變某些行為。如果在命令行上指定這些選項(xiàng)是覆蓋。

AGENTS = 1DURATION = 60 # secsRAMPUP = 0 # secsINTERVAL = 0 # millisecsTC_XML_FILENAME = 'testcases.xml'OUTPUT_DIR = NoneTEST_NAME = NoneLOG_MSGS = FalseGENERATE_RESULTS = TrueSHUFFLE_TESTCASES = False # randomize order of testcases per agentWAITFOR_AGENT_FINISH = True # wait for last requests to complete before stoppingSMOOTH_TP_GRAPH = 1 # secs. smooth/dampen throughput graph based on an intervalSOCKET_TIMEOUT = 300 # secsCOOKIES_ENABLED = TrueHTTP_DEBUG = False # only useful when combined with blocking mode BLOCKING = False # stdout blocked until test finishes, then result is returned as XMLGUI = False

使用Pylot

步驟1:創(chuàng)建測(cè)試案例

測(cè)試案例名為“testcases.xml”的,或在命令行上指定一個(gè)不同的XML文件中聲明一個(gè)XML文件。這是的格式測(cè)試引擎可以理解的。

使用下面的語(yǔ)法定義一個(gè)測(cè)試?yán)。只有URL元素是必需的。

<case> <url>URL</url> <method>HTTP METHOD</method> <body>REQUEST BODY CONTENT</body> <add_header>ADDITIONAL HTTP HEADER</add_header> <verify>STRING OR REGULAR EXPRESSION</verify> <verify_negative>STRING OR REGULAR EXPRESSION</verify_negative> <timer_group>TIMER GROUP NAME</timer_group></case>

下面是一個(gè)例子,最簡(jiǎn)單的可能的測(cè)試案例文件。它包含了一個(gè)測(cè)試案例,試運(yùn)行期間,將連續(xù)執(zhí)行。的測(cè)試用例包含一個(gè)URL下測(cè)試的服務(wù)。由于身體沒(méi)有一種方法或定義,它會(huì)默認(rèn)發(fā)送一個(gè)HTTP GET到這個(gè)資源。由于沒(méi)有驗(yàn)證的定義,它會(huì)通過(guò)/失敗測(cè)試案例的基礎(chǔ)上的HTTP狀態(tài)代碼(通過(guò),如果狀態(tài)是<400)。

<testcases> <case> <url>http://www.example.com/foo</url> </case></testcases>

我們可以添加正面和負(fù)面的驗(yàn)證。一個(gè)積極的驗(yàn)證是在響應(yīng)主體必須包含一個(gè)字符串或正則表達(dá)式。負(fù)的驗(yàn)證是一個(gè)字符串或正則表達(dá)式,必須不包含在響應(yīng)主體。

<case> <url>http://www.goldb.org/foo</url> <verify>Copyright.*Corey Goldberg</verify> <verify_negative>Error</verify_negative><case>

餅干:

Cookies是自動(dòng)處理的。如果收到一個(gè)響應(yīng)的“設(shè)置Cookie”頭,cookie將被設(shè)置在頭的后續(xù)請(qǐng)求并傳回。

例:雅虎搜索的Web服務(wù)(REST API)

雅虎提供各種REST Web服務(wù)來(lái)訪(fǎng)問(wèn)搜索結(jié)果。在這個(gè)例子中,我將展示如何創(chuàng)建Pylot的REST API進(jìn)行交互的測(cè)試用例。

下面是一個(gè)簡(jiǎn)單的GET請(qǐng)求對(duì)服務(wù):

http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=foo

申請(qǐng)一個(gè)Pylot測(cè)試案例是這樣的:

<case> <url>http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo&amp;query=foo</url></case>

請(qǐng)注意符號(hào)(&)的URL逃脫的代碼:“&”
這是becasue的某些字符(“<”和“&”)是非法的XML文件。由于我們是在一個(gè)XML文檔definig測(cè)試用例,我們必須避開(kāi)這些符號(hào)代碼,或?qū)⑺鼈兎胖迷谝粋(gè)CDATA部分。

雅虎還允許POST數(shù)據(jù)塊來(lái)傳遞查詢(xún)參數(shù)。在這種情況下,我們還必須改變“內(nèi)容類(lèi)型”HTTP頭:“應(yīng)用程序/ x - www的形式,進(jìn)行了urlencoded”。(Pylot默認(rèn)為text / xml“)

下面是一個(gè)POST請(qǐng)求對(duì)服務(wù):

<case> <url>http://search.yahooapis.com/WebSearchService/V1/webSearch</url> <method>POST</method> <body><![CDATA[appid=YahooDemo&query=webinject]]></body> <add_header>Content-type: application/x-www-form-urlencoded</add_header></case>

現(xiàn)在,我們知道如何創(chuàng)建單獨(dú)的情況下,我們可以創(chuàng)建一個(gè)測(cè)試案例文件,其中包含幾個(gè)這樣的。在這個(gè)例子中,我們的測(cè)試情況下,文件包含Yahoo等搜索查詢(xún)?yōu)椋骸案弧,“酒吧”,“巴茲?/p>

<testcases> <case> <url>http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo&amp;query=foo</url> </case> <case> <url>http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo&amp;query=bar</url> </case> <case> <url>http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo&amp;query=baz</url> </case></testcases>

例如:SOAP API

談任何HTTP API,我們可以模擬我們的測(cè)試用例。這個(gè)例子展示了如何將請(qǐng)求發(fā)送到一個(gè)SOAP服務(wù)。我們需要發(fā)送的SOAP信封將被封裝在HTTP POST主體。

<case> <url>http://www.example.org/StockPrice</url> <method>POST</method> <add_header>Content-Type: application/soap+xml; charset=utf-8</add_header> <body><! [CDATA[ <!-- This is the SOAP Envelope --> <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope> ]]> </body></case>

例如:設(shè)置靜態(tài)變量/參數(shù)

你可以在你的測(cè)試用例文件中定義的全局參數(shù)。這是非常有用的,如果你有一個(gè)值之間共享一些測(cè)試情況下,你經(jīng)常改變。在下面的例子中,我們定義了一個(gè)“http_server”參數(shù),然后使用該令牌在一個(gè)測(cè)試案例。

<testcases> <param name="http_server" value="http://www.example.com" /> <case> <url>${http_server}/foo</url> </case></testcases>

例如:基于文件的HTTP有效載荷

您可能希望,POST數(shù)據(jù)存儲(chǔ)在一個(gè)外部文件中,而不是直接宣布它在你的測(cè)試用例XML文件。這是非常有用的,如果你有非常大的POST人體的或要發(fā)送的二進(jìn)制數(shù)據(jù)不能被嵌入到XML。使用下面的語(yǔ)法將數(shù)據(jù)從一個(gè)文件,它張貼在運(yùn)行。

<case> <url>http://www.example.com/foo</url> <method>POST</method> <body file="./myfile.dat"></body></case>

第2步:模型工作負(fù)載方案

定義的工作負(fù)載使用的用戶(hù)界面上的控件。使用下面的選項(xiàng)。您可以創(chuàng)建一個(gè)的穩(wěn)態(tài)或增加負(fù)載測(cè)試。

代理:代理(虛擬用戶(hù))來(lái)運(yùn)行

斜坡上升時(shí)間跨度代理開(kāi)始。他們將被均勻地分布在整個(gè)這段時(shí)間內(nèi)。(參見(jiàn)下面的注釋?zhuān)?/p>

每個(gè)用戶(hù)發(fā)送請(qǐng)求的時(shí)間間隔:間隔。每個(gè)用戶(hù)代理的請(qǐng)求,節(jié)奏均勻的時(shí)間間隔(,除非反應(yīng),分析反應(yīng)時(shí)間比較慢的文天生定義的時(shí)間間隔)

播放時(shí)間:時(shí)間跨度的測(cè)試

第3步:執(zhí)行和監(jiān)控

運(yùn)行模式

控制臺(tái)模式:在測(cè)試過(guò)程中,您可以查看實(shí)時(shí)統(tǒng)計(jì)在用戶(hù)界面(UI)

阻塞模式:STDOUT被阻塞,直到測(cè)試結(jié)束后,返回結(jié)果為XML

GUI模式:管理和運(yùn)行測(cè)試的GUI界面

測(cè)試運(yùn)行結(jié)束時(shí),自動(dòng)生成一個(gè)HTML報(bào)告,表示測(cè)試結(jié)果和圖表。

第4步:查看結(jié)果

當(dāng)測(cè)試完成后,結(jié)果目錄創(chuàng)建并自動(dòng)生成一份報(bào)告,總結(jié)測(cè)試結(jié)果。它包括各種統(tǒng)計(jì)數(shù)據(jù)和圖表,響應(yīng)時(shí)間和吞吐量。結(jié)果報(bào)告的樣本可以在這里看到:

報(bào)告樣本

Pylot結(jié)果寫(xiě)入到CSV文本文件,因此你可以導(dǎo)入到您最喜愛(ài)的電子表格處理數(shù)字,生成統(tǒng)計(jì)數(shù)據(jù),并創(chuàng)建圖表。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀(guān)圍觀(guān)
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(1)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)