日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JMeter响应断言详解

發(fā)布時(shí)間:2023/12/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JMeter响应断言详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  響應(yīng)斷言?:對(duì)服務(wù)器的響應(yīng)進(jìn)行斷言校驗(yàn)

  (1)應(yīng)用范圍:?main?sample?and?sub?sample,?main?sample?only?,?sub-sample?only?,?jmeter?variable   

  關(guān)于應(yīng)用范圍,我們大多數(shù)勾選“main?sample?only”?就足夠了,因?yàn)槲覀円粋€(gè)請(qǐng)求,實(shí)質(zhì)上只有一個(gè)請(qǐng)求。但是當(dāng)我們發(fā)一個(gè)請(qǐng)求時(shí),可以觸發(fā)多個(gè)服務(wù)器請(qǐng)求,類似于ajax那種,那么就有main?sample??和?sub-sample之分了。   

此外,對(duì)于有重定向的請(qǐng)求,并且勾選了“跟隨重定向”,?那么這兩個(gè)請(qǐng)求都是?sub-sample,重定向后的請(qǐng)求(第二個(gè)請(qǐng)求)就是main-sample   

  關(guān)于main?sample?and?sub?sample,有興趣的可以看看這個(gè)帖子   

  http://stackoverflow.com/questions/28214936/jmeter-in-which-scenario-i-can-use-main-sample-or-sub-sample-or-both-for-te   

(2)響應(yīng)字段:?響應(yīng)文本,Document(Text),url樣本,響應(yīng)代碼,響應(yīng)信息,Response?Header,ignore?status   

  響應(yīng)文本:?服務(wù)器響應(yīng)文本,一般普通http響應(yīng),都勾選這個(gè)。   

  Document(Text):一切Apache?Tika?支持服務(wù)器響應(yīng),包括文本響應(yīng),還支持?PDF,?Office,?Audio,?Video?formats。jmeter會(huì)用Apache?Tika?去解析服務(wù)器響應(yīng)內(nèi)容,會(huì)很耗內(nèi)存,而且也很容易解析失敗。所以一般普通http請(qǐng)求,不要選擇這個(gè)。   

  url樣本:是對(duì)sample的url進(jìn)行斷言。如果請(qǐng)求沒有重定向(302),那么就是這個(gè)就是請(qǐng)求url。?如果有重定向(且跟隨重定向),那么url就包含請(qǐng)求url?和?重定向url   

  響應(yīng)代碼:http響應(yīng)代碼,如101,200,302,404,501等。但當(dāng)我們要驗(yàn)證404,501等http響應(yīng)代碼時(shí),需要勾選“?ignore?status”。因?yàn)楫?dāng)http?響應(yīng)代碼為400,500時(shí),jmeter默認(rèn)這個(gè)請(qǐng)求時(shí)失敗的。   

  響應(yīng)信息:http響應(yīng)代碼對(duì)應(yīng)的響應(yīng)信息,例如:OK,?Found   

  HTTP/1.1?200?Ok   

  HTTP/1.1?302?Found   

  Response?Header?:?響應(yīng)頭信息,例如   

  Server:?Tengine   

  Date:?Thu,?12?Mar?2015?09:43:52?GMT   

  Content-Type:?text/html   

  Content-Length:?260   

  Connection:?close   

  Location:?http://www.baidu.com/404.html   

(3)模式匹配規(guī)則   

  包括:返回結(jié)果包括你指定的內(nèi)容,支持正則匹配   

  例如:   

  響應(yīng)字段為:?響應(yīng)文本   

  模式匹配規(guī)則:匹配   

  斷言為:1、invalid????2、[a-z]+   

  當(dāng)返回值為:{"msg":"channel?invalid."}?,?這兩個(gè)斷言都是ok的,返回true   

  匹配:   

  (1)?相當(dāng)于?equals?。當(dāng)返回值固定時(shí),可以返回值做斷言,效果和equals相同   

  (2)?正則匹配?。?用正則表達(dá)式匹配返回結(jié)果,但必須全部匹配。?即正則表達(dá)式必須能匹配整個(gè)返回值,而不是返回值的一部分。   例如:   響應(yīng)字段為:?響應(yīng)文本   

  模式匹配規(guī)則:匹配   

  斷言為:1、{"msg":"channel?invalid."}???2、{"msg":"[a-z]+?invalid."}??,?3、[a-z]+   

  當(dāng)返回值為:{"msg":"channel?invalid."}???,斷言1?2?是ok的,?斷言3是false   

  當(dāng)返回值為:{"msg":"channel?invalid."}?,?斷言1?3是false,?斷言2才是ok的。   

  原因是,斷言1?只能用于equals,而斷言3?只匹配了返回值部分,而不是全部匹配。   

  Equals?:?返回結(jié)果與你指定斷言完全一致   

  SubString:與?“包括”差不多,都是指返回結(jié)果包括你指定的內(nèi)容,但是subString不支持正則字符串   

  例如:   

  響應(yīng)字段為:?響應(yīng)文本   

  模式匹配規(guī)則:匹配   

  斷言為:1、invalid????2、[a-z]+   

  當(dāng)返回值為:{"msg":"channel?invalid."}?,?斷言1返回true,?但斷言2返回false   

  否:就相當(dāng)于取反。?如果上面斷言結(jié)果為true,勾選“否”后,最終斷言結(jié)果為false。如果上面斷言結(jié)果為false,勾選“否”后,則最終斷言結(jié)果為?true。

轉(zhuǎn)載于:https://www.cnblogs.com/sunjump/p/8133840.html

總結(jié)

以上是生活随笔為你收集整理的JMeter响应断言详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。