自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Joker-desire的博客

学会自己欣赏自己,若是美好,叫作精彩。若是糟糕,叫作历练。

  • 博客(102)
  • 收藏
  • 关注

原创 杨先生的博客目录(持续更新......)

杨先生的博客目录学会自己欣赏自己,若是美好,叫作精彩。若是糟糕,叫作历练。目录发布时间PythonPython发送邮件以及对其封装2019/12/16Python使用openpyxl操作excel表格2019/12/18Python3操作MySQL数据库2019/12/20Python3-logging日志模块2019/12/20...

2020-04-05 16:01:00 292

原创 sqlacodegen-根据现有表生成数据模型

sqlacodegen-根据现有表生成数据模型sqlacodegen这个工具读取现有数据库的结构并生成相应的SQLAlchemy模型代码pip install sqlacodegen使用直接命令行使用参数说明:--outfile:指定生成的数据模型存放的文件路径urlMySQL:mysql+pymysql://username:password@ip:port/dbsqlite:sqlite:///database.dbpostgresql:postgresql:///some

2021-11-13 20:30:00 1830

原创 SQLAlchemy ORM 框架详解

SQLAlchemy ORM 框架详解一、安装pip install sqlalchemy==1.4.7pip install pymysql # 连接mysql数据库所需库二、连接数据库from sqlalchemy import create_engineengine = create_engine(f"mysql+pymysql://{数据库账号}:{密码}@{数据库地址}:3306/{数据库}", echo=True)print(engine)------打印结果------

2021-11-12 22:30:00 1068 1

原创 FastAPI部署

FastAPI之部署部署FastAPIUvicornUvicorn 是基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器。Uvicorn 提供一个轻量级的方法来运行多个工作进程,比如 -workers 4 ,但是并没有提供进行的监控。GunicornGunicorn 是成熟的,功能齐全的服务器,Uvicorn 内部包含有 Gunicorn 的 workers 类,允许你运行 ASGI 应用程序,这些 workers 继承了所有 Uvicorn 高性能的特点,并且

2021-11-11 19:45:00 3570

原创 FastAPI定时任务APScheduler集成

FastAPI集成APScheduler定时任务前言APScheduler定时任务传送门在FastAPI中集成aAPScheduler使用FastAPI启动前后处理程序进行启动任务1. 定时任务配置使用AsyncIOScheduler调度器使用Redis存储器使用ThreadPoolExecutor执行器from datetime import datetimefrom apscheduler.schedulers.asyncio import AsyncIOScheduler

2021-11-10 21:30:00 7602

原创 APScheduler 定时任务详解

APScheduler 定时任务详解一、APSchedulerAPScheduler全称Advanced Python Scheduler 作用为在指定的时间规则执行指定的作业。指定时间规则的方式可以是间隔多久执行,可以是指定日期时间的执行,也可以类似Linux系统中Crontab中的方式执行任务。指定的任务就是一个Python函数。二、安装pip install apscheduler三、创建定时任务创建一个任务 func一个任务就是一个函数,或者异步函数创建调度器 Bl

2021-11-09 20:45:00 7005

原创 FastAPI之挂载应用程序

FastAPI之挂载应用程序一、目的如果需要两个独立的FastAPI应用程序,以及他们各自拥有独立的文档,则可以拥有一个主应用程序并装载多个子应用程序。二、创建主应用程序from fastapi import FastAPIapp = FastAPI()@app.get("/app")def read_main(): return {"msg":"This is main app"}三、创建子应用程序subapp = FastAPI()@subapp.get("/sub

2021-11-08 22:00:00 1919

原创 FastAPI异步Redis-aioredis集成

FastAPI集成Redis前言FastAPI是一个高性能的异步框架,集成Redis时,使用的时候异步Redis–aioredisaioredisasyncio (PEP 3156) Redis客户端库。该库旨在基于asyncio为Redis提供简单而清晰的接口。文档地址:https://aioredis.readthedocs.io/en/latest/安装pip install aioredis在FastAPI中集成aioredis使用FastAPI启动前后处理程序进行创建连接和

2021-11-08 21:15:00 7661 7

原创 FastAPI分页功能实现

FastAPI之分页功能分页功能实现一、站在巨人的肩膀上(fastapi-pagination)GitHub:https://github.com/uriyyo/fastapi-pagination文档:https://uriyyo-fastapi-pagination.netlify.app/二、安装fastapi-paginationpip install fastapi-pagination三、直接使用from fastapi_pagination import Page, pagi

2021-11-07 14:45:00 7020 2

原创 FastAPI文件下载实现

FastAPI之下载文件下载文件(以下载Excel为例)一、包下载pip install fastapipip install uvicornpip install aiofiles // 操作Excel的包pip install pandaspip install openpyxl二、准备Excel文件(使用pandas创建Excel并且保存到项目中,为下载文件做准备)result = [ { "id": 1, "name": "xxx",

2021-11-06 20:30:00 4749 1

原创 FastAPI登录实现(JWT)

FastAPI之JWTJWT(JSON Web Tokens)一、依赖库安装jwtpip install jwt==1.2.0python-jose用于生成和检验JWT令牌pip install python-jose==3.2.0passlib用于处理哈希密码的包支持许多安全哈希算法以及配合算法使用的实用程序推荐的算法是 Bcryptpip install passlib[Bcrypt]==1.7.4二、哈希并校验密码1、创建对象,进行哈希和校验密码from p

2021-11-05 21:00:00 7112 3

原创 FastAPI简单入门

FastAPI入门简介FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。关键特性:快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。高效编码:提高功能开发速度约 200% 至 300%。*更少 bug:减少约 40% 的人为(开发者)导致错误。*智能:极佳的编辑器支持。处处皆可自动补全,减

2021-11-04 21:00:00 2092

原创 M1使用docker报错解决

M1使用docker报错解决问题使用docker启动容器的时候,报错:请求的映像的平台(linux/amd64)与检测到的主机平台(linux/arm64/v8)不匹配,并且没有请求特定的平台解决在命令行中添加--platform linux/amd64执行平台,然后就可以正常使用了来源:https://github.com/google/cadvisor/issues/2763...

2021-10-21 11:35:10 2390 3

原创 Docker Compose详解

Docker Compose详解一、Compose简介Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。二、Compose安装# 运行此命令下载当前的 Docker Compose 稳定版本sudo curl -L "<https://github.com/docker/compose/releases/download/1.29

2021-10-20 21:00:00 1778

原创 Dockerfile详解

Dockerfile详解一、DockerfileDockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。可以使用#号指定注释信息文件名一般为Dockerfile可以使用Dockerfile文件来自定义镜像指定base image,基本镜像FROM一般为第一行,FROM基本镜像名称:tag版本编号如果本地没有,会自动从docker hub 远程仓库下载,否则直接使用本地仓库提供的二、基本参数说明1、FROMFROM一般为第一行,FROM基本

2021-10-19 21:00:00 385

原创 Docker命令大汇总

Docker命令大汇总一、基本操作1、docker image(镜像操作)1)列出镜像# 列出所有镜像docker images# 仅列出镜像的IDdocker images -q2)搜索镜像docker search mysql3)下载镜像docker pull nginx4)删除镜像docker rmi ImageID5)查看镜像详细信息docker inspect jenkins2、docker container(容器操作)1)运行容器docker

2021-10-18 21:00:00 109

原创 简单七步搭建Docker环境(CentOS 8)

简单七步搭建Docker环境第一步:安装yum-utils命令包(yum-config-manager命令需要)sudo yum -y install yum-utils第二步:添加软件源信息(国内源, 速度更快, 推荐)sudo yum-config-manager \\ --add-repo \\ <https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo>第三步:更新Docker-CE

2021-10-17 19:26:51 169

原创 Python3.10新特性初体验

结构模式匹配 【PEP 635】union类型允许X | Y 【PEP 604】带圆括号的上下文管理器

2021-10-12 21:00:00 267

原创 使用pyenv体验新版本的快乐

使用pyenv体验新版本的快乐一、体验新版本遇到的坑python3.10版本在10.4正式发布了,想尝试下新功能,就从官网下载了最新的3.10版本进行安装,安装一切顺利并无卡壳,但是,当开启之前的项目时,问题来了,用不了了o(╥﹏╥)o,因为项目中使用的是pipenv虚拟环境管理的包,安装了3.10版本后,默认的Python环境变成了最新的3.10,就自动的把之前的3.9环境转到了3.10中,就导致了pipenv虚拟环境瘫痪。那么如何不影响其他项目,还能体验到新版本的快乐呢?答案:往下看↓二、Py

2021-10-11 17:35:41 151

原创 轻松搞定装饰器

装饰器一、什么是装饰器如图:由快递 ->填充物-> 快递包裹 构成了我们所收到的快递,我们的快递到我们手里,其实是经过了一层包装装饰后,变成了一个包裹,才到我们手里里,拆开包裹,原始的快递依旧完后,这就是快递包裹的作用。在程序中,快递就是我们的原始对象,快递包裹就是我们的一个新对象,填充物就是我们的扩展功能,这一系列就构成了装饰器。由上可得:装饰器是修改其他函数功能的函数,就是一个函数(对象)。装饰器的意义:让其他函数在不修改任何代码的前提下增加额外功能二、装饰器的实现原理我们要从函数

2021-09-13 14:08:55 246

原创 getattr和methodcaller剖析

getattr解析一、getattr是什么?getattr() 函数获取某个类实例对象中指定属性的值二、语法格式getattr(obj, name[, default])obj 表示指定的类实例对象name 表示指定的属性名default 是可选参数,用于设定该函数的默认返回值即当函数查找失败时,如果不指定 default 参数,则程序将直接报 AttributeError 错误反之该函数将返回 default 指定的值。三、使用1.构造一个类方法class KeyWor

2021-02-07 08:58:27 530

原创 alembic初始化报错: No such template ‘generic‘,没有‘generic‘模板

alembic初始化报错: No such template ‘generic’,没有’generic’模板遇到问题alembic安装完毕后,准备生成初始化文件alembic init alembic结果报错了,提示没有generic模板FAILED: No such template 'generic'然后使用alembic list_templates准备查看下为什么会报错generic模板不存在,然后就遇到下面的错误了从上面的错误已经可以定位问题了:安装完alembic后,并没有生成

2021-01-19 15:45:47 299

原创 Allure趋势图本地显示

Allure趋势图本地显示众所周知,allure趋势图在本地运行的时候,总是显示的空白,但与Jenkins集成后,生成的报告却显示了整个趋势如果不与Jenkins集成就真的没办法展示趋势图吗?答案是NO,没有趋势图我们就自己写????一、首先看下Jenkins集成allure展示的趋势图是什么样子的展示了每次运行的结果对应构建的次数点击可以跳转到对应的构建结果报告整体趋势一目了然二、研究Jenkins生成的allure报告有什么规律1、打开家目录中的.jenkins/jobs/te

2020-12-16 12:39:45 5049 4

原创 Pytest测试框架

什么是Pytest?python的第三方库,与标准库unittest测试框架类似,但是比unittest框架使用起来更改简介,灵活,效率更高当前比较流行的测试框架Robot FrameworkPytestUnitTest/PyUnitpytest 和unittestunittest:python的标准库是通过类的方式,将测试用例组织在一起的断言只支持内部的unittest的断言unittestpytest用例编写规则1)测试文件必须先import uni

2020-11-25 18:21:52 725 1

原创 GUI模式读取XMind并写入Excel

GUI模式读取XMind并写入Excel模板示例样式(可根据自己实际情况进行更改,源码在底部)一、读取XMind数据1、安装xmindparser库读取XMind数据pip install xmindparser2、使用xmindparser库,读取XMind数据xmind_to_dict:读取的数据为列表嵌套字典xmind_to_file:读取的数据存放在文件中xmind_to_json:读取的数据为json格式xmind_to_xml:读取的数据为xml格式我使用的是第一种x

2020-11-15 17:34:22 947 1

原创 Python使用字符串的方式调用类的实例方法

Python使用字符串传参的方式调用类的实例方法背景在整理新的web自动化测试框架的时候,遇到一个问题,定义的关键字函数,是在WebKeyword类中,然后用例使用Excel管理,取出来关键字一列,然后通过这个关键字去调用WebKeyword类中的关键字方法,因为调用类中的实例方法,必须要使用对象.实例方法的形式调用,所以eval()函数在此就无法使用,只能换一种方式,经过查阅资料得知,可以使用operator模块下的methodcaller方法解决这个问题,下面简单介绍下此方法的用法。methodc

2020-11-01 21:24:32 905

原创 Jmeter操作MySQL数据库取数据,保存结果到指定文件

Jmeter操作MySQL数据库取数据,保存结果到指定文件1、首先要准备好数据库驱动,然后把驱动放在lib- ext中mysql-connector-java-8.0.19.jar2、添加数据库驱动:3、创建JDBC配置元件:添加-配置元件-JDBC Connection Configuration4、创建JDBC请求取样器:添加-取样器-JDBC Request5、从数据库中渠道的数据结果展示6、使用正则表达式,提取SQL执行后返回的结果值7、添加调试debug sam

2020-10-28 13:40:59 1769

原创 Jmeter集成Ant 实现批量执行jmter脚本

Jmeter集成Ant安装Anthttp://ant.apache.org/bindownload.cgi配置环境变量添加一个新的系统变量: ANT_HOME值为:D:\Program Files\apache-ant-1.10.9Path中添加:%ANT_HOME%\bin检查是否安装成功ant -versionant+jmeter实现批量执行jmter脚本修改Jmeter目录下的extras的build.xml(首先备份)在第一行添加编码格式<?xml versio

2020-10-27 13:08:41 925

原创 Jmeter‘s nonGUI模式

Jmeter’s nonGUI模式为什么需要使用Jmeter的命令行?性能:同样的资源下,使用命令行能够获得更好的性能表现,即可以提供更多的负载。持续集成的需要:所有和Jmeter的集成,都是基于jmeter的命令行。配置Jmeter环境变量新添加一个环境变量JMETER_HOME值为:D:\Program Files\apache-jmeter-5.3在path中添加:%JMETER_HOME%\bin检查是否添加成功jmeter --version常用的命令参数-? :

2020-10-26 17:55:22 303

原创 WebDriver_Selenium 元素等待

WebDriver_Selenium 元素等待WebDriver元素等待有四种方式:强制等待隐式等待显式等待流利等待一、强制等待try { //强制等待5s Thread.sleep(5000);} catch (InterruptedException e) { e.printStackTrace();}强制等待不足之处:不灵活如果等待时间不足,程序会报错如果等待时间过长,自动化测试的效率会非常低二、隐式等待driver.manage().t

2020-09-25 15:52:12 427

原创 使用Eclipse+RED搭建RF自动化测试框架

使用Eclipse+RED搭建RF自动化测试框架RF:开源、基于Python编写丰富的第三方库:UI、API、IOS、Android测试用例支持txt、tsv、html等格式编写关键字驱动。用已有关键字形成业务关键字测试用例支持变量使用、IF语句和FOR循环支持继承svn、git、jenkins等工具灵活、可拓展丰富的编辑工具环境准备:RF框架运行环境:Python2/3Python库:RobotFrameworkRF图形界面运行环境

2020-09-24 12:57:46 1601

原创 使用HttpClient发送http请求

使用HttpClient发送请求一、引入httpclient.jar和fastjson.jar依赖jar<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.12</version></dependency><!--

2020-09-19 17:11:04 442

原创 使用POI读取Excel测试用例

使用POI读取Excel测试用例一、引入POI依赖jar注意:poi.jar和poi-ooxml.jar版本要一致<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <versi

2020-09-15 16:21:53 446

原创 使用Fiddler模拟弱网进行测试

Fiddler 弱网测试一、设置网络限制Rules–>>Customize Rules...点击打开Fiddler编辑器。找到OnBeforeRequest方法中的if (m_SimulateModem)逻辑。这段代码只需要知道request-trickle-delay代表的是网络请求的延迟时间,response-trickle-delay代表的是网络响应的延迟时间,单位都是毫秒,这里默认给的是300毫秒和150毫秒,所以,只需要修改这2个值即可模拟网络延迟和弱网络环境了.if (m_

2020-09-13 14:17:13 2831

原创 Selenium UI自动化(Java篇)

Selenium UI自动化一、准备浏览器驱动Chrome驱动:https://npm.taobao.org/mirrors/chromedriverFirefox驱动:https://github.com/mozilla/geckodriver/releases/IE驱动:http://selenium-release.storage.googleapis.com/index.html二、创建Maven工程,引入testng和selenium依赖jar<!-- https://mvnre

2020-09-12 15:11:08 1008

原创 Java测试框架-TestNG

Java测试框架-TestNG一、TestNG简介TestNG是一个受JUnit和NUnit启发的测试框架,但引入了一些使其更强大且更易于使用的新功能,例如:注解。在具有各种可用策略的任意大线程池中运行测试(所有方法都在其自己的线程中,每个测试类一个线程,等等)。测试您的代码是多线程安全的。灵活的测试配置。支持数据驱动的测试(使用@DataProvider)。支持参数。强大的执行模型(不再需要TestSuite)。由各种工具和插件(Eclipse,IDEA,Maven等)支持。嵌入B

2020-09-11 14:32:40 1229

原创 Selenium自动化测试(八)之上传文件

Selenium自动化测试(八)之上传文件第一种:直接使用send_keys注意:只针对input表单上传文件才可以使用# 定位到input表单上传文件的元素ele = driver.find_element_by_id("upload")# 使用send_keys上传文件ele.send_keys("D:\title.png")第二种:使用pyautogui有些时候上传文件使用的并不是input表单,此时就没有办法使用第一种方式进行上传了,那么我们就可以使用pyautogui进行模拟鼠标

2020-09-07 21:03:39 454

原创 使用pip安装的时候出现 ModuleNotFoundError: No module named ‘pip‘

ModuleNotFoundError: No module named ‘pip’ 问题解决最近在下载一个模块的时候,提示需要更新pip版本才能下载。然后就根据提示的命令进行更新pip版本,第一次更新失败了,然后准备重新更新一遍的,然后就发生了这个错误 ModuleNotFoundError: No module named ‘pip’,'pip’这个模块不存在?纳尼??然后才意识到可能不知道为啥pip被卸载掉了,需要重新安装。修复pip命令只需要简单的几步:1、修复pip命令python -m

2020-08-18 08:16:29 1186 1

原创 python简便的编辑工具:jupyter notebook

python工具:jupyter notebook前景python的编辑工具有好多,我比较常用的就是Pycharm。有时候并不需要打开Pycharm,就想着找一个偶尔替代的工具,python自带的IDLE工具我觉得并不实用,然后就找到了这个jupyter notebook 编辑器,安装容易,用起来也方便。一、pip安装pip install jupyter notebook或者 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupy

2020-08-16 22:20:18 676

原创 Postman导出的.json文件转成Jmeter的.jmx文件

最近测公司的项目,发现有个接口调用的多了会出现个别情况的响应超时,就想着用jmeter跑一下多线程,看下这种情况是否经常出现,然后就遇到了一个新颖的问题:怎么把postman中的接口转移到jmeter进行测试。经过一番查资料找到了这位大佬的一个开源项目,用法都在README.md,用起来很不错,亲测有效。https://github.com/Loadium/postman2jmx

2020-08-14 09:54:49 5454 15

空空如也

空空如也

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

TA关注的人

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