自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 el-input和el-select去除边框

el-input和el-select去除边框。

2022-09-21 17:35:41 3534 1

原创 Flask sqlalchemy基本操作(查询)

filter(~Note.body.in_(['foo', 'bar', 'baz']))查询语法查询一般有两种写法,db.session.query 和 <模型类>.query.<过滤方法>db.session.query:#查询TestCase 模型类中id = 137 的数据db.session.query(TestCase).filter(TestCase.id == 137).first() <模型类>.query.<过滤...

2021-09-17 16:09:11 2740

原创 Flask sqlalchemy基本操作(修改,批量修改)

普通更新#定义Note模型class Note(db.Model): id=db.Column(db.Integer,primary_key=True) title = db.Column(db.String(20)) body=db.Column(db.Text)note = Note.query.get(2)#得到主键为2的记录note.body="更新后的值"#更新上面主键为2的记录的body值db.session.commit()#提交只有要插入新的记录..

2021-09-17 15:12:45 2791

原创 Flask sqlalchemy基本操作(删除,批量删除)

普通删除#定义Note模型class Note(db.Model): id=db.Column(db.Integer,primary_key=True) title = db.Column(db.String(20)) body=db.Column(db.Text)#删除-删除了id(主键)为1的记录:note=Note.query.get(1)db.session.delete(note)db.session.commit()批量删除# 批量删除

2021-09-17 14:53:39 4232

原创 Flask sqlalchemy基本操作(新增,批量新增)

普通新增#定义Note模型class Note(db.Model): id=db.Column(db.Integer,primary_key=True) body=db.Column(db.Text)#新增note1=Note(body='aaaaa')note2=Note(body='cccccc')note3=Note(body='eeeeeee')db.session.add(note1)db.session.add(note2)db.session.add(

2021-09-17 14:30:42 1706

原创 python selenium 根据屏幕缩放比获取元素截图

获取元素截图,网上教程很多,但大部分都没有提到屏幕缩放比会影响到元素坐标,导致坐标不准确。获取元素坐标都会用到:imgelement = driver.find_element_by_xpath(xpath)location = imgelement.location # x,y轴坐标但是location 获取的是屏幕缩放比例为100%的坐标,如果你屏幕缩放比例不为100%,那么实际截图的时候就会不准确,所以要结合屏幕缩放比例来获取。# -*- coding: UTF-8 -*..

2021-08-06 11:57:23 1734

原创 python 获取电脑屏幕的缩放比例,分辨率

现在高分辨的电脑都会设置缩放比例,125%,或者150% 或者很高,获取屏幕显示的缩放比例:用到的库:pywin32from win32.lib import win32conimport win32api, win32gui, win32printdef get_real_resolution(): """获取真实的分辨率""" hDC = win32gui.GetDC(0) wide = win32print.GetDeviceCaps(hDC, win32..

2021-08-06 10:27:07 4800

原创 python tesseract验证码识别(验证码未粘连)

需要的库和工具及安装其中会用到以下几个库和工具:工具:tesseracttesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/1.下载适合自己版本(32或者64位)的非dev的exe文件,然后一路安装下去。注:如果需要支持多国语言,到这个步骤的时候它勾选上,默认支持英文:2.配置环境变量path 里面配置tesseract的安装路径:3.验证安装是否成功:cmd,然后输入验证tesseract...

2021-07-13 18:30:52 1064

原创 unittest AssertionError: Path must be within the project

背景:由于业务原因,需要根据测试用例的数据来动态生成不同文件夹以及对应的测试用例文件。我在成功生成文件夹和用例文件后,运行测试用例的,第一次是运行成功,第二次运行报错。错误代码:test_ENS_to_ECGROUP_suite = unittest.defaultTestLoader.discover(test_file, pattern='test_plan.py')由于我的代码逻辑设计,每次运行测试用例会到不同的目录下去运行测试用例。查看了下discover的代码逻辑发现u...

2021-04-23 17:26:27 521 2

原创 unittest ImportError: Start directory is not importable

报错截图:ImportError: Start directory is not importable背景:由于业务原因,需要根据测试用例的数据来动态生成不同文件夹以及对应的测试用例文件。我在成功生成文件夹和用例文件后,运行测试用例遇上上面报错。解决办法:后来发现是因为写入测试文件的时候,文件夹内没有写入__init__.py文件,遂写入即可。如果不是这个原因,可以参考:https://blog.csdn.net/weixin_44443453/article/de...

2021-04-23 17:04:10 935

原创 Python 使用requests 进行multipart/form-data类型文件上传

fiddler抓取的接口信息我们用到 MultipartEncoder 将请求体包起来。fields为MultipartEncoder的传参。1.fiddler请求表格的第一行:Content-Disposition: form-data; name="fileName",那么key为fileName,value就为fiddler请求表格中的Value.2.fiddler请求表格的第二行:name="fileToUpload",key为:('20200316人员导入 - ...

2021-03-17 13:08:39 3794

原创 python 遍历json、字典dict,替换value

接口自动化测试时,有时候请求体(json格式)是固定的,每次请求只想替换请求体中的某个key的值,需要遍历并替换调,例如注册接口,每次手机号或者用户名不能重复,那么请求前需要动态替换手机号或者用户名。上代码,举例替换值为空:class RepalceJsonValue: """ 替换指定key的value为空 """ def __init__(self, goal_key): self.goal_key = goal_key ...

2020-09-09 16:06:28 2782

原创 flask下载文件(自定义文件目录)

直接上代码:@interface_info_bp.route('/download-interface-templatefile', methods=['GET'])def download_file(): file_name = "interface-template" file_path = "C:\\Users\87596\Desktop" ROOT_FOLDER = os.path.join(file_path, file_name) response = mak

2020-09-04 15:29:48 1644

原创 【Flask】上传文件终极完善版

直接进入主题吧项目结构:|—app| | —init.py| | —settings.py| | —view.pyinit.py:from apis.settings import configdef create_app(config_name=None): app = Flask(__name__, template_folder=template_folder) app.config.from_object(config[config_name]) regist

2020-08-26 14:04:56 362

原创 【Flask】 flask_apscheduler动态加持久化定时任务

flask- APScheduler动态加持久化定时任务概念说明:APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。APScheduler 使用起来还算是比较简单。运行一个调度任务只需要以下三部曲。新建一个 schedulers (调度器) 。添加一个调度任务(job stores)。运行调度任务基础组件:APScheduler 有四种组件,分别是:调度器(scheduler),作业存储(job store),触发器(tr

2020-08-13 14:47:12 5986 17

转载 数据库中为什么不推荐使用外键约束

引言其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条**【强制】不得使用外键与级联,一切外键概念必须在应用层解决。 **但是呢,询问他们原因,大多是这么回答的每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,测试数据极为不方便。坦白说,这么说也是对的。但是呢,不够全面,所以开一文来详细说明。正文首先我们明确一点,外键约束是一种约束,这个约束的存在,会保证表间数据的关系“始终完整”。因此,外键约

2020-06-11 10:36:34 943

原创 接口自动化测试框架-完整测试用例模板

接口自动化测试框架

2020-05-16 15:00:02 3453

原创 python 读取多个excel数据写入同一个excel中

一、将excel数据源存储到同一个excel的不同sheet 中例如A.xlsx 中有test1,test2 两张sheet。B.xlsx中有test3 一张sheet,存储到C.xlsx中后,C有三张sheet,分别是test1,test2,test3代码:file_directory = 'D:/test' # 存放要合并的数据源文件路径writer...

2020-04-30 16:31:11 7360

原创 Jenkins自动构建部署发布spring boot 项目(详解)

环境:JDK 1.8 Jenkins服务器和部署项目服务器为两台Centos服务器 maven步骤默认jenkins,maven,jdk环境已经搭建完成第一步-安装所需要的插件1.点击【系统管理】-【插件管理】-【可选插件】搜索以下3个插件进行安装:Git plugin ---下面要拉取需要构建的代码,根据公司项目代码仓库选择,下面我们用的是git。Maven Int...

2019-10-30 19:22:05 982

空空如也

空空如也

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

TA关注的人

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