python基础学习笔记1

 

1       Jmeter分布式压测

1、  其他的压力机启动jmeter-server.bat

 

2、在控制机上,找到jmeter的bin目录下打开jmeter.properties文件,找到remote_hosts=localhost:1099,192.168.3.114:1099,192.168.3.115:1099该信息(该信息默认是注释掉的,需要将前面的#号去掉),添加远程压力机,如果有多个压力机,在后面用逗号隔开;

 

3、添加完上述信息之后,重启jmeter,选择<运行->远程启动>选择对应的服务器。

 

2       Jmeter在linux上运行

1、  首先在windows下创建好脚本,并将脚本传到linux的jmeter的bin目录下

 

2、  在地址栏上直接输入cmd,直接进到jmeter目录;

 

3、  进入到cmd目录下,使用命令jmeter -n -t aaa.jmx –l xxx.jtl

-n:没有图形化界面执行;

-t:指定jmeter脚本路径,如果脚本直接放在jmeter的bin目录下,则直接写jmeter脚本名称即可,如果不是在该目录下,写入脚本的绝对路径;

-l:输出测试结果保持到某个文件里,文件必须以.jtl文件名结尾;

 

4、查看结果,打开jmeter图形化界面,添加聚合报告,导入刚刚生成的jtl文件。

 

如果要查看结果树,则直接添加一个查看结果树,导入刚刚生成的jtl文件。

 

3       抓包

1、可以使用该工具抓包定位问题,确认客户端请求有问题还是服务端返回有问题;

抓包过滤

 

2、篡改请求,可以绕过前端输入其他异常数据发送给服务器,用于测试异常安全性测试;

抓包拦截(选中需要拦截的URL,右击选择Breakpoints)

 

再次访问该页面会进行拦截,可以在上面篡改数据再执行。

 

手机端操作测试,手机上设置代理即可使用charles进行抓包。

 

移动端测试模拟手机测试设置(弱网测试)

 

4       Webservice-soapui

天气预报接口地址

1、  sopaui新建一个soap项目

2、  在wsdl地址栏上填上wsdl接口的地址;

3、  左边是请求的数据,右边是返回的数据;

5       Python

Python可以在网络爬虫、数据分析、web开发、人工智能、自动化运维、自动化测试、嵌入式、黑客等方面使用。

脚本语言:功能单一,如shell脚本语言,只能在linux系统上运行;

语言分为编译型语言和解释型语言

编译型语言:运行代码之前,要先编译,再运行;如C、C++、C#;编译时间较长;

解释型语言:运行的时候才去编译,运行一次编译一次,如python、ruby、shell、java;解释型语言运行效率没有编译型语言快;

5.1     变量

name = 'zhangsan'
age = 28

等号前面是变量名,等号后面是变量值,变量值如果是字符串的必须使用单引用,否则报错;

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']

变量就是用来存储东西的。

变量值单引号和双引号的使用区别:

当字符串里有单引号时,整个字符串就需要使用双引号;

Words1 = “I’m zhangsan”

当字符串中有双引号时,整个字符串就需要使用单引号;

Words2 = ‘沈阳长的”很帅”’

当字符串中即有单引号,又有双引号,整个字符串就需要用三个单引号或三个双引号;

Words3 ='''I'm shenyang,i love "python"'''

注释:

Pycharm中对整行进行注释快捷键是ctrl+/,如果取消注释再按一次即可;

5.2     条件判断

Python中条件判断只有if-----else条件判断

且if和else冒号后面必须有缩进。

If和elif后面必须要跟条件判断,else后面可以不跟条件判断,且elif可以有多个;

 

查看数据类型可以使用type(变量名)就知道具体的数据类型。

 

快速复制一行代码使用ctrl+D快捷方式。

有多个条件同时满足需要使用and连接,不能使用&&号。

 

有多个条件只要满足其中一个就表示成功,则使用or进行连接。

 

5.3     循环

5.3.1  While循环

While循环必须有一个计数器,记录循环的次数,循环就是在重复执行循环体里面的代码。

 

如果循环中碰到break则立即结束循环,所以break下面的代码是永远执行不到的(即与break代码在一级别的,下面的例子中count= count+1与break不是一个级别,所以能执行到);

 

While----else中的else是循环正常结束之后,才会执行else:

 

debug调试

如果代码中有问题,可以在有疑惑的地方添加断点,再右击选择debug循环运行。

 

5.3.2  For循环

For循环不需要定义计数器,但是不能定义死循环;

break立即结束循环,不管你循环有没有完成;

continue结束本次循环,继续进行下一次循环;

 

For循环中的break示例:

 

5.4     字符串格式化输出

字符串直接拼接

用“+”连接,直接把输出的字符串和变量连接起来就可以了;

 

占位符

占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;

 

 

5.5     列表list(也称数组)

列表里有多个元素,列表中的下标都是从0开始的。

 

5.6     列表的增删改查

5.6.1  列表中增加元素的方法

append()在列表末尾增加一个元素

insert()在列表指定位置增加一个元素

 

5.6.2  列表中删除元素的方法

pop()删除列表指定位置的一个元素

remove()删除列表中指定的一个元素

del也可以删除指定位置的一个元素

 

5.6.3  列表中修改元素的方法

stus[1] = '张三'

5.6.4  列表中查询元素的方法

print(stus[1])

print(stus[-1])  #下标中如果取-1的时候,就取最后一个元素

5.6.5  清理列表中的元素方法

stus.clear()

统计指定元素在列表里面出现的次数

print(stus.count('张三'))

返回指定元素第一次出现的下标,如果这个元素不在列表中,则会报错

print(stus.indes('张三'))  

 

列表元素反正

stus.reverse() 

把后面list里面的值,加入到第一个list中去

stus.extend(stus2)     #方法一

print(stus+stus2)      #方法二

合并两个list

stus3 = stus + stus2

print(stus3)

排序,默认是升序,如果要进行降序则nums.sort(reverse=True),就可以了

nums = [1,3,5,3,5,2,9,7]

nums.sort()

print(nums)

 

数组示例:

 

猜你喜欢

转载自www.cnblogs.com/better0903/p/9119386.html