python
文章平均质量分 72
qq_20747047
这个作者很懒,什么都没留下…
展开
-
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 · 263 阅读 · 0 评论 -
57期性能测试项目阶段
性能测试流程怎么做负载测试?怎么做性能测试?step 1 :需求分析分析本次测试哪个项目,哪些模块,接口还是页面,项目人手安排,项目大致时间安排,采用什么工具,通过标准等step 2:测试计划和方案计划:在什么节点完成什么事方案:谁在 什么时间 什么地点 做什么事情step 3: 环境搭建搭建性能测试,部署项目性能测试环境:本地环境----》dev环境—》test 环境—》性能测试环境—》预发布环境—》灰度环境(金丝雀环境)—》生产环境(现网环境)开发:本地环境、dev环境测试:原创 2021-06-29 21:02:33 · 249 阅读 · 0 评论 -
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 · 783 阅读 · 0 评论 -
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 · 154 阅读 · 1 评论 -
57期性能测试_0615
性能测试1、性能测试的概念:使用工具模拟若干真实用户对系统发起访问,观察系统的各项性能指标是否达标对性能测试的理解:稳定性、响应时间、高并发、服务器处理能力、正确性选电脑、选手机:5000智能手机,500智能手机—区别 性能不一样-硬件性能、软件性能2、性能测试和功能测试的关注点区别功能测试关注:能不能用,所有的功能点都需要测,不管该功能点有没有人使用性能测试关注:能不能高效快速使用,能不能稳定运行,关注用户高频使用的功能点(接口)或者系统的核心功能(接口)3、为什么需要做性能测试?问题:不原创 2021-06-16 08:20:48 · 123 阅读 · 0 评论 -
API-03-加密和散列
加密和散列一、网络安全1.1网络中的隐患窃听:窃听者截获网络中的信息,并不修改,仅仅获取信息而已。篡改:篡改者截获发送方的信息,并将信息修改,再修改后的信息发送接收方,造成了信息的不对称。伪装:伪装者伪装成接收方,发送方发送的消息直接发给伪装者,接收方不不会收到任何消息。1.2 网络安全的要素信息的机密性报文的完整性身份验证1.3 网络安全的策略加密散列算法数字签名二、加密解密2.1 简介加密是通过加密算法和密钥对象来实现信息的机密性。加密是可逆的,即加密后的密原创 2021-05-28 01:16:41 · 330 阅读 · 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 · 285 阅读 · 0 评论 -
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 · 156 阅读 · 0 评论 -
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 · 132 阅读 · 0 评论 -
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 · 227 阅读 · 0 评论 -
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 · 157 阅读 · 0 评论 -
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 · 214 阅读 · 0 评论 -
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 · 102 阅读 · 0 评论 -
Web自动化-02-GUI自动化测试
GUI自动化测试GUI,全称:Graphical User Interface,中文含义:图形用户接口一、自动化测试的定义通过软件工具或者程序脚本来模拟用户的操作,操作的结果作为实际,与测试用例中的预期结果进行自动对比。为什么做自动化测试?在测试工作中有大量重复的测试;测试中有大量的回归测试;某些测试过程必须使用自动化来执行用例,接口测试,性能测试;二、什么项目适合做自动化?项目周期比较长需求变动不频繁测试工作中有大量的回归测试三、自动化测试的工具单元测试:son原创 2021-05-22 17:30:20 · 216 阅读 · 0 评论 -
Web自动化-01-HTML
HTML一、介绍HTML,超文本标记语言,英文全称:HyperText Mark-up Language超文本:超越文本的限制,页面中可以定义一些图片、音频、视频等等超文本链接,页面中也可以定义网站的URL(统一资源定位符),比如:http://www.baidu.com标记标记,也就是标签。标签分为双标签和单标签。HTML的作用HTML是定义页面结构的语言,制作页面的一门语言。CSS(层叠样式)表。它是用来定义页面的样式。JavaScript,页面的编程语言,原创 2021-05-22 17:29:36 · 112 阅读 · 0 评论 -
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 · 73 阅读 · 0 评论 -
Python-24-正则表达式
正则表达式一、概述概念比如说:在实际开发中,可以需要验证注册用户的名称是否满足某种(使用字母和下划线),程序员需要对每个用户输入的内容进行规则的对比;再比如:需要爬取页面中内容,邮箱(xxx@域名)、手机号、图片的链接;正则表达式就是满足某种规则的一段代码。英文名称:Regular Expression,简称RE特点语法比较诡异,可读性很差通用性很强,绝大多数的编程语法都正则表达式。二、re模块# 导入re模块import re# 使用match函数进行匹配,matc原创 2021-05-22 17:28:07 · 174 阅读 · 0 评论 -
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 · 83 阅读 · 0 评论 -
Python-22-TCP和Socket
TCP和Socket一、TCP0. 网络分层OSI:(Open System Interconnection Reference Model)开放系统互联模型。(自顶向下)分层名称描述第七层应用层开发程序之后产生的数据第六层表示层将应用程序的数据进行打包、压缩、加密等待第五层会话层用于创建、管理、关闭网络应用程序的会话第四层传输层定义了进程到进程之间的数据传输。port第三层网络层定义了IP到IP之间的数据传输。路由器,ip地址原创 2021-05-16 00:07:53 · 87 阅读 · 0 评论 -
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 · 600 阅读 · 0 评论 -
Python-20-多线程
多线程一、线程在Python中,实现多任务也可以使用多线程。多线程一般用于轻量级的多任务,多线程是CPU调度的基本单位。在Python中,多进程可以使用多个CPU,多线程只能使用一个CPU核心。原因:CPython源码实现了GIL(全局解释器锁)GIL的实现原理:设置GIL锁;多个线程抢占CPU资源,线程1抢到了资源线程在GIL内执行,运行情况有两种:被动:由于CPU时间片轮转,让线程休眠,释放GIL锁;自动:线程1主动休眠(中断)、让步(yielded)释放;多个线程再抢占资原创 2021-05-16 00:06:49 · 125 阅读 · 0 评论 -
Python-19-多进程
多进程零、多任务思考:一台电脑中,当开启足够多个软件时,CPU如何处理这些软件的运行?答案:CPU使用时间片轮转来实现多任务0.1 多任务的概念多任务就是同时执行多个任务。Linux操作系统是一个多用户、多任务的操作系统。0.2 多任务执行的方式并发:一个CPU核心交替来执行多任务,使用的是CPU的时间片轮转性能;并行:当任务数小于等于核心数,CPU同时只执行一个任务。并行是真正的多任务。一、进程程序,在电脑磁盘中的二进制文件,程序是处于未运行的状态。一旦程序运行之后,会产生一个进原创 2021-05-16 00:06:17 · 55 阅读 · 0 评论 -
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 · 204 阅读 · 0 评论 -
Python-17-异常
异常一、了解异常当程序执行之后,解释器会检测程序中是否有错误,如果遇到错误,解释器会给出错误类型和错误信息,这个类型和信息在Python中叫做”异常“异常的特点:当出现之后,解释器立即停止解释,异常代码之后的代码不会执行。在工程中,即使代码报错,也需要执行后续代码,这时就需要对异常进行处理,处理过程叫做”捕获异常“n1 = int(input('请输入一个整数:')) # 可能报错的代码'1.1' 不能转int类型print('asdfasdfasd')print(1 /原创 2021-05-16 00:05:13 · 95 阅读 · 0 评论 -
Python-16-面向对象_补充
面向对向-补充一、面向对象的三大特征封装将事物的属性和方法写入到类中可以定义私有属性和方法实例空间保存实例属性,其余的属性和所有方法保存在类空间继承每个类都有至少一个父类,子类继承父类后,那么子类就拥有父类中所有的属性和方法子类不能继承私有属性和方法多态在方法中传入不同的对象,会产生不同的结果二、多态2.1 多态的概念多态指的是事物的多种形态。多态的前提是继承。步骤:定义一个父类,并且创建父类中相应的公共方法定义多个子类,重写这个公共方法将子类的原创 2021-05-16 00:04:42 · 59 阅读 · 0 评论 -
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 · 85 阅读 · 0 评论 -
Python-13-文件读写
文件读写一、文件读写简介文件的操作可以叫做文件的I/O流操作I/OI表示 Input;O表示 Output相对内存而言,读写磁盘的数据,读取数据到内存叫做Input,将数据写入到磁盘叫做Output文件操作的作用:将文件数据保存到磁盘,方便后续的对数据的使用。二、文件的基本操作文件操作的步骤:打开文件;对文件进行读写;关闭文件。注意:其中第1和3步是必须的,第2步可选。模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。原创 2021-05-16 00:03:21 · 153 阅读 · 0 评论 -
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 · 209 阅读 · 0 评论 -
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 · 178 阅读 · 0 评论