学习笔记二 Charles抓包及Python循环控制
一.jmeter操作mysql
1.首先在“測(cè)試計(jì)劃”的底部加入mysql的jar包,如果是oracle的數(shù)據(jù)庫(kù),則需要導(dǎo)入oracle的jar包。
2.新建“線程組”,在“配置元件”下新建一個(gè)JDBC連接配置:
3.建好之后,給連接池起一個(gè)名字以便后續(xù)的sql操作調(diào)用,在這里是“mysql”,然后填入數(shù)據(jù)庫(kù)連接設(shè)置,Database URL格式如圖所示,數(shù)據(jù)庫(kù)的賬號(hào)和密碼,其他設(shè)置均可默認(rèn)。
4.在線程組下新建一個(gè)JDBC請(qǐng)求:
5.填寫mysql語(yǔ)句:這里主要填入配置里連接池的變量名“mysql”,選擇查詢類型,如果只有select語(yǔ)句則選select statement,如果只有update和insert語(yǔ)句則用update statement,其他的情況均可選callable statement。
二.jmeter分布式
分布式是指當(dāng)前的壓力機(jī)不滿足性能測(cè)試需求時(shí),需要遠(yuǎn)程一個(gè)或多個(gè)壓力機(jī)共同向服務(wù)器施壓測(cè)試的情況。
在分布式場(chǎng)景中,其中一臺(tái)為master機(jī),其余為slaver。master負(fù)責(zé)操控其他的slaver。
需要滿足以下條件:
1.master和slaver機(jī)器上均裝有jmeter
2.master和slaver之間可以相互ping通,是同一個(gè)網(wǎng)段。
3.啟動(dòng)salver的jmeter-server(支持window和linux)
4.在master上修改配置文件(bin目錄下的jmeter.properties文件),remote_hosts屬性,格式為ip:port,......,ip:port
默認(rèn)端口號(hào)為1099,多個(gè)ip之間用逗號(hào)間隔。
5.在master機(jī)上運(yùn)行jmeter:一般壓測(cè)的時(shí)候用no-gui模式即命令行模式。如果腳本有csv參數(shù)文件,需要將csv放置到每個(gè)slaver的jmeter的bin目錄下,腳本文件只需要放在master上,不需要發(fā)送到slaver上。
cd: jmeter的bin目錄
.jmeter -n -t dir/x.jmx -l dir/x.jtl
(-n代表非圖形界面啟動(dòng),-t代表腳本,-l代表結(jié)果)
三.charles
charles抓取https請(qǐng)求方式參考文章:
https://blog.csdn.net/lea__dongyang/article/details/73294751
1.charles攔截
設(shè)置斷點(diǎn),以網(wǎng)頁(yè)www.cc-na.cn為例,在首頁(yè)設(shè)置斷點(diǎn)。
然后重新刷新www.cc-na.cn,charls會(huì)切換到斷點(diǎn)頁(yè)面,表示此時(shí)已經(jīng)攔截到瀏覽器發(fā)送到服務(wù)器端的內(nèi)容,我們可以在“Edit Request”頁(yè)面對(duì)攔截到的信息進(jìn)行修改。
2.Charles修改攔截信息
比如,我們將請(qǐng)求信息改成后面拼接一個(gè)文章的路徑,則本該是發(fā)送獲取首頁(yè)的信息變成獲取649文章資源的地址。點(diǎn)擊底部的“Excute”。修改后的請(qǐng)求則會(huì)發(fā)送到服務(wù)器。瀏覽器頁(yè)面則會(huì)跳轉(zhuǎn)到改文章的地址,繞過(guò)首頁(yè)。
當(dāng)然,攔截是雙向的,除了攔截到瀏覽器發(fā)送到服務(wù)器的數(shù)據(jù),也可以攔截服務(wù)器返回到瀏覽器的數(shù)據(jù)。而且修改的攔截信息可以改各種參數(shù)。在此不做重復(fù)。
3.charles模擬弱網(wǎng),在throttle settings里設(shè)置,將“enable throttle” 勾選上。
4.charls url映射
兩個(gè)服務(wù)器之間的映射(map remote),執(zhí)行步驟為下組圖:
map內(nèi)容如上所示,是將本來(lái)右服務(wù)器www.cc-na.cn下所有的接口(path可以指定接口,如果為*表示所有的接口)返回的數(shù)據(jù)轉(zhuǎn)換到由服務(wù)器www.nnzhp.cn返回,query可以指定參數(shù)。
由本地選擇文件返回(mpa local),執(zhí)行步驟為下組圖:
maplocal是將本該由服務(wù)www.cc-na.cn返回的數(shù)據(jù),改成指定由本地某個(gè)文件的數(shù)據(jù)返回,query可以指定參數(shù)。
map local與map remote的區(qū)別在于,后者是指定另一個(gè)服務(wù)器返回;前者指定返回的是某個(gè)本地文件的數(shù)據(jù)。
四.python
語(yǔ)言分為兩種:編譯型語(yǔ)言和解釋型語(yǔ)言。
計(jì)算機(jī)只能理解機(jī)器語(yǔ)言(二進(jìn)制0和1),所以所有的語(yǔ)言只有經(jīng)過(guò)翻譯才能被計(jì)算機(jī)識(shí)別,而翻譯的模式目前有兩種,一個(gè)就是編譯一個(gè)就是解釋。而編譯和解釋的區(qū)別在于他們的翻譯的時(shí)間不同。
編譯型語(yǔ)言是一開(kāi)始都翻譯好了然后交給計(jì)算機(jī)執(zhí)行;而解釋型語(yǔ)言是一邊運(yùn)行一邊翻譯(如java),所以解釋型語(yǔ)言需要一個(gè)專門的解釋器(Java虛擬機(jī))配合運(yùn)行。所以解釋型語(yǔ)言運(yùn)行效率低于編譯型語(yǔ)言。
1.條件判斷
語(yǔ)法為if..elif..elif..else
2.while循環(huán)
執(zhí)行語(yǔ)句可以是單個(gè)語(yǔ)句或語(yǔ)句塊。判斷條件可以是任何表達(dá)式,任何非零、或非空(null)的值均為true。
當(dāng)判斷條件假false時(shí),循環(huán)結(jié)束。
3.break
break是跳出當(dāng)前的循環(huán),即使循環(huán)本該還有多次,但是也不再執(zhí)行,例如上例中的代碼表示有7次機(jī)會(huì),但是一旦猜中則結(jié)束后面的循環(huán)。
4.for循環(huán)
上述的例子是用for循環(huán)如下,與while的區(qū)別在于,不需要對(duì)計(jì)數(shù)器count進(jìn)行初始化,自增,邊界判斷操作,for語(yǔ)句自帶該功能:
for循環(huán)可以嵌套用來(lái)進(jìn)行矩陣打印,例如打印一個(gè)乘法表:
print()打印默認(rèn)以換行符結(jié)束,如果需要指定結(jié)束標(biāo)志用print(,end=),end在這里表示結(jié)束標(biāo)志,如果需要空格則可以寫成end=''
5.字符串格式化
字符串輸出有以上4種方式,string可以用“+”進(jìn)行字符串拼接。在python中,任何類型都可以用字符串形式輸出,用%s表示,如果指定數(shù)據(jù)格式,則%d表示整數(shù),%f表示浮點(diǎn)數(shù)。%03d表示輸出的整數(shù)是三位數(shù)顯示,不足的位數(shù)用0補(bǔ)齊。%.2f表示輸出的小數(shù)精確到小數(shù)點(diǎn)后兩位。
總結(jié)
以上是生活随笔為你收集整理的学习笔记二 Charles抓包及Python循环控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 修改某个appointment已经存在的
- 下一篇: 关于Business Document