首页
学习
活动
专区
工具
TVP
发布

从零开始学自动化测试

专栏作者
1108
文章
1534639
阅读量
301
订阅数
pytest + yaml 框架 -13.多环境配置切换
当我们在测试环境写好自动化的代码,领导说你把代码部署到联调环境再测一测,这时候去改用例里面的配置是很痛苦的。 所以我们在设计自动化用例的时候,就先要想到多环境的配置与切换。
上海-悠悠
2023-01-03
6760
pytest文档82 - 用例收集钩子 pytest_collect_file 的使用
pytest 提供了一个收集用例的钩子,在用例收集阶段,默认会查找test_.py 文件或者 _test.py文件。 如果我们想运行一个非python的文件,比如用yaml 文件写用例,那么就需要改变用例的收集规则。 以最新版pytest 7.2.0版本为例
上海-悠悠
2023-01-03
6950
pytest文档81 - 如何管理Captured logging日志
pytest 自动捕获级别为 WARNING 或以上的日志消息,并以与捕获的 stdout 和 stderr 相同的方式在每个失败测试的各自部分中显示它们。
上海-悠悠
2023-01-03
9540
Flask 学习-83.Flask-SQLAlchemy 联合唯一约束
前言 我们可以在Flask-SQLAlchemy字段中添加unique=True设置该字段为唯一约束,如果需要2个字段联合唯一,需用到UniqueConstraint() 联合唯一约束 比如一个书名可以有不同的出版社,但是同一个出版社不能有重复的书名。 Flask-SQLAlchemy 中 使用 db.UniqueConstraint() 设置联合唯一约束 class Books(db.Model): __tablename__ = 'book' # 数据库表名 id = db.Colum
上海-悠悠
2022-10-09
1.3K0
Flask 学习-75.Flask-RESTX 使用 marshal_with 处理嵌套字段
前言 使用 marshal_with 序列化模型非常方便,还可以处理一些嵌套字段。 嵌套字段 虽然使用 dicts 嵌套字段可以将平面数据对象转换为嵌套响应,但您可以使用它 Nested 来解组嵌套数据结构并适当地呈现它们。 官方文档示例 >>> from flask_restx import fields, marshal >>> import json >>> >>> address_fields = {} >>> address_fields['line 1'] = fields.String(att
上海-悠悠
2022-09-27
1.2K0
Flask 学习-71.Flask-RESTX 枚举类型Enum字段
前言 model 中枚举类型字段使用示例 模型设计 class Teachers(db.Model): __tablename__ = 'teacher' # 数据库表名 id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(50), unique=True, nullable=False) size = db.Column(db.Enum("S
上海-悠悠
2022-09-27
6210
Flask 学习-57.Flask-RESTX 定制返回统一的JSON格式
前言 一般在接口开发中,会定制统一的返回JSON 格式如:{‘code’: 0, ‘message’: ‘success’, ‘data’: {}} 定制JSON 格式 Flask-RESTX  的Api对象提供了一个representation的装饰器,允许定制返回数据的呈现格式 基本示例 api = Api(app) @api.representation('application/json') def output_json(data, code, headers): # TODO ....
上海-悠悠
2022-09-13
7510
Flask 学习-52.Flask-RESTX 生成 Swagger 文档带上Authorization认证
前言 我们在开发的接口中,一般会带上用户登录的token认证,需在请求头部传Authorization。 Flask-RESTX 生成 Swagger 文档,可以直接在文档上登录,方便快速测试接口。 需登录认证的接口 接着前面一篇,需要登录的接口加上@jwt_required()装饰器 from flask_jwt_extended import jwt_required @api.route('/') class TodoList(Resource): '''Shows a list of al
上海-悠悠
2022-09-13
7660
Flask 学习-42.Flask-RESTX 快速入门
前言 Flask-restfull 是flask 框架开发接口的一个框架,Flask-RESTPlus 是Flask-restfull 升级版,可以生成swagger 在线文档了。 但是 Flask-RESTPlus 这个项目不再维护了,迁移到 Flask-RESTX 了。Flask-RESTX 与 Flask-RESTPlus 的 API 保持 100% 兼容。 环境安装 Flask-RESTX 目前最新版本0.5.1 (但是不支持最新的flask 2.2.2版本) 以下是可以用的匹配版本 Flask==
上海-悠悠
2022-09-08
1.2K0
Flask 学习-40.Flask-RESTful 结合蓝图使用
前言 Flask-RESTful 结合蓝图使用设计接口 RESTful 接口 没使用蓝图之前 注册接口 from apps import create_app, db, jwt from flask import url_for, request, jsonify from flask_restful import reqparse, abort, Api, Resource from apps.models import Users app = create_app() api = Api(app) c
上海-悠悠
2022-09-08
7030
Flask 学习-24.用户注册(sha256_crypt对密码加密)
前言 用户注册的时候,密码需要加密保存,这里使用 passlib 库对密码进行hash。 环境准备 需用到passlib 库,使用pip安装 pip install passlib passlib 库里面会用到2个方法 encrypt() - 生成新的值,返回密码哈希 verify() - 根据现有哈希验证密码. User表 先设计注册表 from . import db from passlib.hash import sha256_crypt class Users(db.Model): __
上海-悠悠
2022-09-06
6700
Flask 学习-19.配置管理flask_sqlalchemy 和 flask_migrate
前言 前面讲了项目中使用config.py 可以管理开发、生产、测试等环境的配置,这篇继续学习在项目中添加flask_sqlalchemy 和 flask_migrate 的配置 环境准备 先pip安装flask_sqlalchemy 和 flask_migrate pip install flask_sqlalchemy pip install flask_migrate flask_sqlalchemy是封装了sqlalchemy 实现 ORM 操作数据库,flask_migrate 模块可以实现数据迁
上海-悠悠
2022-09-02
5790
JavaScript 学习-44.jQuery 遍历查找方法
前言 通过 jQuery 遍历,从被查找当前元素开始,在家族树中向上移动(祖先),向下移动(子孙),水平移动(兄弟),这种移动被称为对 DOM 进行遍历。 查找祖先元素 向上遍历 DOM 树,查找父元素和祖先元素 parent()   查找父元素 parents()  查找父元素以及祖先元素,一直到根节点html 示例 <div id="demo"> <h3>jquery 遍历</h3> <p id="p" class="text-info">hello world</p> <for
上海-悠悠
2022-06-14
7960
JavaScript 学习-45.jQuery 表单选择器
前言 jQuery 表单选择器,专门操作表单内容 表单选择器 表单选择器总结 表单项 示例 说明 输入框 $(":input") 查找所有input元素,包含input、textarea、select、button 文本框 $(":text") 查找所有文本框type=”text” 密码框 $(":password") 查找所有密码框type=”password” 单选按钮 $(":radio) 查找所有单选按钮 复选框 $(":checkbox) 查找所有复选框 图片 $(":image") 查找所有图像
上海-悠悠
2022-06-14
5860
JavaScript 学习-37.jQuery 添加/删除/替换元素
前言 通过 jQuery,可以很容易地添加和删除元素。 添加元素 添加元素主要用到四个方法 append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 append() 方法在被选元素的结尾插入内容(作为该元素子元素插入) <div id="demo"> <p class="text-info">hello world</p> <input type="text"
上海-悠悠
2022-06-01
1.6K0
JavaScript 学习-36.jQuery 获取和修改HTML
前言 jQuery 可以获取和修改HTML元素的属性和文本内容 text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) attr() - 获取或设置属性 val() - 设置或返回表单字段的值 获取文本 text() 和 html() text()是获取文本内容,html()返回所选元素的内容(包括 HTML 标记) <h3>获取html内容</h3> <div id="demo"> <p class="text-info">hello w
上海-悠悠
2022-05-31
7330
JavaScript 学习-33.HTML DOM 获取和修改文本节点
前言 textContent、innerText 和 innerHTML 三个方法的使用场景和区别 textContent 和 innerText IE 浏览器最早引入了innerText, 虽然是IE浏览器私有属性,但是其他很多浏览器也支持了。提到IE,必然是坑! 火狐浏览器把innerText换成了textContent , 但其他浏览器上面,也是可以使用textContent。 使用区别: textContent 用来设置或获取某个元素内所有文本内容,包含子元素内容,隐藏元素也能获取。 innerTe
上海-悠悠
2022-05-30
1.5K0
python面试题-查找字符串中第k个最小Ascii码值的字母
题目: 输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母(k>=1) 输入要求: 第一行输入大小写组成的字符串 第二行输入k, k必须大于0,k可以大于字符串长度 输出要求: 输出该字母所在字符串的位置索引,字符串第一个位置索引是为0, k如果大于字符串长度,则输出最大值的怎么所在字符串的位置索引, 如果第k个最小Ascii码值的字母有重复,则输出该字母的最小位置索引。 示例: 输入: AbCdeFG 3 输出: 5 参考代码 """ 作者:上海-
上海-悠悠
2022-05-30
1K0
python面试题-看到一个很有意思的遇到4就跳过计费表的问题
题目: 小王同学晚上下班打出租车,以他多年的编码经验,发现出租车的计费表有点问题,总是偏大。 后来出租车司机解释说是不喜欢数字4,所以改了计费表,任何跟数字4相关的就直接跳过,其余功能正常: 3再多一块钱就变成5; 23再多一块钱就变成25; 399再多一块钱就变成500 那么问题来了:根据计费表的价格,还原实际费用 输入要求: 1<=N<=88888888 输出 一个数字(实际费用),回车结束 示例1 输入: 5 输出 4 示例2 输入 100 输出 81 100是计费表上的数字,81是实际产生的费用 参
上海-悠悠
2022-05-30
5270
python面试题-找到两个数组元素和小于等于目标值target的最大值的所有组合
题目: 给定2个数组(不是有序的),再给定一个目标值target,找到两个数组元素和小于等于目标值target的最大值的所有组合 示例一: 数组a 为[3, 8,5] 数组b 为[2, 1,4] 目标值10 输出:(8,2)  因为 8+2<=10 示例二 数组a为 [5, 7, 2] 数组b为[4, 2, 1] 目标值10 输出为(5, 4), (7,2)因为5+4=7+2<=10 代码参考 """ 作者:上海-悠悠 python QQ交流群:730246532 联系微信/QQ: 283340479 ""
上海-悠悠
2022-05-30
1.3K0
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档