
Python
文章平均质量分 55
ABEE3
这个作者很懒,什么都没留下…
展开
-
【python】eval 和 ast.literal_eval 的区别
如题原创 2023-02-22 15:31:53 · 486 阅读 · 1 评论 -
【Selenium】Selenium4 Grid
selenium4 grid原创 2022-11-23 17:24:55 · 1804 阅读 · 0 评论 -
【pytest】UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xae in position 22: illegal multibyte seq
windwos 系统运行 pytest 测试用例报错:File "D:\Program Files\JetBrains\PyCharm 2019.1.2\helpers\pycharm\_jb_pytest_runner.py", line 37, in <module> config_result = real_prepare_config(args, plugins_to_load)...解决办法:pytest.ini 文件内删除中文注释,用英文注释替代。...原创 2021-12-20 13:38:15 · 509 阅读 · 0 评论 -
JMESPath 基本操作
JMESPath is a query language for JSON.JMESPath 是 JSON 查询语言,可以从 JSON 文档中提取和转换元素。在做接口自动化测试项目时,最基础的一步就是从响应中获取各种待验证的字段值,掌握 jmespath 语法,能达到事半功倍的效果。撸了一天官方文档,趁热记录下所学所得。jmesath.pyJMESPath ExamplesTry it Out!安装$ pip install jemspathjmespath.py 库提供了两个接口:d.原创 2021-12-03 11:00:46 · 2031 阅读 · 0 评论 -
pytest-ordering 测试用例排序
pytest 测试用例默认执行顺序:小写英文—>大写英文—>0-9数字通过插件可以改变测试用例的执行顺序,安装方法如下:$ pip install pytest-ordering用法:@pytest.mark.run(order=1)具体的用法这里不多赘述,网上很多教程。这里只是记录下,实际应用过程中由于没有理解排序机制导致出现的问题。⚠️注意:通过这种方法设置的用例排序是全局的‼️# a.py@pytest.mark.run(order=1)def test_01():原创 2021-11-25 17:43:00 · 1202 阅读 · 3 评论 -
pytest 测试类的实例变量初始化问题
使用 pytest 编写测试用例,碰到场景如下:class Test: def setup_class(self): print("exec setup class") self.a = 1 def setup(self): self.a += 1 print("exec setup -", self.a) def test_1(self): print(self.a) def test原创 2021-11-25 16:22:52 · 1915 阅读 · 0 评论 -
【python】yaml.load 报错:TypeError: load() missing 1 required positional argument: ‘Loader‘
问题使用 PyYaml 加载文件内容,我本机好的,其他同事执行代码出现了报错,错误如下:yaml_content = yaml.load(stream)E TypeError: load() missing 1 required positional argument: 'Loader'解决由于 python load 存在一些安全问题,所以建议使用 safe_laod 来进行文件的加载。yaml_content = yaml.safe_load(stream)PyYAML 版本不同原创 2021-11-25 15:56:02 · 2207 阅读 · 0 评论 -
pytest 断言抛出预期异常
使用 pytest 编写测试用例过程中,需要用到断言是否抛出一个预期中的异常。什么意思呢? 通过这个实例了解一下。例:在网页中有一个滑块 ele_drag,需要拖拽到指定位置 ele_drop(class=“item”),当滑块填充完成后,ele_drop 的 class 就会变更名称,如何断言?def test_hold_move_to_ele(self): self.driver.get(window) # window 是测试网页 # 有一个可填充区域,class = it原创 2021-10-14 17:43:26 · 1132 阅读 · 0 评论 -
chromedriver:selenium.common.exceptions.SessionNotCreatedException
问题Chrome 自动升级,执行 selenium 代码时,浏览器版本与之前配置的 chromedriver 版本不匹配,所以报错。解决更新下驱动版本1、 进入 Google 浏览器设置页面,点击关于,查看当前浏览器版本;2、找到与浏览器版本对应的 chromedriver 并下载;国内淘宝镜像网站:https://npm.taobao.org/mirrors/chromedriver/3、解压后替换掉之前的驱动$ which chromedriver/usr/local/bin/ch原创 2021-10-14 16:48:57 · 146 阅读 · 0 评论 -
【python】loguru 移除控制台输出
from loguru import loggerlogger.remove(handler_id=None) # 不在控制台输出日志信息# 默认为 None,代表移除所有# logge.remove() # 这么写也行官方示例:>>> i = logger.add(sys.stderr, format="{message}")>>> logger.info("Logging")Logging>>> logger.remove(i)原创 2021-10-11 17:39:50 · 4116 阅读 · 3 评论 -
Mac OCR 图像文字识别调研(tesseract & baidu clound)
OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。本文记录使用python进行图片识别,尝试了两种办法,在此记录!文章目录Tesseract安装使用命令行调用Python调用百度云 OCR安装使用总结Tesseract...原创 2019-04-12 15:24:30 · 1134 阅读 · 0 评论 -
百度云 OCR 识别图片验证码
操作系统:Mac OS Python版本:3.7.2 OCR:百度云遇到的问题:API测试过程中,遇到API Resopnse 为图片验证码的情况,需要对图片进行识别得到text code,进行断言或者下一步操作。验证码图片:直接使用OCR识别图片结果为:/usr/local/bin/python3.7 /Users/test.py-----> hciProcess...原创 2019-04-12 18:48:15 · 3374 阅读 · 0 评论 -
【python】全局导包(偷懒小技巧,虽然方便,但不推荐)
pytest + requests + allure 接口自动化测试项目编写测试用例,每个 py 都需要重复的导入 pytest、allure 等等,有点麻烦,所以用了一个偷懒小技巧。遇到的问题# test_demo.pyimport pytestimport allurefrom base_api import get_api_nameclass TestDemo: @pytest.mark.demo @allure.title("test demo title") def te.原创 2021-09-29 12:45:36 · 739 阅读 · 0 评论 -
pip 生成 requirement.txt 文件
Pycharmpip 19.0.3用 Pycharm 创建一个新的 Python 项目(虚拟环境),里面用到了一些第三方库的依赖,pip 命令可以获取到依赖库的名称及版本号。$ pip freeze > requirements.txt其他人安装的话只需要通过这个 txt 文件就可以一键安装,非常方便。$ pip install -r requirements.txt...原创 2021-09-28 11:11:40 · 2120 阅读 · 0 评论 -
【Python】正则表达式 re 模块
文章大纲核心函数和方法compilematch匹配对象和 group()、groups()search正则匹配示例匹配多个字符串(|)匹配任意单个字符(.)创建字符合集([])重复、特殊字符和子组核心函数和方法compile 模块函数,对正则表达式进行预编译matchsearchgroup、groupscompilepython 的代码最终会被编译为字节码,然后才会被解释器执行,比如 eval 或者 exec 调用的代码对象,在性能上会明显提升。这个概念也适用于正则表达式,在模式匹配前,原创 2021-09-23 00:26:18 · 389 阅读 · 0 评论 -
【Python】输出颜色
备份贴# Color escape string'''# 输出时显示颜色# 字符串前缀:\033[显示方式;字体色;背景色m# 字符串后缀:\033[0mprint ("\033[1;31mHello,world!\033[0m") # 背景色可不填,后缀是固定写法print ("\033[4;32mHello,world!\033[0m")print ("\033[1;31;40;mHello,world!\033[0m") # 3X是字体色,4X是背景色,无先后顺序# 如果给变原创 2021-02-05 16:50:28 · 734 阅读 · 1 评论 -
【Python】茅台自动化抢购脚本(附加定时任务设置)
前言全民抢购茅台,导致中证白酒指数一路飙升… 跟着大牛喝汤的同时,我也参与了抢购,抢到就是赚到,年关将至,就算自己不喝送礼也是非常 nice 的。各大平台基本都有抢购茅台的活动,作为互联网从业人员,大家都知道通过前端手动抢购太慢了,避开前端直接通过接口对服务器发起请求会大大加快抢购的效率。GitHub 上就有大佬开源的抢购项目,本着学习的态度,对代码仔细阅读和研究。学习过程中也发现了一些问题,并尝试进行完善。下文分享学习过程中遇到的问题,以及解决办法。原理首先来看下,实际用户抢购的步骤:登录某东原创 2021-01-07 18:20:15 · 9045 阅读 · 16 评论 -
【Python】递归函数理解与练习
递归 在一个函数内部调用自身本身,就是递归函数。阶乘5 的阶乘为:5*4*3*2*1n 的阶乘为:1*2*3*…*(n-1)所以其实就是n * (n-1)的循环,只有当n=1时,需要特殊处理。# 递归实现,暂不考虑负数和零def fact(n): if n == 1: return 1 &原创 2021-01-07 18:13:33 · 671 阅读 · 0 评论 -
【python】else 用法汇总笔记
记录一个小知识…阅读别人代码,有点疑惑,精简后如下:def code_example(arg=None): for i in range(5): if arg: break&n原创 2021-01-06 12:51:05 · 311 阅读 · 1 评论 -
配置pip下载源为国内镜像
问题:使用 pip 下载包时,不仅龟速,还经常出现超时的情况解决:使用国内开源镜像站镜像源有很多,比如豆瓣、清华、阿里云等,可以百度找。我使用的是清华源:https://pypi.tuna.tsinghua.edu.cn/simple如何配置1、临时使用,通过 -i 参数指定源即可pip3 insatll -i https://pypi.tuna.tsinghua.edu.cn/simple requests2、修改默认源,添加配置文件,不用每次再加 -i 参数创建 pip.c..原创 2020-09-07 13:42:38 · 385 阅读 · 0 评论 -
Python - threading 模块使用
详细学习一下 Python 的线程使用方法单线程以逛吃为栗子,开始编码……程序的意思就是:今天媳妇要逛街,逛街需要体力啊~ 所以我们先吃饭,吃饱了然后就购物,直到钱包发出警报~ 一共花费时间8秒钟。单线程:做完一件事再去做另一件事。媳妇说了,干吃干逛多没劲,你得让我发表意见啊~好,完善一下程序,编码开始……OK,加入自定义参数arg,满足需求。多线程还是那个媳妇,还是那...原创 2019-08-28 12:33:39 · 325 阅读 · 0 评论 -
Python webbrowser 打开浏览器后未访问 url - 解决办法
问题import webbrowserwebbrowser.open(‘www.baidu.com')每次调起浏览器,都没有进入 URL 页面~ 困扰ing~解决import webbrowserwebbrowser.open(‘http://www.baidu.com')加上 http:// 或者 https://这样问题就解决了~~ 是自己粗心大意呀~~ 引以为戒。...原创 2019-08-14 10:42:25 · 1363 阅读 · 0 评论