Jmter
jmeter分布式压测
1、其他的压力机启动jmeter-server;
2、在主控机jmeter的配置文件jmeter.properties里面找到,remote_hosts=xx,写进去压力机的ip即可;
3、运行的时候要选择远程全部启动;
jmeter在linux上运行
1、首先在Windows的图形化界面做好脚本,设置好并发用户数,执行时间,等等;
2、进入到jmeter的bin目录下,运行命令
jmeter -n -t /usr/local/xxx.jmx -l xxx.jtl
-n的意思是没有图形化界面运行
-t的意思就是指定运行哪个脚本
-l的意思是运行结果保存哪个文件里面
3、查看结果的话,打开jmeter的图形化界面
添加一个聚合报告,导入生成jtl文件即可
Charles
抓包的作用:
1、定位问题
2、修改请求、修改返回
1、能测试系统的其他的异常
修改请求:
1、打开Charles,用浏览器打开需要抓包的网站
2、对要打断点的接口地址,右键-选择【Breakpoints】
3.用浏览器重新打开网站,再次请求打断点的接口地址时,此时会弹出【Edit Breakpoint】对话框;点击【Edit Request】,修改请求的数据,点击底部的【Execute】;
修改返回:
1、对需要修改返回的url打断点,再次发起接口请求,此时会弹出【Edit Breakpoint】对话框,点击【Edit Request】,点击底部的【Execute】;
2、点击【Edit Response】,修改返回的数据,点击底部的【Execute】
手机抓包:
1、打开charles,必须保证手机和电脑是在一个局域网里面
2、手机设置代理
服务器写你电脑的ip
端口号,默认是8888
模拟弱网测试:
1.打开弱网设置;
2.勾选Enable Throttling,设置弱网参数,保存;
python
python介绍
变量:
变量就是存东西,供后面来用的。
定义变量的方法:起个名字,写个等号,再加个值;
如:name= "牛寒阳" #定义一个变量,存字符串类型
age=18 #定义一个变量,存整数类型
定义变量的规则:
变量名只能是字母、数字或下划线的任意组合;
变量名的第一个字符不能是数字;
不能将python关键字作为变量名;
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
单引号、双引号和三引号(就是三个单引号):
python中定义变量的时候字符串都用引号括起来,使用单引号或双引号都行;
如果说这个字符串里面有单引号的话,那你外面就用双引号,里面有双引号的话,外面就用单引号;如果既有单又有双,那么用三引号;
注释代码:
单行注释,在代码前面加上#;
三引号也可以多行注释代码;
条件判断
条件判断:
python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样,否则就怎么怎么这样,如:
一、
if 1>2:
print('那是不可能的')
else:
print('哈哈哈')
二,
# >=90 优秀
# <90 并且 >=80 良好
# <80 并且 >=60 及格
# 不及格
score = input('请输入你的分数:')
score = int(score) #强制类型转换
if score>=90:
print('你很优秀')
elif score<90 and score>=80: #多个条件同时满足用and
print('良好')
elif score<80 and score>=60:
print('及格')
else:
print('不及格')
查看变量的数据类型:
type(name)
循环
while循环:
while循环,必须有一个计数器,用来记录循环次数;
循环就是在重复的执行循环体里面的代码;
# 猜数字,如果猜大了,提示太大,猜小了就提示小,猜对了就结束
import random
num = random.randint(1,100) #产生一个随机的数字
count = 0
while count<7:
guess = input('请输入你的猜的数字:')
guess = int(guess)
if guess>num:
print('大了')
elif guess<num:
print('猜小了')
else:
print('恭喜你猜对了')
break #立即结束循环
count=count+1
else: #循环正常结束之后,会执行else
print('游戏次数已经用尽')
for循环:
#错误次数3次
num=10
for i in range(3):
username = input('请输入你的用户名:')
pwd = input('请输入你的密码:')
if username=='nhy' and pwd=='123456':
print('欢迎光临,登录成功!,今天xxx')
break
else:
print('账号/密码错误!')
else:
print('错误次数已经用光了,请明天再试')
字符串格式
字符串拼接:
import datetime
user = '牛寒阳'
today = datetime.datetime.today() #获取到今天的日期
today = str(today)
msg = '欢迎'+user+'登录,'+'今天的日期是'+today
print(msg)
占位符:
占位符: %s 字符串, %d 整数, %f就是小数
1.占位符是字符串类型
import datetime
user = '牛寒阳'
today = datetime.datetime.today() #获取到今天的日期
today = str(today)
msg = '欢迎%s登录,今天的日期是%s' %(user,today)
print(msg)
2.占位符是整数和小数类型
age = 18
score = 98.52699
msg = '你的年龄是%d,你的分数是%f' %(age,score)
print(msg)
列表
增:
stus = [ '王端震','刘欣雨','单宝梁' ]
stus.append('周伊凡') #在列表末尾增加一个元素
stus.insert(0,'聂磊') #在指定位置添加一个元素
删除:
stus = [ '王端震','刘欣雨','单宝梁' ]
stus.pop(2) #删除指定位置的元素
stus.remove('刘欣雨') #删除指定的元素
del stus[1] #删除指定位置的元素
stus.clear() #清空整个list
改:
stus = [ '王端震','刘欣雨','单宝梁' ]
stus[0]='老王' #修改
查(取值):
stus = [ '王端震','刘欣雨','单宝梁' ]
print(stus[0]) #取值下标为0的时候取第一个元素
print(stus[-1]) #取值下标为-1的时候,就取最后一个元素
count
stus = [ '王端震','刘欣雨','单宝梁','王端震']
stus.count('王端震') #统计这个元素在list里面出现了几次
index
stus.index('王端震') #返回这个元素第一次出现的下标,如果这个元素在list不存在会报错
reverse
stus.reverse() #反转
print(stus)
extend
stus = [ '王端震','刘欣雨','单宝梁' ]
stus2 = ['高伟峰','王洋','张众']
stus.extend(stus2) #把后面list里面的值,加入到第一个list里面
stu3 = stus+stus2 #合并两个list
sort
nums = [1,3,8,5,23,24,3,3462,12]
nums.sort() #排序,默认是升序
print(nums)
nums.sort(reverse=True) #降序
print(nums)
len
my = [[1,2,3,4,5,6],['name','age','sex','哈哈',['小明','小黑','小白']],890]
print( len(my) ) #看变量的元素个数,长度