自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 57期性能测试高阶

性能测试高阶1、jmeter 连接数据库mysql 插件安装:1) 去网上下载mysql-connector-java-5.1.31.jar ,放置在jmeter 安装目录/lib/extm目录下2)重启jmeter补充:jmeter 引用外部依赖包-----测试计划–添加目录或jar 包jmeter 里面多重变量的引用:KaTeX parse error: Expected group after '_' at position 7: {uname_̲{index}} ---->

2021-06-29 21:03:04 223

原创 57期性能测试项目阶段

性能测试流程怎么做负载测试?怎么做性能测试?step 1 :需求分析分析本次测试哪个项目,哪些模块,接口还是页面,项目人手安排,项目大致时间安排,采用什么工具,通过标准等step 2:测试计划和方案计划:在什么节点完成什么事方案:谁在 什么时间 什么地点 做什么事情step 3: 环境搭建搭建性能测试,部署项目性能测试环境:本地环境----》dev环境—》test 环境—》性能测试环境—》预发布环境—》灰度环境(金丝雀环境)—》生产环境(现网环境)开发:本地环境、dev环境测试:

2021-06-29 21:02:33 230

原创 57期性能测试_0621

1、编写jmeter脚本的方式1) badboy 录制2)jmeter 自带的录制控制器3) 手写脚本2、手动编写jmeter 性能测试脚本性能测试三要素:接口测试、真实场景、多线程2.1 使用jmeter 完成接口测试接口测试的工具:postman、fiddler、python+requests、jmeter断言:响应断言:相等断言、包含断言、子字符串、匹配断言(正则表达式断言)JSON 断言:返回值是json格式,其中相等断言和正则匹配断言 -----$.[0].unit

2021-06-22 12:18:13 737

原创 57期性能测试--2

1、编写jmeter脚本的方式1) badboy 录制2)jmeter 自带的录制控制器3) 手写脚本2、手动编写jmeter 性能测试脚本性能测试三要素:接口测试、真实场景、多线程2.1 使用jmeter 完成接口测试接口测试的工具:postman、fiddler、python+requests、jmeter断言:响应断言:相等断言、包含断言、子字符串、匹配断言(正则表达式断言)JSON 断言:返回值是json格式,其中相等断言和正则匹配断言 -----$.[0].unit

2021-06-17 08:25:50 118 1

原创 57期性能测试_0615

性能测试1、性能测试的概念:使用工具模拟若干真实用户对系统发起访问,观察系统的各项性能指标是否达标对性能测试的理解:稳定性、响应时间、高并发、服务器处理能力、正确性选电脑、选手机:5000智能手机,500智能手机—区别 性能不一样-硬件性能、软件性能2、性能测试和功能测试的关注点区别功能测试关注:能不能用,所有的功能点都需要测,不管该功能点有没有人使用性能测试关注:能不能高效快速使用,能不能稳定运行,关注用户高频使用的功能点(接口)或者系统的核心功能(接口)3、为什么需要做性能测试?问题:不

2021-06-16 08:20:48 108

原创 API-03-加密和散列

加密和散列一、网络安全1.1网络中的隐患窃听:窃听者截获网络中的信息,并不修改,仅仅获取信息而已。篡改:篡改者截获发送方的信息,并将信息修改,再修改后的信息发送接收方,造成了信息的不对称。伪装:伪装者伪装成接收方,发送方发送的消息直接发给伪装者,接收方不不会收到任何消息。1.2 网络安全的要素信息的机密性报文的完整性身份验证1.3 网络安全的策略加密散列算法数字签名二、加密解密2.1 简介加密是通过加密算法和密钥对象来实现信息的机密性。加密是可逆的,即加密后的密

2021-05-28 01:16:41 272 3

原创 API-02-requests基础

requests一、简介requests库是Python第三方库,作用是模拟浏览器向服务器发送起HTTP请求,处理响应结果。requests库的底层是urllib3requests库的使用范围:爬虫、接口测试。安装requests库:python -m pip install requests官方文档:https://docs.python-requests.org/en/master/中文文档:https://docs.python-requests.org/zh_CN/late

2021-05-28 01:16:09 258

原创 API-01-HTTP

HTTP一、HTTP1. HTTP的简介HTTP,全称HyperText Transfer Procotol,超文本传输协议。超文本表示超越文本限制和超文本链接。比如可以传输图片、音频、视频、超链接的跳转。HTTP是1991年被发明,发明者是美国人。初衷只是传输文本文档。目前可以传略超文本内容。HTTP在通信之前必须创建TCP的连接,即HTTP是建立在TCP的基础上的协议。2. HTTP的作用WebBrowser与WebServer之间进行通信的协定,规定了数据传输的方法、数据的传输格式、安

2021-05-28 01:15:37 140

原创 Web自动化-07-UnitTest

UnitTest单元测试框架一、unittest简介单元测试的实质就是使用代码来测试代码。UnitTest单元测试框架是Python官方编写的标准库。灵感来源于JUnit(Java的单元测试框架)与UnitTest相对的一个第三方单元测试框架(pytest),业内使用pytest较多。UnitTest一般用于GUI、APP测试。由unittest是官方给定的测试框架,它的测试流程较为标准,所以测试人员一般用unittest来管理编写的测试用例。unittest的规则:创建unitte

2021-05-22 17:38:51 102

原创 Web自动化-06-WebDriver

WebDriver操作一、内嵌页面和窗口切换内嵌页面的HTML文档:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>iframe页面</title></head><body> <div class="panayun"><span>下面的内容是iframe中的&l

2021-05-22 17:36:19 200

原创 Web自动化-05-XPath

XPath一、简介XPath,全称XML路径语言。为什么要学习XPath?XPath相比CSS选择器的功能要更加强大,它的检索速度要稍快;XPath可以应用到:爬虫、App自动化测试XPath的版本分为XPath 1和XPath 2,目前的浏览器只支持XPath 1。XPath包括7种节点:根节点、属性节点、元素节点、文档节点…节点的分类:父节点:一个节点的直接父节点子节点:一个节点的直接子节点先代节点:包含一个节点的所有节点后代节点:一个节点的所包含的所有内部节点同胞节点

2021-05-22 17:35:25 134

原创 Web自动化-04-CSS_Selector

CSS选择器CSS 层叠样式样表,定义页面的样式CSS选择器与前端的语法一致。id、name、class_name、tag_name在Python-Selenium在底层都是通过css_selector来定位。使用的HTML文档<!DOCTYPE html> <!-- 声明这个文档是一个HTML5页面 --><html lang="en"><!-- 表示文档是英文字符源码 --><head> <meta ch

2021-05-22 17:34:23 189

原创 Web自动化-03-Selenium

Selenium一、WebDriver的常用方法方法描述get()在浏览器中打开网址maximize_window()最大化浏览器窗口minimize_window()最小化浏览器窗口set_window_size(长, 宽)设置窗口大小,参数为像素back()后退forward()前进refresh()刷新close()关闭当前窗口quit()关闭所有窗口案例:百度在搜索关键字from selenium

2021-05-22 17:31:08 88

原创 Web自动化-02-GUI自动化测试

GUI自动化测试GUI,全称:Graphical User Interface,中文含义:图形用户接口一、自动化测试的定义通过软件工具或者程序脚本来模拟用户的操作,操作的结果作为实际,与测试用例中的预期结果进行自动对比。为什么做自动化测试?在测试工作中有大量重复的测试;测试中有大量的回归测试;某些测试过程必须使用自动化来执行用例,接口测试,性能测试;二、什么项目适合做自动化?项目周期比较长需求变动不频繁测试工作中有大量的回归测试三、自动化测试的工具单元测试:son

2021-05-22 17:30:20 174

原创 Web自动化-01-HTML

HTML一、介绍HTML,超文本标记语言,英文全称:HyperText Mark-up Language超文本:超越文本的限制,页面中可以定义一些图片、音频、视频等等超文本链接,页面中也可以定义网站的URL(统一资源定位符),比如:http://www.baidu.com标记标记,也就是标签。标签分为双标签和单标签。HTML的作用HTML是定义页面结构的语言,制作页面的一门语言。CSS(层叠样式)表。它是用来定义页面的样式。JavaScript,页面的编程语言,

2021-05-22 17:29:36 98

原创 Python-25-闭包和装饰器

一、闭包1. 函数的引用def demo01(): print("---demo01---")test01 = demo01test01() # ---demo01---2. 案例设计程序计算 y = k * x + b函数def demo01(x, k=1, b=1): print(k*x+b)demo01(0)demo01(1)demo01(2)demo01(0, 2, 2)demo01(1, 2, 2)demo01(2, 2, 2)类cla

2021-05-22 17:29:05 58

原创 Python-24-正则表达式

正则表达式一、概述概念比如说:在实际开发中,可以需要验证注册用户的名称是否满足某种(使用字母和下划线),程序员需要对每个用户输入的内容进行规则的对比;再比如:需要爬取页面中内容,邮箱(xxx@域名)、手机号、图片的链接;正则表达式就是满足某种规则的一段代码。英文名称:Regular Expression,简称RE特点语法比较诡异,可读性很差通用性很强,绝大多数的编程语法都正则表达式。二、re模块# 导入re模块import re# 使用match函数进行匹配,matc

2021-05-22 17:28:07 143

原创 Python-23-TCP编程

TCP编程一、socket类导入socket模块import socket实例化一个套接字对象socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)参数解释:family:表示IP地址的类型,AF_INET表示 IPv4,AF_INET6表示 IPv6type:表示传输协议的类型,SOCK_STREAM表示TCP,SOCK_DGRAM表示UDPsocket对象的方法connect((IP,Port

2021-05-22 17:27:36 66

原创 Python-22-TCP和Socket

TCP和Socket一、TCP0. 网络分层OSI:(Open System Interconnection Reference Model)开放系统互联模型。(自顶向下)分层名称描述第七层应用层开发程序之后产生的数据第六层表示层将应用程序的数据进行打包、压缩、加密等待第五层会话层用于创建、管理、关闭网络应用程序的会话第四层传输层定义了进程到进程之间的数据传输。port第三层网络层定义了IP到IP之间的数据传输。路由器,ip地址

2021-05-16 00:07:53 67

原创 Python-21-IP和Port

IP和Port一、IP1. IP的概念IP地址在同一个局域网中唯一标识了一个设备。也叫做逻辑地址。mac地址,也估物理地址,是网卡的地址,是网卡出厂前已经标识的地址,不能变更。2. IP的表示形式根据协议版本划分:IPv4:由32位的点分二进制组成。目前使用的IP协议类型。IPv6:新的IP协议版本。用不完。冒号分隔。根据网络分层:公网:在互联网中的唯一的静态IP地址私网:在公网之后建立的子网。根据网段划分:ABCDE3. IP的作用IP地址是标识网络中的

2021-05-16 00:07:21 551

原创 Python-20-多线程

多线程一、线程在Python中,实现多任务也可以使用多线程。多线程一般用于轻量级的多任务,多线程是CPU调度的基本单位。在Python中,多进程可以使用多个CPU,多线程只能使用一个CPU核心。原因:CPython源码实现了GIL(全局解释器锁)GIL的实现原理:设置GIL锁;多个线程抢占CPU资源,线程1抢到了资源线程在GIL内执行,运行情况有两种:被动:由于CPU时间片轮转,让线程休眠,释放GIL锁;自动:线程1主动休眠(中断)、让步(yielded)释放;多个线程再抢占资

2021-05-16 00:06:49 103

原创 Python-19-多进程

多进程零、多任务思考:一台电脑中,当开启足够多个软件时,CPU如何处理这些软件的运行?答案:CPU使用时间片轮转来实现多任务0.1 多任务的概念多任务就是同时执行多个任务。Linux操作系统是一个多用户、多任务的操作系统。0.2 多任务执行的方式并发:一个CPU核心交替来执行多任务,使用的是CPU的时间片轮转性能;并行:当任务数小于等于核心数,CPU同时只执行一个任务。并行是真正的多任务。一、进程程序,在电脑磁盘中的二进制文件,程序是处于未运行的状态。一旦程序运行之后,会产生一个进

2021-05-16 00:06:17 39

原创 Python-18-模块和包

模块和包一、模块在Python中,以.py为扩展名的文件就是一个模块(module)。Python模块中可以写入正常的Python代码。模块名,文件的基本名就是模块名。比如:test.py的模块名是test将项目的不同功能拆分,分配到多个开发人员,不同人员根据接口文档进行开发,这个过程可以看作模块化1. 导入模块1.1 import 模块名语法import 模块1import 模块1, 模块2....代码import time, math# 模块中功能引用的调用# 模块

2021-05-16 00:05:43 95

原创 Python-17-异常

异常一、了解异常当程序执行之后,解释器会检测程序中是否有错误,如果遇到错误,解释器会给出错误类型和错误信息,这个类型和信息在Python中叫做”异常“异常的特点:当出现之后,解释器立即停止解释,异常代码之后的代码不会执行。在工程中,即使代码报错,也需要执行后续代码,这时就需要对异常进行处理,处理过程叫做”捕获异常“n1 = int(input('请输入一个整数:')) # 可能报错的代码'1.1' 不能转int类型print('asdfasdfasd')print(1 /

2021-05-16 00:05:13 80

原创 Python-16-面向对象_补充

面向对向-补充一、面向对象的三大特征封装将事物的属性和方法写入到类中可以定义私有属性和方法实例空间保存实例属性,其余的属性和所有方法保存在类空间继承每个类都有至少一个父类,子类继承父类后,那么子类就拥有父类中所有的属性和方法子类不能继承私有属性和方法多态在方法中传入不同的对象,会产生不同的结果二、多态2.1 多态的概念多态指的是事物的多种形态。多态的前提是继承。步骤:定义一个父类,并且创建父类中相应的公共方法定义多个子类,重写这个公共方法将子类的

2021-05-16 00:04:42 43

原创 Python-15-面向对象_继承

继承一、继承的概念在生活中,继承就是后代继承先代的财产。在Python中,面向对象编程思想的继承,表示一个子类可以继承多个父类,当子类继承父之后,那么子类就拥有父类的所有属性和方法继承的作用:将冗余代码删除,增加代码复用性。class A(object): def __init__(self): self.id = 1 def a_method(self): print(self.id)class B(A): passb = B()print

2021-05-16 00:04:04 66

原创 Python-13-文件读写

文件读写一、文件读写简介文件的操作可以叫做文件的I/O流操作I/OI表示 Input;O表示 Output相对内存而言,读写磁盘的数据,读取数据到内存叫做Input,将数据写入到磁盘叫做Output文件操作的作用:将文件数据保存到磁盘,方便后续的对数据的使用。二、文件的基本操作文件操作的步骤:打开文件;对文件进行读写;关闭文件。注意:其中第1和3步是必须的,第2步可选。模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

2021-05-16 00:03:21 131

原创 数据类型的总结

数据类型总结数据类型是否有序是否可迭代是否可变int、float、bool无序不可迭代不可变str有序可迭代不可变list有序可迭代可变tuple有序可迭代不可变dict无序可迭代可变set无序可迭代可变None无序不可迭代不可变函数的实参实参描述举例函数的形参形参描述举例

2021-04-29 21:50:13 40

原创 Python-13-面向对象_封装

面向对象-封装一、了解面向对象面向对象是一种抽象化的程序设计思想,很多其它支持面向对象程序设计。比如:洗衣服手洗:相当于面向过程,人们需要设计并参与到整个洗衣服的过程中,必须按洗衣服的步骤来进行。机洗:相当于面向对象,买了一台洗衣机,将洗衣服的某些步骤进行封装,用户只需要关注洗衣机的功能,需要哪些功能直接调用即可,不需要关注洗衣机的内部构造。面向对象程序设计是一种使用代码对事物进行编程化的程序设计过程。在代码中对事物的特征和行为进行程序设计,在调用时可以使用相应的属性和方法来实现事物的特征和行

2021-04-29 21:49:33 86

原创 Python-12-函数进阶

函数进阶一、变量的作用域在Python脚本中,每个变量都自己作用域,根据作用范围不同分为:局部变量和全局变量。1.1 局部变量局部变量,在函数体中定义的变量,作用范围只在函数中。1.1.1 在全局访问局部变量不可变数据类型# 定义函数,在函数体定义一个变量,变量的类型为不可变def func(): global a # 声名局部变量为全局变量 a = 0 print(f'局部a={a};a的ID={id(a)}') # 调用函数func() #

2021-04-29 21:48:55 170

原创 Python-11-函数基础

函数基础一、函数的作用简单案例:ATM项目存款、取款、查询余额# 存款的代码print('---存款--')# 跳转到主页print(' 欢迎使用WoniuATM '.center(48, '*'))print(' 1.存款 2.取款 3.查询 4.退卡 '.center(46, '*'))pirnt('*' * 50)# 取款的代码print('---取款---')# 跳转到主页print(' 欢迎使用WoniuATM '.center(48, '*'))print(' 1

2021-04-29 21:48:25 132

原创 Python-10-推导式

推导式使用一个表达式来生成指定的数据容器。一、列表推导式1.1 列表推导式需求:创建一个0-9的列表,[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]for# 1. 创建一个空列表lst1 = list()# 2. 将0-9的数据对象遍历for i in range(10): # 3. 将遍历的迭代数据添加到空列表中 lst1.append(i)print(lst1) # 需求的列表列表推导式lst = [i for i in range(

2021-04-27 20:16:33 160

原创 Python-09-容器公共操作

容器公共操作一、运算符运算符描述支持的容器+合并字符串、列表、元组*重复字符串、列表、元组in元素是否存在字符串、列表、元组、字典、集合not in元素是否存在字符串、列表、元组、字典、集合1.1 +操作数必须为相同的数据类型。合并操作会产生新的对象,与容器的类型无关!# 1. 字符串str1 = 'abc'str2 = '123'print(str1 + str2) # 'abc123',按运算顺序进行合并# 2. 列表

2021-04-27 20:15:56 73

原创 Python-08-集合

集合集合是一个可变的、无序、可迭代的数据容器。集合中的元素不可重复,集合也可以进行遍历操作,遍历结果的顺序随机。一、集合的创建{}# 创建一个非空集合s1 = {1, 2, 3}print(s, type(s)) # {1, 2, 3} <class 'set'>s2 = {1, 2, 3, 2, 3}print(s, type(s)) # {1, 2, 3} <class 'set'>s = {1, 2, [1, 2]} # TypeErro

2021-04-27 20:14:16 40

原创 Python-07-字典

字典零、字典的应用思考:如何快速存储一组数据?答案:使用列表,p = ['Tomcat', 18, '男']思考:如何提取想要的数据?答案:通过下标来提取,p[0]思考:如果列表中的元素顺序发生改变,对应就的数据如何规避错误?答案:使用字典。字典通过key和value来表示字典中元素,每个元素使用逗号隔开,元素之间没有顺序。字典是可变数据类型,它是无序的,可迭代的数据类型一、字典的创建# 1. 创建一个字典d1 = {'a': 11, 'b': 22, 'c': 33}prin

2021-04-26 20:38:33 188

原创 Python-06-元组

元组元组是一个数据的容器,但是容器的数据不可以修改(ID不能变)。元组是不可变数据类型,它是有序的、可迭代的。一、元组的创建格式(数据1, 数据2, ... , 数据n)元组的创建# 1. 创建一个至少两个元素的元组t1 = (11, 22, 33)print(t1, type(t1)) # (11, 22, 33) <class 'tuple'># 2. 创建空元组t2 = ()print(t2, type(t2)) # () <class 'tu

2021-04-26 20:37:57 110

原创 Python-05-列表

列表列表是一个数据的容器,可以保存不同类型的数据对象。列表属于可变数据类型、有序的、可迭代的。一、列表的格式语法# [数据1, 数据2, 数据3, ..., 数据n]代码# 1. 创建一个有元素的一维列表lst1 = [1, 2.3, 'A']# 2. 创建一个空列表lst2 = [] # 第一种lst3 = list() # 第二种二、常用方法2.1 查2.1.1 下标列表是有序的数据类型,因此可以使用下标(索引)来提取列表的元素。下标的代码演示lst

2021-04-26 20:36:43 79

原创 Python-04-字符串

字符串一、字符串的创建一对引号创建str1 = 'Hello,world!'str2 = "Hello,Python!"print(str1, type(str1))print(str1, type(str1))三对引号创建str3 = """Tomcat"""str4 = """Helloworld"""print(str3, type(str3))print(str4, type(str4))''' 输出结果:Tomcat <class 'str'&gt

2021-04-26 20:35:53 190

原创 Python-03-结构控制

程序的流程控制零、程序的结构分为三种结构顺序结构:自顶向下运行代码;分支结构(选择结构):通过条件的判断进行代码分支的处理,如果条件成功,则执行指定的代码块。只执行0次或1次;循环结构:通过条件的判断,如果条件为真则执行代码,这个判断会进行多次,直到条件为假。执行的次数比判断次数少一次。分支结构的关键字:if、elif、else,只有一种分支的语法;循环结构的关键字:while、for-in,有两种循环语法一、对象的布尔值在Python一切皆对象,每个对象都有一个布尔值(Tru

2021-04-23 17:58:44 143

原创 Python-02-Python入门

Python入门一、注释特征:当CPython执行代码时,会忽略掉注释说明文字。作用:使用自然语言对代码行、代码块、函数功能、类功能进行文字说明。分类:单行:#与代码作为一行时,注释写在代码之后,#与代码之间建议至少空两个空格单行注释作为单独一行时,与需要注释的代码行首对齐多行:''' 注释 '''、""" 注释 """特点:在三引号内的所有文字,包括“代码”都是注释多行注释作为单行说明文字时,不要与代码写到一行PyCharm中注释的热键:Ctrl + /二、变

2021-04-22 11:54:49 186

57期性能测试_0617.md

57期性能测试_0617.md

2021-06-18

Python-02-Python入门.md

Python-02-Python入门.md

2021-04-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除