pytest登陆接口的测试用例

经过昨天学习,终于找到一点热情,我们今天继续学习下pytest,顺便来写一个简单的登录接口测试用例通过编写登录函数测试发现报以下错误经过百度查资料发现,使用pytest测试的单元,如果函数有参数需要使用专门的装饰器@pytest.mark.parametrize来传参好吧,我们接着来看书写的测试代码,基本是这样的#!/usr/bin/python3#coding: utf-8#test_login.pyimport requestsimport hashlibimport jsonimpor...

阅读全文

python自动化测试框架pytest基础入门教程

pytest是一个方便创建简单、可扩展性测试用例的框架。测试用例清晰、易读而无需大量的繁琐代码。你几分钟内便可针对你的应用程序或库开展一个小型单元测试或者复杂功能测试pytest测试用例规则主要有以下要求1.测试文件的文件名必须以”test_”开头,或者以”_test”结尾2.测试类命名必须以”Test”开头3.测试函数名必须以”test”开头4.测试类里面不能使用”__init__”方法首先我们学习下基本用法,先进行安装pip install pytest安装完以后查看版本信息pytest --version我们先来写一...

阅读全文

python脚本加密的常用方式

在项目中有时不想别人看到我们写的python脚本内容,这时候我们需要将我们的python脚本进行加密,其实是不像让别人看到我写的代码太LOW了,(*^_^*)python脚本加密常用的有两种方式,一种是将文件.py文件转换为.pyc文件,但是这种加密方式可以被反编译,骗骗小白还是可以的,另一种方式则是使用cython将我们的脚本转换为.so文件我的测试代码很简单func.py文件,存放在test_func目录下#!/usr/bin/python3#coding:utf-8def test(name):  &n...

阅读全文

python使用pykafka操作kafka

Kafka是一种分布式的、分区的、多副本的基于发布/订阅的消息系统。它是通过zookeeper进行协调,常见可以用于web/nginx日志、访问日志、消息服务等。主要应用场景为:日志收集系统和消息系统。Kafka的主要设计目标如下:1.以时间复杂度为O(1)的方式提供持久化能力,即使对TB级别以上的数据也能保证常数时间的访问性能。2.高吞吐率,即使在十分廉价的机器上也能实现单机支持每秒100K条消息的传输。3.支持KafkaServer(即Kafka集群的服务器)间的消息分区,及分布式消费,同时保证每个parti...

阅读全文

python-daemon实现后台守护进程

我们可以使用很多种方式让python脚本再后台运行,其中最简单的方式是使用linux下的nohup命令1.nohup命令nohup python test.py &这样test.py脚本就脱离了当前终端的控制,我们如果可以使用ps命令查找进程并关闭2.tmux终端tmux是一个提供后台终端窗口的会话服务,我们只需要开启tmux,然后再tmux窗口中运行脚本,然后退出tmux即可3.python-daemon模块这个模块可以使我们的脚本变为后台守护进程,这个模块需要安装pip install pyt...

阅读全文

flask基于celery实现的异步任务

Celery是一个异步任务队列。你可以使用它在你的应用上下文之外执行任务。总的想法就是你的应用程序可能需要执行任何消耗资源的任务都可以交给任务队列,让你的应用程序自由和快速地响应客户端请求。使用Celery运行后台任务并不像在线程中这样做那么简单。但是好处多多,Celery具有分布式架构,使你的应用易于扩展。一个Celery安装有三个核心组件:Celery客户端:用于发布后台作业。当与Flask一起工作的时候,客户端与Flask应用一起运行。Celeryworkers:这些是运行后台作业的进程。Celery支持本地和远程的...

阅读全文

python3按时间生成日志

之前写过一个“Flask配置logger模块日志生成到日期生成的文件”这个笔记,这里其实和那个差不多,可以看我之前的笔记https://sulao.cn/post/660.html主要还是使用logging模块,主要是一下方法import loggingimport timeimport os#创建loggerlogger = logging.getLogger()#定义日志目录和名字log_dir_name = "logs"log_...

阅读全文

flask使用flask_migrate更新并迁移表数据

在开发程序的过程中,你会发现有时需要修改数据库模型,而且修改之后还需要更新数据库。仅当数据库表不存在时,Flask-SQLAlchemy才会根据模型进行创建。因此,更新表的唯一方式就是先删除旧表,不过这样做会丢失数据库中的所有数据。更新表的更好方法是使用数据库迁移框架。源码版本控制工具可以跟踪源码文件的变化,类似地,数据库迁移框架能跟踪数据库模式的变化,然后增量式的把变化应用到数据库中这个模块需要我们单独安装pip install flask_migrate使用方法也很简单使用原本实例化的app对象作为参数实例化migrate对...

阅读全文

Flask报错flask: jinja2.exceptions.TemplateNotFound error的解决方法

Flask使用render_template()方法来渲染模板,可以在这个函数中指定模块和传值到模块,在实际开发中,我们一般使用工厂函数来注册蓝图,同时也是在在工厂函数文件中获取app实例,然后直接注册到应用工厂中,看看我的flask应用目录如果我选择在入口文件实例化flask实例,那么是这样from flask import Flaskfrom flask_script import Manager,Server,prompt_boolfrom app.application...

阅读全文

python3获取系统当前进程和进程名的方法

每个程序都是一个进程或者多个进程,除去系统占用资源其他都被这些进程占用,比如我们的web服务,数据库等;很多情况下因为程序自身问题,会导致CPU运行100%,内存耗尽,磁盘写满,最后导致服务崩溃,我们可以通过psutil下面2个方法获取进程相关信息,还是使用之前学习过的psutil模块,之前的笔记可以通过https://sulao.cn/post/4.html查看,下面我们来看今天要学习的主要方法方法说明psutil.pids()获取进程ID(每个进程都有唯一ID)psutil.Process(pid)根据进程ID获取进程Process对象我们直接来看下...

阅读全文