- 博客(43)
- 收藏
- 关注
原创 【性能测试】Jemeter+mysql+CSV+InfluxDB+Granafa数据库性能测试及监控
1.mysql驱动下载地址:MySQL :: Download MySQL Connector/J (Archived Versions) 找到对应的驱动下载(版本一定要对应)其它用法:https://www.cnblogs.com/istart/p/11226270.html。1.配置JDBC Connection Configuration。5. Jmeter运行后查看InfluxDB数据。三、配置jmeter连接mysql数据库。一、下载驱动并加入jmeter。6. Granafa 配置。
2023-04-10 10:55:39
2956
转载 Python 上下文管理
上下文管理属于流程控制特性中一部分,在python中,上下文管理语法主要是使用with关键词。with语句会设置一个临时的上下文,对对象进行控制,并且清除上下文其中 context_expression 可以是任意表达式;as target(s) 是可选的。
2023-03-09 22:40:45
2771
原创 python笔记-- “__del__”析构方法
#### 1、基本概念(构造函数与析构函数)特殊函数:由系统自动执行,在程序中不可显式地调用他们建立对象时对对象的数据成员进行初始化(对象初始化)对象生命期结束时回收的对象(回收/撤销对象)
2023-02-13 11:30:34
3333
原创 Python笔记--猴子补丁(Monkey Patch)
猴子补丁:运行时,对属性、方法、函数等进行动态替换猴子补丁的作用在运行时替换方法、属性等在不修改第三方代码的情况下增加原来不支持的功能。
2023-02-13 11:29:35
314
原创 multipart/form-data参数传列表报错 ValueError: not enough values to unpack (expected 4, got 1)
MultipartEncoder封装requests参数时,参数传入的是个列表,执行报错ValueError: not enough values to unpack (expected 4, got 1)
2022-08-30 18:23:05
1558
原创 multipart/form-data上传文件报错AttributeError::object has no attribute ‘encode‘
AttributeError::object has no attribute ‘encode’
2022-08-30 09:24:46
1356
原创 python requests simplejson.errors.JSONDecodeError: Expecting value报错
在运行接口自动化脚本时请求数据正确但一直报:simplejson.errors.JSONDecodeError: Expecting value 错误。而基本的接口代码里,return的是res.json()改为return text内容,或者加一个异常捕获。
2022-08-25 11:49:42
1749
原创 jenkins+pytest+allure+windows(slave)生成测试报告
配置widows做为python+allure项目的jenkins持续集成运行节点
2022-08-25 10:45:14
429
转载 python生成requirements.txt的两种方法
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包?使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本。这些问题,requirements.txt都可以解决!生成requirements.txt,有两种方式:第一种:pip freeze > requirements.txt第一种 适用于 单虚拟环境的情况: :为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用的全局环境,
2021-07-18 15:30:02
154
原创 238、同步异步阻塞非阻塞概念
概念名称概念区别同步函数或方法被调用的时候,调用者直接得到最终结果同步、异步,与阻塞非阻塞不相关异步函数或方法被调用的时候,调用者未直接得到最终结果同步、异步强调是否得到最终的结果阻塞函数或方法调用的时候,立即返回阻塞、非阻塞强调的是时间 ,调用者是否等待,也就是能否干别的事情非阻塞函数或方法调用的时候,未立即返回IO过程IO过程分两个阶段:1、数据准备阶面2、内核空间复制回用户进程缓冲区阶段发生IO的时候:1、内核从输入设备读、写数
2021-05-15 16:12:40
130
原创 Pytest+Allure+Requests接口自动化框架实现说明
一、前言本框架采用Pytest+Allure+Requests实现,run.py为主运行文件,共实现以下三个功能:1.爬取yapi接口文档生成测试用例数据yaml模板2.编辑测试数据yaml模板,自动生成case_suite的py文件3.调用核心装饰器方法@call_case读取用例数据执行用例并断言其它功能:yaml用例数据文件中需要通过调用函数生成的数据,采用了自定义替换模板来执行函数并替换字符二、框架结构三、处理流程...
2021-03-17 17:02:35
504
转载 12、Pytest之@pytest.mark.自定义标签使用
前言:Pytest允许用户自定义自己的用例标签,用于将用例进行分组,以便在运行用例的时候筛选你想要运行的用例@pytest.mark.自定义标签的使用:可以标记测试方法、测试类,标记名可以自定义,最好起有意义的名字;同一测试类/方法可同时拥有多个标记;import pytest @pytest.mark.loginclass TestLogin: """登陆功能测试类""" @pytest.mark.smoke @pytest.mark.success
2021-01-19 09:32:45
9221
原创 11、Pytest之@pytest.mark.parametrize使用详解
@pytest.mark.parametrize使用前言定义参数使用举栗1、argnames、argvalues1. 单参数单值2. 单参数多值3. 多参数多值前言Pytest参数化有两种方式:@pytest.fixture(params=[])@pytest.mark.parametrize()两者都会多次执行使用它的测试函数,但@pytest.mark.parametrize()使用方法更丰富一些定义@pytest.mark.parametrize(self,argnames, argva
2021-01-06 09:02:14
37635
9
原创 9、Pytest跳过用例之@pytest.mark.skip和@pytest.mark.skipif
@pytest.mark.skip:跳过该条测试用例用法:@pytest.mark.skip(self,reason=None)def test_one(): pass参数说明:参数说明reason原因(将会被输出)@pytest.mark.skipif:跳过符合条件的测试用例用法:@pytest.mark.skipif(self,condition, reason=None)def test_two(): pass参数说明:参数说明
2021-01-04 17:03:19
1171
原创 7、Pytest前后置处理函数Fixture之yiled
让我们先来看一个小栗子:# -*- coding:utf-8 -*-'''@Author : 测试工程师Jane@FileName : a.py@Description:'''import pytest@pytest.fixture()def login(): print("今天的笔记做完了吗?") yield print("今天的笔记做完啦!!!")def test_01(login): print("我是用例一") if __n
2020-12-30 08:33:10
711
原创 8、Pytest之conftest.py
conftest.py是什么?conftest.py是fixture函数的一个集合,可以理解为公共的方法抽象出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找...
2020-12-29 09:08:45
788
2
原创 5、Pytest前后置处理函数Fixture简介
前言Fixture是pytest的核心功能,也是亮点功能.属装饰器函数(在不改变被装饰函数的前提下对函数进行功能增强),用于在测试用例运行之前进行前后置工作处理工作。与setup/teardown类似,但更强大灵活Fixture简介Fixture的目的是提供一个固定基线,在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统单元测试(setup/teardown)有显著改进:有独立的命名,并通过声明它们从测试函数、模块、类或整个项目中的使用来激活。按模块化的方式实现,每个fixtu
2020-12-29 07:43:39
912
原创 6、Pytest之Fixture参数详解及使用
前言Fixture是pytest的核心功能,也是亮点功能.属装饰器函数(在不改变被装饰函数的前提下对函数进行功能增强),用于在测试用例运行之前进行前后置工作处理工作。与setup/teardown类似,但更强大灵活https://www.cnblogs.com/liudinglong/p/12885632.htmlFixture简介ixture的目的是提供一个固定基线,在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统单元测试(setup/teardown)有显著改进:有独立的
2020-12-28 08:56:07
17351
4
原创 4、Pytest常用命令行选项--case相关
pytest 命令运行语法pytest --help常用case相关参数说明参数完整命令说明使用场景–collect-onlypytest --collect-only收集目录下所有的用例测试运行之前,检查选中的用例是否符合预期-kpytest -k “删选条件”模糊筛选指定的case希望只运行特定的用例-mpytest -m “标记名称”标记测试并分组,以便快速选中并运行与@pytest.mark.标签,配合使用,只会运行有定定标记的用例
2020-12-27 16:18:17
1476
1
原创 3、Pytest运行及控制台输出信息
运行一个简单的用例:#cd code/ch1/test_one.pydef test_passing(): assert (1, 2, 3) == (1, 2, 3)运行结果及说明:测试运行可能出现的结果总结(上图6、7运行结果列举)类型(7)表示(6)说明PASSED.测试通过FAILEDF测试失败(fail或xpass与strict冲突造成的失败)SKIPPEDs测试未被执行xfailx预计测试失败,并且确实失败XPAS
2020-12-27 12:16:19
1495
7
原创 2、测试示例程序下载及安装使用《pytest测试实战》
示例下载以 Tasks 项目来演示如何为 Python 程序包编写测试。Tasks 项目获取:https://pragprog.com/titles/bopytest/source_code本地安装 Tasks 项目程序包解压后使用Pycharm加载解压包切换到 tasks_proj 根目录,运行以下命令:#切换到setup.py所在文件路径:cd tasks_proj#安装pip install .(仅安装测试)#装好希望修改源码重新安装就需要用-e(editable)选项或者
2020-12-27 11:26:59
603
2
原创 186、线程和进程的基本概念
基本概念进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程是内存中的概念存放着指令和数据(资源)==)线程:操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位(有时候也被称为轻量级进程(LWP))线程组成:线程ID、当前指令指针(PC),寄存器集(数据存放)和堆栈组成创建一个线程比创建一个进程快10-100倍程序:源代码编译后的文件,这些文件存放在磁盘上进程、程序、线程的关系及理
2020-12-23 09:28:41
146
原创 185、并发和并行的基本概念
并发和并行的区别并发:一段时间有很多事情要做,强调要做,事情已经发生举例:一条道路,有很多车辆等待通过。这是并发并行(parallel): 互相不干扰的同一时刻做几件事,强调在做举例:同一时刻,多条车道,每条车道上同时有多辆互补干扰的在跑,这是并行并行是并发的解决办法之一并发和并行的区别...
2020-12-22 08:57:05
294
原创 requests.post()和session.post()的区别
requests.post()的调用过程为:1.调用requests.post方法2.再调用requests.request使用上下文方式创建了一个Session对象,并调用其session.request.post方法,而它的上下文实现如下:由以上源码可以看出,requests.post在调用完成后就关闭了connect,所以cookies随着connect消亡而消亡接下来让我们再看看Session.post()的调用过程import requestsr = requests.sess
2020-12-12 19:01:38
14143
原创 python中Requests发送json格式的post请求
问题:做requests请求时遇到如下报错{"code":"500","message":"JSON parse error: Cannot construct instance of `com.bang.erpapplication.domain.User` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value原因:
2020-12-12 18:44:15
23735
4
原创 Oracle ORA-04045 错误解决
错误:在执行oracle命令的时候报以下错误:ORA-04045: errors during recompilation/revalidation of XDB.XDB_PI_TRIGORA-01031: insufficient privileges解决办法:1.切换到oracle用户下su - oracle 2.进入sqlplussqlplus / as sysdba3.执行以下命令alter system set "_system_trig_enabled" = false
2020-12-12 11:17:23
9401
原创 Oracle连接数查询及修改最大连接数
查询当前连接数select count(*) from v$process 查询数据库最大连接数select value from v$parameter where name = 'processes' 修改最大连接数alter system set processes = 400 scope = spfile;/*然后重启数据库*/shutdown immediate;startup;查看当前有哪些用户正在使用数据SELECT osuser, a.username,cpu_ti
2020-12-12 11:12:29
470
原创 02、Python内置数据结构:字符串
定义字符串:不可变、有序的、可索引、可迭代序列初始化s1 = 'string'字符串Join*** "string".join(iterable) -> strstring为连接iterable的字符iterable内的元素只能是字符串stingjoin方法返回的是一个新的字符串字符串+连接+ -> str将两个字符串连接到一起,返回一个新字符串字符串split分割split/lsplit 左切split(sep=None, maxsplit=-1) -
2020-12-12 11:05:03
126
原创 01、python内置数据结构:List及其深拷贝、浅拷贝
内置数据结构分类类型种类数值型int、float、complex、bool序列对象str、list、tuple键值对set、dict数字的处理函数名称作用名称作用round四舍六入五取偶min()取最小值floor向下取整max ()取最大值ceil向上取整pow (x,y)x**y,x的y次方int取整数部分math.sqrt平方根//整除且下向取整类型判断名称作
2020-12-12 11:02:19
134
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人