Jmeter-基礎(chǔ)操作以及出現(xiàn)問題的解決方案_第1頁
Jmeter-基礎(chǔ)操作以及出現(xiàn)問題的解決方案_第2頁
Jmeter-基礎(chǔ)操作以及出現(xiàn)問題的解決方案_第3頁
Jmeter-基礎(chǔ)操作以及出現(xiàn)問題的解決方案_第4頁
Jmeter-基礎(chǔ)操作以及出現(xiàn)問題的解決方案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

操作說明以及問題解決方案,以下是一個(gè)事例,請(qǐng)參考。操作說明:學(xué)員登錄“點(diǎn)考系統(tǒng)”,進(jìn)入“考試系統(tǒng)”獲取試卷進(jìn)行考試,提交考試,退出“點(diǎn)考”登錄。步驟1:首先使用badboy錄制將要執(zhí)行的腳本,錄制完成,點(diǎn)擊File---ExporttoJmeter。步驟2:準(zhǔn)備學(xué)員登錄的賬號(hào),導(dǎo)入到點(diǎn)考系統(tǒng)中,即學(xué)員注冊(cè)成功;步驟3:把學(xué)員賬號(hào)與密碼導(dǎo)入到一個(gè)txt文件中。(此次使用相同的密碼,所以只導(dǎo)入了學(xué)員賬號(hào));步驟4:使用Jmeter打開腳本,選中“ThreadGroup”右鍵---添加---配置元件---CSVDataSetConfig。添加內(nèi)容如下:步驟5:優(yōu)化操作步驟,把每一步的名稱進(jìn)行修改。添加斷言,選中需要添加斷言的步驟-右鍵點(diǎn)擊“添加”-斷言-響應(yīng)斷言。建議:每一步都需要添加相應(yīng)的斷言,以確認(rèn)顯示的內(nèi)容是否符合預(yù)期結(jié)果。添加“要測(cè)試的模式”輸入,根據(jù)瀏覽器F12調(diào)出“開發(fā)人員工具”-Network-Response中摘取此頁面特有字段或語句。步驟6:點(diǎn)擊“ThreadGroup”,當(dāng)進(jìn)行優(yōu)化腳本時(shí)“線程屬性”均設(shè)置為1。步驟8:選中“ThreadGroup”右鍵---添加---監(jiān)聽器---聚合報(bào)告。(做性能測(cè)試時(shí),查看速度,后面詳情介紹)。選中“ThreadGroup”右鍵---添加---監(jiān)聽器---查看結(jié)果樹。(參看腳本錯(cuò)誤內(nèi)容)步驟9:根據(jù)“查看結(jié)果樹”執(zhí)行結(jié)果,查看“響應(yīng)數(shù)據(jù)”內(nèi)容與真實(shí)的界面顯示是否一致。問題1:此處顯然并沒有進(jìn)入到登錄后的頁面,所以此處有問題。打開相關(guān)的HTTP請(qǐng)求頁,把“自動(dòng)重定向”改為“跟隨重定向”。包括登錄之前的所有步驟均需要改為“跟隨重定向”。根據(jù)我的理解“自動(dòng)重定向”是在同一頁面做不同的操作,但頁面地址不改變?!案S重定向”是進(jìn)行了跳轉(zhuǎn)頁面。問題2:當(dāng)發(fā)現(xiàn)有.html的步驟時(shí),說明此處有錯(cuò)誤。執(zhí)行腳本,查看“查看結(jié)果樹”檢查腳本中的錯(cuò)誤。參考此請(qǐng)求的上一步與下一步,如果上一步的請(qǐng)求地址與下一步的請(qǐng)求地址均在一個(gè)服務(wù)器上,并且運(yùn)行正確沒有出現(xiàn)問題。那么刪除此請(qǐng)求即可。(注意:為了避免錯(cuò)誤,執(zhí)行完成后,可以上真實(shí)的頁面上查看是否有執(zhí)行的記錄,記錄內(nèi)容是否正確)問題3:由于跳轉(zhuǎn)地址中有些隨機(jī)改變的數(shù)據(jù)內(nèi)容,比如地址:/exam/student/exam/myanswer/save/1_9100003_02680_STEP_1467080981229/29中“9100003”是會(huì)改變的用戶賬號(hào)。所以需要做一個(gè)正則表達(dá)式來代表這些隨機(jī)改變的數(shù)據(jù),并給它起個(gè)名字(比如userId)然后用${userId}引用到下一個(gè)頁面中。正則表達(dá)式的寫法:寫法的格式規(guī)則是根據(jù)此HTTP請(qǐng)求的上一步的響應(yīng)結(jié)果內(nèi)容編寫的。根據(jù)運(yùn)行結(jié)果,可知相應(yīng)結(jié)果為“/exam/student/exam/start/1/1/1/9300005_02680_STEP/1467619758092?lt=10&cj=0&cc=0&co=0&m=b88d5fd288bfcd2419f155028953afda&et=1467620358092&asr=1&asa=1&ss=0&s=1”根據(jù)這個(gè)鏈接,那么正則表達(dá)式為:start/\d+/\d+/\d+/(.*?)/Start為上一步的真實(shí)路徑/\d為路徑中的數(shù)字(.*?)為需要正則表示的內(nèi)容。添加到“正則表達(dá)式提取器中”的顯示添加完成后,下一頁面中的HTTP請(qǐng)求即可引用這個(gè)正則,顯示如下:(運(yùn)行以下,查看引用的是否正確)根據(jù)以上方法可分別把以下請(qǐng)求中的各項(xiàng)數(shù)據(jù)分別用正則表示。注意:最好你已經(jīng)了解這個(gè)請(qǐng)求中各項(xiàng)的含義,這樣方便定義,也方便后期使用。/exam/student/exam/myanswer/save/1_9100003_02680_STEP_1467080981229/29相關(guān)正則的顯示:?jiǎn)栴}4:根據(jù)“獲取試卷”的相應(yīng)數(shù)據(jù)“/exam/student/exam/start/1/1/1/9300005_02680_STEP/1467619758092?lt=10&cj=0&cc=0&co=0&m=b88d5fd288bfcd2419f155028953afda&et=1467620358092&asr=1&asa=1&ss=0&s=1”可知“”、“”、“”是隨機(jī)變化的。所以要為此服務(wù)器也要做一個(gè)正則。問題5:此考試系統(tǒng)中的試卷是生成5份,然后學(xué)生隨機(jī)打開某一份試卷。所以在這里添加一個(gè)“如果(If)控制器”,并添加“條件”。此試卷為當(dāng)psqId=1時(shí),進(jìn)入第1套試卷。當(dāng)然后面需要添加5套試卷,分別當(dāng)psqId為相應(yīng)的值時(shí),進(jìn)入此套試卷進(jìn)行考試。問題6:當(dāng)線程數(shù)較大時(shí),進(jìn)行進(jìn)行運(yùn)行可能會(huì)出現(xiàn)Jmeter報(bào)錯(cuò)的情況。需要txt打開Jmeter下的\apache-jmeter-3.0\apache-jmeter-3.0\bin\jmeter.bat。修改如下內(nèi)容。問題7:Response

message:

Non

HTTP

response

message:

connect

timed

out錯(cuò)誤分析:通過Loadtime值看,由于該線程耗費(fèi)時(shí)間(3002)大于設(shè)置的connecttimeout(3000ms),因此拋出該異常。問題可能是由于服務(wù)端有較多請(qǐng)求正在處理(且處理時(shí)間較長(zhǎng)),導(dǎo)致JMeter不能連接上服務(wù)器而產(chǎn)生的。JMeter原始錯(cuò)誤信息:概要:Thread

Name:

線程組

1-367Sample

Start:

2013-07-05

11:04:17

CSTLoad

time:

3002Latency:

0Size

in

bytes:

1677Headers

size

in

bytes:

0Body

size

in

bytes:

1677Sample

Count:

1Error

Count:

1Response

code:

Non

HTTP

response

code:

.SocketTimeoutExceptionResponse

message:

Non

HTTP

response

message:

connect

timed

out詳細(xì)信息:.SocketTimeoutException:

connect

timed

outat

.PlainSocketImpl.socketConnect(Native

Method)at

.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)at

.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)at

.PlainSocketImpl.connect(PlainSocketImpl.java:200)at

.SocksSocketImpl.connect(SocksSocketImpl.java:366)at

.Socket.connect(Socket.java:529)at

.NetworkClient.doConnect(NetworkClient.java:158)at

.www.http.HttpClient.openServer(HttpClient.java:395)at

.www.http.HttpClient.openServer(HttpClient.java:530)at

.www.http.HttpClient.<init>(HttpClient.java:234)at

.www.http.HttpClient.New(HttpClient.java:307)at

.www.http.HttpClient.New(HttpClient.java:324)at

tocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)at

tocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)at

tocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)at

tocol.http.sampler.HTTPJavaImpl.sample(HTTPJavaImpl.java:487)at

tocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)at

tocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1088)at

tocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1077)at

org.apache.jmeter.threads.JMeterTcess_sampler(JMeterThread.java:428)at

org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)at

java.lang.Thread.run(Thread.java:662)問題8:Response

message:

Non

HTTP

response

message:

Read

timed

out錯(cuò)誤分析:通過返回錯(cuò)誤信息看,發(fā)生該錯(cuò)誤時(shí),JMeter已經(jīng)連接上服務(wù)器,但是產(chǎn)生readtimeout。從loadtime(2998)看,所用時(shí)間并沒有超過設(shè)定超時(shí)時(shí)間(3000),因此錯(cuò)誤不大可能是JMeter本身產(chǎn)生的。一種可能是,服務(wù)器那邊未處理該線程的請(qǐng)求,或者為保證服務(wù)能力,斷掉了連接。JMeter原始錯(cuò)誤信息:概要:Thread

Name:

線程組

1-10Sample

Start:

2013-07-05

11:12:45

CSTLoad

time:

2988Latency:

0Size

in

bytes:

2431Headers

size

in

bytes:

0Body

size

in

bytes:

2431Sample

Count:

1Error

Count:

1Response

code:

Non

HTTP

response

code:

.SocketTimeoutExceptionResponse

message:

Non

HTTP

response

message:

Read

timed

out詳細(xì)信息:at

.SocketInputStream.socketRead0(Native

Method)at

.SocketInputStream.read(SocketInputStream.java:129)at

java.io.BufferedInputStream.fill(BufferedInputStream.java:218)at

java.io.BufferedInputStream.read1(BufferedInputStream.java:258)at

java.io.BufferedInputStream.read(BufferedInputStream.java:317)at

.www.http.HttpClient.parseHTTPHeader(HttpClient.java:697)at

.www.http.HttpClient.parseHTTP(HttpClient.java:640)at

tocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)at

t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論