session和cookie的概念html
關於session和cookie應該有不少文章都進行了一一說明,這裏就再也不重複贅述,我以爲有一個博客寫的挺不錯的!能夠去參照他寫的博客,寫的很是的詳細,比喻也很是的形象,看了以後秒懂!正則表達式
http://blog.csdn.net/axin66ok/article/details/6175522數據庫
按照個人理解就是:瀏覽器
cookie保持你訪問的權限信息。服務器
session限制你訪問權限信息的有效時間,一旦過時就不能在訪問了,好比說咱們常常遇到了,很長一段時間網頁沒有去操做,就會自動退出登錄。你要進行操做就必需要從新登錄!cookie
關聯的概念session
既然說到了上面的session和cookie,其實這個session和cookie是每次都會變化的!因此在session和cookie失效後,你須要從新獲取這些值,若是用到Jmeter來作這些操做的話,你不能每次手動去修改,那麼就須要用關聯,作好關聯後,讓Jmeter自動去獲取這些變化的值。app
因此在這裏,就要跟你們說說,什麼是關聯。spa
一句話解釋:在每次請求中都會變化的值,且每次都是從服務器發送過來的,那麼就須要去作些特別的處理來獲取這個動態值!這個就叫作關聯!舉個例子:.net
1.你往數據庫插入數據時,有一個id,這個就是動態值,每次都會變得!
2.你提交bug時,bug id 是動態值,有序遞增的!
3.好比上面說到的cookie和session
你若是用Jmeter來代替你手工作這些事情,就須要用到關聯,讓Jmeter自動跟服務器請求並傳給下一步。
實例說明
1.用Badboy錄製腳本後,導出爲jmeter文件,並在Jmeter中打開
2.有時在http請求頁面中「路徑」會看到網頁連接引用:http://www.xxx.com/xxx_app;jsessionid=${jsessionid}。或者網頁連接後顯示:?jsessionid 或者顯示一串數字,以下圖所示:
解決:
一、由於Session默認是須要Cookie支持的,但有些客戶瀏覽器是關閉Cookie的
【而jsessionid是存儲在Cookie中的,若是禁用Cookie的話,服務器得不到jsessionid,這樣也就無法根據jsessionid得到對應的session,得到不了session就得不到session中存儲的數據了。】
這個時候就須要在URL中指定服務器上的session標識,也就是相似「jsessionid=5F4771183629C9834F8382E23BE13C4C」 這種格式。
二、此jsessionid是跟隨上一網頁獲取的,是隨機的故,咱們須要經過上一網頁的響應數據,引用該jsessionid
步驟:
1)、查找到上一頁面中響應數據中的jessionid的value
2)、在該頁面下添加子節點:右鍵添加正則表達式,咱們要獲取的是jsessionid,正則以下:
正則表達式必定要正確,不能貪婪匹配,必須精確匹配!
3)這樣,正則表達式就獲取到了每次請求都會變化的jsessionid
而後再請求,就會發現jsessionid會自動變化,由Jmeter來獲取!
參考文檔:http://blog.csdn.net/ydppqh/article/details/46859997
若是你想進一步瞭解關聯方面的知識,我以爲小坦克的博客寫的挺不錯的,還有實際的練習給大家!
推薦連接:http://www.cnblogs.com/TankXiao/p/4045439.html
關於cookie的保持,還有另一個連接能夠提供給你們:http://blog.csdn.net/ydppqh/article/details/46861455
若是有更多問題想要討論,能夠加入咱們的羣:333782754
或者直接在貼吧發問:http://tieba.baidu.com/f?kw=%E6%9F%A0%E6%AA%AC%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95&ie=utf-8&tp=0