1、jmeter關聯:從上一個請求中獲取返回值提供給下一個請求使用
2、解決jmeter亂碼問題:
打開apache-jmeter-2.11\bin\jmeter.properties文件,搜索“encoding”關鍵字,找到如下配置:
# The encoding to be used if none is provided (default ISO-8859-1)
#sampleresult.default.encoding=ISO-8859-1
將注釋刪掉,並改成utf-8編碼,即:
The encoding to be used if none is provided (default utf-8)
sampleresult.default.encoding=utf-8
重啟JMeter即可
3、實現Jmeter關聯----JsonPath:(返回值是json串時才可用)
DestinationVariable Name隨意填寫,表示返回值的參數化
Default Value隨便填寫
JSONPath Expression填寫需要獲取的返回值,格式為$.parameter
在需要傳這個返回值的其他接口中,傳這個返回值的參數化變量${DestinationVariable Name}即可-----如${ninanie}
4、實現Jmeter關聯----正則表達式方式:
引用名:正則表達式參數化的名稱
正則表達式匹配:"token": "(.*?)"------(.*?)表示要匹配的值,括號左右分別為值的左右兩邊的顯示
模板:固定值
匹配數值:1表示有多個匹配值時取第一個
缺省值:匹配失敗時默認取的值
5、jmeter添加壓力機:
1、誰的電腦做壓力機,就把誰電腦上的jmeter-server.bat啟動
2、這兩台電腦要能ping通
3、在配置文件中加入這個IP,jmeter.properties,搜索"remote_hosts",如"remote_hosts=localhost:1099,192.168.2.119:1099"(端口號默認為1099)
4、重啟jmeter
5、若有參數化的文件,則在壓力機的同樣目錄下也必須有這個文件
運行壓力機:
6、jmeter在linux運行:
1、先把jmeter上傳到linux
2、把在window上做好的腳本上傳到linux上面
3、執行shell腳本:./jmeter.sh -n -t class two.jmx -l response.jtl
(-n代表以沒有圖形化界面啟動,-t代表后面是測試腳本,class two.jmx是jmeter腳本(不在當前路徑下執行時此處填寫文件的絕對路徑),-l代表測試結果,response.jtl是測試結果文件)
4、看結果的話,需要將response.jtl下載到本地,然后在jmeter下添加聚合報告,瀏覽導入該文件即可
7、抓包:修改抓包的請求和返回
常用抓包工具:charles,fiddler
找到要攔截的位置,加入斷點進行攔截:
再次通過瀏覽器發送一個http請求
編輯請求的url后點擊Excute:(攔截請求並修改請求信息,執行后發送修改后的請求)
編輯返回的信息后點擊Excute:(攔截response並修改返回信息,執行后返回修改后的響應結果)
8、配置http代理:
服務器主機名寫電腦IP,端口默認8888
手機配置代理后,可以使用抓包工具進行抓包(手機和電腦需要在同一個局域網中)
https的請求都是加密的,請求和返回數據都無法看到,需要安裝證書后才能看到
9、python基礎
語言類型:
編譯型語言:C、C++、C#(運行速度相對解釋型語言來說更快)
解釋型語言:python、java、perl、shell、ruby、php
從coding網站下載項目代碼的方法:
上傳到coding代碼:
點擊右上角的綠色圖標---彈框中選擇commit and push(commit message必填),最后點擊push即可
Python語言規范:
快速注釋:ctrl+/
快速復制:ctrl+d
字符串有雙引號有單引號時,可以用三個引號括起來,如print('''let's go,"nina"''')
字符串格式化,%s表示一個字符串,%d代表后面要加整數,%.2f表示后面要加2位小數,如print('我的年齡是%d,我有%d的錢' % (age,money))
使用input接受的數據類型都是字符串
定義變量,如name = "nina"
強制類型轉換,如age = int(age)
連接字符串使用加號,如print(truename+'說'+say)
如果用while循環則必須有計數器,如:
i = 0
while i<10:
......
i+=1
......
continue:結束本次循環,即跳過這次循環,繼續進行下一次循環
break:立即結束循環,break之后的代碼不會再執行
隨機產生一個1到100的整數:導入random后,src_num = random.randint(1,101)