Python
文章平均质量分 76
python开发
jwensh
影响合理决策的两个最大的障碍是自我意识和思维盲点.
展开
-
【Python】执行脚本的时,如何指定运行根目录,而不是指定脚本的父级目录
环境变量来指定 Python 的工作目录。在执行此代码后,程序的当前工作目录会被更改为你指定的目录。以上方法都可以根据你的需求来选择合适的方式,尤其是。这样,脚本的工作目录会被设置为你手动切换到的目录。你也可以在 Python 脚本中通过修改。来更改 Python 程序的工作目录。命令进入指定的根目录,再执行脚本。作为根目录来寻找模块和执行脚本。来添加自定义的目录到搜索路径中。在脚本内部修改工作目录比较方便。这样,Python 会将。在执行脚本之前,先通过。原创 2024-09-23 16:42:59 · 157 阅读 · 0 评论 -
【Python】使用 aysncio 异步编程获取协程返回值
【代码】【Python】使用 aysncio 异步编程获取协程返回值。原创 2024-08-16 19:43:25 · 289 阅读 · 0 评论 -
【Python】使用 aiohttp 实现 websocket 通信客户端
以上是使用aiohttp创建一个简单的 WebSocket 客户端的基本步骤和示例代码。aiohttp提供了强大的异步 HTTP 客户端和服务器功能,非常适合需要高性能网络通信的 Python 应用程序。还有一个方案就是rel。原创 2024-08-15 17:00:31 · 594 阅读 · 0 评论 -
【Python】使用 playwright 进行站内死链检查
为什么要用浏览器访问方式来获取页面链接?:能够通过自动化进行检查,为何本次使用了。原创 2024-08-15 11:32:14 · 491 阅读 · 0 评论 -
【Python】使用 SQLObject orm 库快速将接口数据存入数据库
接下来,你需要定义你的数据库模型。这些模型将映射到数据库中的表。原创 2024-06-06 19:23:10 · 717 阅读 · 0 评论 -
【Selenium】mac python 使用 safari 报错 “Service /usr/bin/safaridriver unexpectedly exited“
可能会提示没有权限,不用理会,再执行一次。会卡住,等一会终止,如果不想等就直接 crtl + c, 然后就可以调起浏览器了. 或者重启下电脑。与 Chromium 和 Firefox 驱动不同, Safari 驱动随操作系统安装. 要在 Safari 上启用自动化。原创 2024-03-27 13:58:06 · 403 阅读 · 0 评论 -
【自动化测试】pytest 用例执行中print日志实时输出
在进行 websocket 接口进行测试的时候,希望有一个 case 是一直执行并接受接口返回的数据。中的日志能够实时打印,可以修改 pytest 的执行参数。直接点击 pycharm 上测试方法左侧的执行按钮。再次执行用例就能有实时日志了。原创 2023-11-30 17:31:38 · 1379 阅读 · 0 评论 -
【Python】解决 can‘t find ‘__main__‘ module in ‘wm‘
当直接运行包的时侯(python wm),wm 不是作为一包来运行,因此包的路径 wm 没有被加入 sys.path 路径中。在__ini__.py 中定义一个 main() 函数,在__main__.py 中调用它,实现入口,最后调用了 wm.main() 函数,此时执行了。.py 的当前路径 wm 加入 sys.path 中,然后在这个路径下面寻找 wm 这个模块。早点的 python 版本,如果要想将一个文件夹作为包(package)来使用,当前文件夹下必须要有。像当前的 3 的版本,不用。原创 2023-07-25 14:18:23 · 2692 阅读 · 0 评论 -
【测试开发】python 应用时间做事情
在python里,在网上介绍的很多方法,得到的时间戳是10位。而java里默认是13位(milliseconds,毫秒级的)。在python 开发web程序时,需要调用第三方的相关接口,在调用时,需要对请求进行签名。需要用到unix时间戳。更多的是各种格式化的和时间戳 转为时间对象 ,然后进行计算,结果在转为可读的字符串。(1)默认情况下python的时间戳是以秒为单位输出的float。强制转换是直接去掉小数位。round()是四舍五入。原创 2023-03-31 18:31:00 · 1379 阅读 · 0 评论 -
【Python】修改枚举的取值及链式调用
测试过程中需要很多参数化的设置及编程规范要求,希望修改数据不修改代码。最近测试区块链的时候有很多这样的需求,所以这里搞一下。因为我不要知道 key 是什么,code review 的时候我看到 key 即可知道其作用。原创 2023-02-11 16:56:35 · 1116 阅读 · 0 评论 -
【Python】pycharm 和 vscode 编辑器设置模版
输入自定义模板代码原创 2022-10-29 11:51:04 · 2661 阅读 · 2 评论 -
【Python】Thrift rpc 接口测试 python
thrift rpc 协议的接口自动化测试使用方案原创 2022-08-06 10:22:06 · 2177 阅读 · 0 评论 -
【Python】源码目录结构及阅读方式
Date: 2021.4.10Author: jwensh1. 下载直接去python官网,下载源码,这个源码阅读,看你的需要来选择版本,你可以选择最新版本,来查看新版本更新的内容细节,或者你选择你当前学习或工作使用的版本:我下载了 Python3.9.4 版本2. 目录结构Python源码压缩包,解压后目录结构为:-$ tree -L 1.├── CODE_OF_CONDUCT.md├── Doc # rst文件与Python的关系,类似Javadoc与Java,.原创 2021-04-10 22:03:40 · 3605 阅读 · 0 评论 -
【Python】pandas与Excel文件结合操作手册
pandas与Excel文件结合操作手册 关键词: python pandas excelDate: 2021.04.01Author: jwensh1. 关于 pandas 会使用的依赖1.1 Excel writer enginesDeprecated since version 1.2.0: As the xlwt package is no longer maintained, the xlwt engine will be removed from a future原创 2021-04-01 17:30:46 · 1755 阅读 · 5 评论 -
【Python】使用os和shutil模块读写、创建文件及文件夹
Date: 2021.03.24Author: jwenshpython操作文件及文件夹的方法操作文件及文件夹的记录1. 使用os模块1.1 文件os.getcwd() #返回当前工作路径os.path.isabs() #判断是否是绝对路径os.path.isfile() #检验给出的路径是否是一个文件os.path.isdir() #检验给出的路径是否是一个目录os.sep #文件的路径分隔符 如:在windows上是 '\' 而在Linux上是 '/'os.原创 2021-03-24 13:25:45 · 4345 阅读 · 0 评论 -
【测试开发】Python装饰器 - 多个装饰器的执行顺序
装饰器是Python用于封装函数或公共代码的实现方式,类似java中的注解,在日常的开发过程中会经常用到,这里记录下多个装饰器执行顺序的。1. 疑问大部分涉及多个装饰器装饰的函数调用顺序时都会说明它们是自上而下的,比如下面这个例子:def decorator_a(func): print 'Get in decorator_a' def inner_a(*args, **kwargs): print 'Get in inner_a' return fun原创 2021-03-13 18:19:45 · 2152 阅读 · 0 评论 -
【Python】基于配置的动态加载并执行类及其方法的设计
Date: 2021.02.26Author:jwensh文章目录1. 背景2. 设计思路2.1 选用配置文件 Yaml3. 基础代码3.1 解析获取到配置文件3.2 根据配置去执行3.3 service的逻辑是什么4. 总结4.1 使用这种方式的优缺点1. 背景最近要对业务数据进行分析,有m条数据,每条数据又有o个属性值,每个属性值需要过滤n种规则,按照数据俩看有m*o*n的计算量,需要写三个for循环去处理,其中还要有统计的事情,这种方式会导致一些问题,比如n种方法,其中有些不想执行有些想执.原创 2021-02-26 14:28:35 · 1196 阅读 · 2 评论 -
【Tornado】解决日志文件和控制台日志格式不一致的问题
问题通过以下参数来配置tornado的日志输出格式(参数可参考:tornado/log.py)LOGGING = { 'options': { 'logging': 'info', # 日志级别 (debug|info|warning|error|none) 'log_to_stderr': None, # Default None, type bool原创 2020-09-04 14:01:31 · 1263 阅读 · 6 评论 -
【Python】接口测试工具方法 - 将string格式的header转换为dict
背景在测试过程中,我们可能拿到一个接口的header或者body,需要将其作为测试的参数去使用,再python里,需要给key和value加上引号,这个操作很麻烦,希望有个方法能帮我直接格式化。代码将带有换行的,用冒号分割的string格式化为dictdef string_lines_to_dict(str_lines): """ 将一个多行的String内容转化为dict或是json格式 场景是我们对接口中header进行快速修改时需要加各种引号什么的,费时,该方法迅速处理原创 2020-05-09 13:21:13 · 616 阅读 · 0 评论 -
【Python】hdbscan安装失败的解决
安装dbscan报错尝试的安装方法,均失败pip install hdbscanconda install hdbscanpip install --upgrade git+https://github.com/scikit-learn-contrib/hdbscan.git#egg=hdbscanGitHub hdbscan安装所在的环境(mac Catalina + conda...原创 2019-12-25 16:58:34 · 7475 阅读 · 0 评论 -
【Python】解决发送多人邮件没有展示收件人的问题
背景:工作过程中需要对现有的机器、服务做监控,当服务出现问题后,邮件通知对应的人问题:使用python 2.7自带的email库来进行邮件的发送,但是发送后没有展示收件人列表内容问题代码示例:# -*- coding:utf-8 -*-import smtplibfrom email.mime.multipart import MIMEMultipartfrom ema...原创 2018-09-29 23:42:18 · 5669 阅读 · 0 评论 -
【Android】自动化设计过程中需要adb命令的场景
在测试过程中,对Android系统越来越了解,很多重复的东西,都想通过一些编程手段来解决,下面的一些场景是在实现ApkInstallTool(python)时用到的,这里罗列下经常使用的场景,对应的命令和python实现脚本后续会分享出来。Android系统内置的工具包:Toybox:是一些Linux命令行实用程序的实现。这些包括ls,cp,mv和约150个其他。Toybox项目于原创 2017-10-27 11:43:35 · 624 阅读 · 0 评论 -
【Python】简单实现对象的to_string方法
背景每次定义一个类都要重写__str__方法,重点是如果是一堆属性的话,要拼接一个类似java的to_string方法要累死个人,pycharm好像还没有说能一键生成的功能,所以我需要一个简单的方法节省我的时间.(备注:此前你要了解下__str__的调用原理,这里略过)No bb , show code方法:可复用在任何类的对象打印上def obj_to_string(cls, obj):...原创 2019-07-31 16:43:32 · 9598 阅读 · 0 评论 -
【Selenium】docker-chrome执行wap模式的问题与解决方法
unknown error: cannot parse capability: chromeOptionsfrom unknown error: cannot parse mobileEmulationfrom unknown error: 'iPhone 6' must be a valid devicefrom unknown error: must be a valid device...原创 2019-04-23 15:46:24 · 1614 阅读 · 2 评论 -
【Python】 decimal模块十进制定点和浮点运算
decimal模块用于十进制数学计算,具有以下特点:提供十进制浮点数据类型运算支持,并且存储为十进制数序列;精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x 3来设置或修改,不同的数字可以有不同的精度数;浮点:十进制小数点的位置不固定(但位数是固定的);decimal的构建:可以通过整数、字符串或者元组构建decimal.Decimal,...原创 2019-04-20 19:02:10 · 1190 阅读 · 0 评论 -
【Selenium】页面特性与js操作页面元素
把安全帽戴好,不让你在爱情路上跌倒...1.web页面的两个主要对象:document与windowDocument 对象每个载入浏览器的 HTML 文档都会成为 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。提示:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。Documen...原创 2018-05-17 11:57:15 · 1571 阅读 · 0 评论 -
【Python】有权重的数据进行随机选取(折半查找)
算法入门到放弃: 我为什么要研究算法?我又不是开发?我是QA而已?为啥.....背景:之前有遇到一个问题:自动化测试过程中,测试人员编辑的大量的用例脚本,由于测试周期较短,我们需要着重执行其中重要的脚本(非必需),也就是说对一些脚本配置权重,在执行测试的过程中,让他们执行的可能性增大,并有可能重复执行。那好,你觉得怎么处理才好?解决:我的拙见就是:直接上代码#!/usr/bin/env pytho...原创 2018-04-05 18:51:48 · 1808 阅读 · 4 评论 -
【Python】selenium多机运行配置
影响合理决策的两个最大的障碍是你的自动意识和思维盲点....【资源连接地址】1.selenium源码及各种资源(https://github.com/SeleniumHQ/selenium,wiki有各浏览器的driver)2.selenium个版本文件的下载(http://selenium-release.storage.googleapis.com/index.html)3....原创 2018-04-07 17:39:45 · 1274 阅读 · 2 评论 -
【Python】os.path.isdir中文路径返回false的解决方案
问题背景:本来想写一个脚本来处理硬盘里的文件,并进行分类处理,但是发现一个问题,使用python内置os模块里的方法出现一些问题,具体的见示例。主要使用的方法(python 2.7版本)示例:在电脑的D盘下建立两个文件夹,并在两个文件夹下分别建立两个文件及目录:a: D:\\test\\test.txtb: D:\测试\测试.txt分别使用a,b路径来测试os.path...原创 2018-01-03 17:19:41 · 7227 阅读 · 0 评论 -
【fiddler】如何使用fiddler抓取python请求
使用 Fiddler 可以很容易抓取到从浏览器发出的 http 请求,然而在使用程序模拟 http 请求时,fiddler 抓取不到发送的这些请求,解决方法:就是在程序中添加代理。原创 2017-10-16 23:31:24 · 16039 阅读 · 8 评论 -
【python】pip安装报错UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xce in position 7: ordinal not i
刚安装完python,准备pip安装第三方库的时候出现了一个错误:UnicodeDecodeError: ‘ascii’ code can’t decode byte 0xef in position 7: ordinalnot in range(128)为什么会报错?原因是pip安装python包会加载当前用户的用户目录,我的用户目录恰好是含有中文的,ascii不能进原创 2017-09-02 13:40:59 · 39714 阅读 · 98 评论 -
【Pyhton网络爬虫】网络请求使用的urllib模块
python的简单,让我很是喜欢。所以在练习爬虫和接口测试的时候,使用python来帮助进行网络请求。Python2.x中会使用的标准库有urllib、urllib2;Python3.x中使用的就只有urllib(是urllib和urllib2的结合);其实还有很实用的requests第三方库,什么框架类的就不用再多说了,基础最重要。原创 2017-06-26 23:50:20 · 770 阅读 · 0 评论 -
【Python】获取windows桌面路径的5中方式
这里介绍了5中python获取window桌面路径的方法,获取这个路径有什么用呢?一般是将程序生成的文档输出到桌面便于查看编辑。前两个方法是通过注册表来获取当前windows桌面绝对路径,比较推荐使用第一个,因为不需要安装额外的扩展,其他的可以了解下1.用内置的winreg(推荐)import winregdef get_desktop(): key原创 2017-07-13 22:25:36 · 20560 阅读 · 4 评论 -
【自动化】获取手机的屏幕状态
只有拥有坐上牌桌的能力,才有博弈的机会...可能在Android测试过程中有很多需要获取的元素,比如这个手机的屏幕状态,除了可以用开发APK API(Java)实现获取锁屏状态外也可以通过adb命令获取手机是否锁屏状态,当然这种使用的adb的方式可以用python来封装。对于手机各种数据的获取,一般要么来自静态配置文件,要么来自动态的service动态数据手机屏幕状态这种动态的可以通过一个wind...原创 2018-05-23 18:57:59 · 8928 阅读 · 6 评论 -
【Python】pycharm开发得项目,使用命令行来运行
云海一片,寻梦一天...背景我们平常使用python IDE(pycharm、eclipse、sublime等)开发堆积成得项目,可能有很多package和module,并且各自之间有一定得引用,在IDE里可能一个右键就能run起来,但是初始项目放到服务器上后,使用命令行执行就没那么容易了。项目结构如下:这是写了一个小工具,用pycharm使着挺好得,但是想调到命令行执行test_interfac...原创 2018-06-23 00:14:12 · 17487 阅读 · 0 评论 -
【Python】Android测试adb工具--ApkInstallTool
github源码地址技术实现所使用到的python模块: time re easygui (0.98.0)(三方) >pip install easygui 安装最新也行wx (3.0)三方) os bs4.BeaufulSoup (0.0.1)(三方) urllib,urllib2,urlparse requests (2.12.1)(三方) pychartdir()(三方) _winre...原创 2018-06-23 11:50:31 · 1993 阅读 · 0 评论 -
【自动化】appium、selenium、requests构建的测试框架
GitHub: https://github.com/gitjayzhen/python-owl这是一个针对测试工作的一个工具集合,包含了手机appium工具的使用、网页selenium的使用、接口requests工具的使用;这是一个整合,想让owl@ override the world limit 能够跨越各工具的隔阂。整个框架的思量性很杂,可以定义为python与测试理论结合的进阶性学...原创 2019-04-15 19:14:01 · 879 阅读 · 0 评论 -
【Python】数据库异常pymysql.err.InterfaceError: (0, '')解决方案
后台服务在运行时发现一个问题,运行一段时间后,接口请求报错;pymysql.err.InterfaceError: (0, '')排查到原因是数据库操作对象实例未注销,但是持有的数据库连接已经过期,导致后续数据库操作不能正常进行;出现问题的代码class MysqlConnection(object): """ mysql操作类,对mysql数据库进行增删改查 ...原创 2019-03-08 11:06:26 · 60018 阅读 · 13 评论 -
【Python】requests操作cookie出现相同字段名丢失的问题
背景:接口访问后返回的cookies,需要保存在文本中,然后其他接口请求时直接去读取文本中的内容。问题在于转储cookies时出现同一字段内容丢失的情况;cookies内容查看(CSDN为例):Request Cookies:Response Cookies同上两套图可以看出:Cookie的内容很丰富,有很多属性,有name、value、domain、path等特征。不...原创 2018-12-29 15:15:34 · 2632 阅读 · 0 评论 -
【Python】内容比较之is与==
javaJava编程中判断字符串内容是否相等要用“equals(str)”方法,而不能直接用“==”。"equals"判断的是值是否相同,"=="判断的是引用是否相同。内容相同的两个字符串其引用可能是不同的。equals # 比较内容是否相同== # 比较引用是否相同pythonStackOverflow话题 讨论了这个"is"和"=="is # 比较引用...原创 2018-10-09 13:49:40 · 213 阅读 · 0 评论