jmeter压力测试
前提场景的设置:单场景(单个接口进行压力测试一个请求)或混合场景(有业务流程的场景进行压力测试多个请求),压测时间一般在5--1515分组具体看需求。
数据准备:数据量少和数据量大的情况下,测试的结果是不一样的,在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter,操作数据库来造数据,也可以使用python连接数据库,批量的造数据。
查看压测结果:tps每秒钟处理的请求数,每个请求处理的响应时间,并发用户数。
jmeter断言
用来验证结果是否正确,如果正确的话,就代表这个请求的返回是正确的,如果没有的话就代表这个请求的结果和我们预期的不一致,这样我们就可以通断言来检查返回结果,测试是否通过。
jmeter数据库的操作
1.导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql。直接在测试计划下面添加mysql的包,线程组--右键添加--配置元件
2.创建数据库连接配置,mysql的url、端口号、账号、密码
3.写sql,执行sql
4.查看结果
抓包工具有哪些:常见的抓包工具有fiddler,wireshark ,charles, HttpWatch, firebug 等
Charles的基本功能使用
Charles简介:charles是一款常用的截取网络抓包的工具,因为他是基于 java 开发的,所以跨平台,Mac、Linux、Window下都是可以使用的,确保安装之前已经安装了JDK。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
手机端使用charles进行抓包:
第一步,在charles里设置允许手机联网的权限;你需要把charles设置为允许的状态并且设置允许的端口号,这样手机端才能正常的接入;
在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口号(注意,端口不一定填写8888,也可以写别的端口,但是需要记住因为这里设置的允许接入的端口,手机端配置的时候需要用到),并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图;
查看当前电脑ip地址:可以直接用cmd ipconfig 进行查看地址。或者直接在Charles--help--Local IP Address 进行查看地址。(ip地址需要与手机配对)
可以任意打开一个浏览器输入一下地址进行验证,Charles会弹出提示。
第二步,把手机按照charles的IP和端口进行配置;(手机和电脑网络在同一个wifi)
在iPhone的 “设置”->“无线局域网“可以看到当前连接的wifi名,点击右边的详情键,进入到连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号填写你在charles的端口号
第三步,手机配对成功后,charles还会弹窗是否允许;
设置好之后,我们打开iPhone上的任意需要网络通讯的程序,就可以看到Charles弹出iPhone请求连接的确认菜单
如上图的弹窗,点击允许即可;此时已经配对成功,开始愉快的抓包吧;
python基础知识
Python特点:优雅,明确,简单易懂,第三方库比较多。
paython开发的应用:网络应用,包括网站、后台服务等等;日常需要的小工具,系统管理员需要的脚本任务等等;另外就是把其他语言开发的程序再包装起来,方便使用。
Python的缺点:第一个缺点就是运行速度慢,第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码。
python 的基础知识
python中有一以下几种数据类型:Numbers(数字),string()--字符串,Tuple(元组),list--数组或列表,sets(集合)
转义符 '\'自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
Numbers(数字):int、float、bool、complex(复数),
string()--字符串:str用单引号(' ')或双引号(" ")括起来,同时使用反斜杠(\)转义特殊字符,
list(列表):列表是写在方括号之间、用逗号分隔开的元素列表,列表中元素的类型可以不相同。例如:a = ['him', 25, 100, 'her']
Tuple(元组):与列表类似,不同之处在于元组的元素不能修改。元组写在小括号里,元素之间用逗号隔开。例如:a = (1991, 2014, 'physics', 'math')
sets(集合):是一个无序不重复元素的集。基本功能是进行成员关系测试和消除重复元素。可以使用大括号 或者 set()函数创建set集合,注意:创建一个空集合必须用 set() 而不是 { },因为{ }是用来创建一个空字典,例如:student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
python注释:单行注释以#开头,多行注释用三个单引号(''')或者三个双引号(""")将注释括起来。
python算数运算符
python比较运算符
python赋值运算符
python位运算符
python逻辑运算符
条件判断:if语句
age = 20
if age > 18:
print('your age is', age)
备注:定义一个数值,判断当前给出的数值是否与定义的相同,相同就执行print语句。或者: if else
age = 15
if age > 18:
print("your age is", age)
else:
print("输出错误")
多重判断: if --elif--elseage = 3
if age>=18:
print("aaaa")
elif age>=10:
print("bbbb")
else:
peinr("ccccc")
备注:先执行if条件,通过就直接打印print,如不通过执行elif语句,通过就打印,不通过就在执行else语句。
python循环,有两种循环for和whlie
break:立即结束循环,不管循环有没有完成
continue:结束本次循环,继续进行下一次循环
whlie循环
while 判断条件:
statements
while循环,要带上计数器,如果使用continue,计数器不会累计,可能会产生死循环
for循环
登录小程序
备注:for else语句可以总结成以下话。
如果我依次做完了所有的事情(for正常结束),我就去做其他事(执行else),若做到一半就停下来不做了(中途遇到break),我就不去做其他事了(不执行else)。只有循环完所有次数,才会执行 else 。break 可以阻止 else 语句块的执行。