- 博客(26)
- 收藏
- 关注
原创 【Pythonj进阶】Python中的日志记录与监控:跟踪和分析应用程序行为
在Python中,logging模块就如同一位默默无闻的守望者,负责记录应用程序运行过程中的各种活动。这个模块由几个核心组件构成,包括Logger、Handler、Filter和Formatter,它们共同协作完成日志的生成、处理和输出。想象一下,Logger 是个细心的记账员,他接收到各种事务信息后决定是否记入账本(记录日志)。而 Handler 则像是邮递员,负责把记账员记录的信息传递到指定的地方,可能是本地文件、控制台、网络服务等。
2024-09-04 17:43:51
707
原创 【Python进阶】Python中的交互式命令行应用:使用Click和Argparse
argparse 是Python内置的标准库,它提供了一种强大且灵活的方式来处理命令行选项、参数和子命令。该模块允许我们定义命令行接口(CLI)的语法,包括需要的和可选的参数,以及如何解析这些参数。argparse 自动处理帮助信息的显示、错误消息的生成,以及用户输入的合法性检查。想象一下,你正在编写一个简单的文件搜索工具,用户可能希望通过命令行指定搜索目录和关键词。argparse 就可以帮助你定义这些必需和可选的参数,并确保程序能够正确处理用户的输入。
2024-08-29 10:56:38
791
原创 【Python进阶】打包的艺术:创建、管理与分发你的Python项目
setuptools是Python中用于构建和打包扩展模块的标准工具集,它基于Distutils并增加了许多高级功能,比如更灵活的项目描述、自动化依赖处理等。开发者通过编写setup.py文件来定义项目的基本信息(如名称、版本、作者)、依赖关系、入口点以及如何编译C扩展等功能。随着时间推移,setuptools不断完善,支持更多现代Python项目的复杂需求。
2024-08-28 11:12:14
810
原创 【Python进阶】面向对象编程:用Python实现类与对象
在Python中,面向对象编程得到了强有力的支持,类的定义简洁明了。类是现实世界实体的抽象模型,它定义了一组共同特征(属性)和行为(方法)。# 使用类创建对象(实例化)print(my_pet.name) # 输出 "Fido"在这里,Animal类包含了两个属性——name和species,以及一个抽象方法speak。通过__init__构造方法初始化对象时,我们可以赋予对象特定的属性值。一个典型的Python类包含属性声明、方法定义和其他类级别的声明。
2024-08-26 16:03:40
798
原创 【Python进阶】Python中的函数式编程元素:map、filter和reduce的妙用
filter()函数就像是数据海洋中的滤网,它接受一个函数和一个序列,对序列中的每个元素应用该函数,如果函数返回True,则保留该元素;反之则丢弃。其基本语法形式为:print(even_numbers) # 输出:[2, 4, 6, 8]
2024-08-23 16:26:28
1103
原创 【Python进阶】Python与文件操作:压缩、解压
在计算机存储和传输过程中,压缩技术扮演着重要角色。常见的压缩格式有ZIP、TAR、GZIP等。ZIP是一种流行的数据压缩格式,常用于打包多个文件;TAR本身并不压缩数据,但通常与GZIP、BZIP2或XZ等压缩工具结合使用,形成tar.gz或tar.xz等形式;GZIP主要用于单个文件的压缩,广泛应用于Linux系统的日志文件和其他文本文件。
2024-08-23 10:28:28
1024
原创 python文件:py,ipynb, pyi, pyc, pyd, pyo都是什么文件?
py 文件是 Python 最基本的源代码文件格式,用于存储纯文本形式的 Python 代码。它是开发者编写程序的主要场所,包含函数、类、变量定义以及执行逻辑。Python 解释器直接读取并执行 .py 文件中的指令。
2024-08-22 13:42:01
1050
原创 【Python进阶】Python调试技巧:pdb调试器的使用
在Python的世界里,初学者常常依赖于插入print()语句来追踪变量变化,这种方式虽然直观但效率较低,且难以应对复杂场景。随着项目的规模和复杂度增长,高级调试工具的作用就显得尤为重要。pdb,全称为Python Debugger,是一个内置于标准库的强大调试工具。它允许开发者在代码中设置断点、逐行执行、查看变量值、更改变量状态,甚至重新执行代码段。import pdbpdb.set_trace() # 设置断点。
2024-08-21 10:52:15
764
原创 【Python进阶】Python中的二进制数据处理:序列化与反序列化
在某些场景下,我们需要为自定义类提供定制的序列化和反序列化方法。self.file_content = file_content # 假设这是个大文件的字节流# 在这里模拟从文件读取content,实际项目中可能有不同的实现self.file_content = b'...' # 假设这是一个与state['file_size']长度匹配的字节流。
2024-08-20 17:17:51
786
原创 【python进阶】全面理解Python中的「迭代器」
迭代是一种重复获取数据集合中元素的过程,一次只获取一个元素,直到遍历完所有元素。在Python中,迭代通常用于遍历序列(如列表、元组)或任何可迭代对象。自定义迭代器允许我们创建自己的数据结构并以迭代方式访问其内容。在Python中,最常见的方式是通过生成器函数来实现。生成器函数是一种特殊的迭代器,使用yield语句暂停和恢复函数的执行。# 使用自定义迭代器print(num)
2024-08-20 11:54:04
878
原创 【Python进阶】Python时间与日期处理的艺术
在Python中,对时间与日期的处理犹如编织一首关于时间流转的交响曲。从基本的time模块提供的底层时间戳操作,到datetime模块提供的丰富日期与时间对象,再到calendar模块带来的日历功能,Python为开发者提供了一套完备的时间管理工具箱。在实践中,我们学会了如何创建、操作、比较datetime对象,以及如何在不同时区间进行转换。此外,通过dateutil库实现了灵活的日期计算,而schedule和apscheduler库则助力我们实现复杂的定时任务调度。
2024-08-19 10:17:35
896
原创 【Python进阶】模块导入策略:深入理解import与from...import的区别
● 模块定义:一个.py文件就是一个模块,它包含Python定义和声明,如函数、类、变量等。● 模块的作用:模块是代码的容器,它帮助我们将大型项目分解成小块,便于管理和重用。
2024-08-17 10:42:32
537
原创 python基础(五)
(1)函数的定义函数的定义以 def 关键词开头,语法格式为:def 函数名(参数列表):函数体[return [返回值]]各参数含义如下:● 函数名:一个符合 Python 语法的标识符,但不建议使用 a、b、c 这类简单的标识符作为函数名,函数名最好能够体现出该函数的功能;● 参数列表:任何传入参数和自变量必须放在圆括号中间,用于定义参数;可以定义多少个,多个参数之间用逗号 , 分隔。● [return [返回值] ]:整体作为函数的可选参数,用于设置该函数的返回值。
2024-08-16 10:02:54
792
原创 python基础(四)
set 集合是可变序列,程序可以改变序列中的元素;frozenset 集合是不可变序列,程序不能改变序列中的元素。set 集合中所有能改变集合本身的方法,比如 remove 函数、discard 函数、add 函数等,frozenset 都不支持;set 集合中不改变集合本身的方法,fronzenset 都支持。两种情况下可以使用 fronzenset 集合:● 当集合的元素不需要改变时,我们可以使用 fronzenset 替代 set,这样更加安全。
2024-08-15 14:51:57
846
原创 python基础(三)
条件判断是通过一条或多条判断语句的执行结果(True 或者 False)来决定执行的代码块。在 Python 语法中,使用 if、elif 和 else 三个关键字来进行条件判断,Python 中 if 语句的一般形式如下:if 条件表达式_1:代码块_1elif 条件表达式_2:代码块_2else:代码块_3(1)如果 “条件表达式_1” 为 True,将执行 “代码块_1” 块语句(2)如果 “条件表达式_1” 为 False,将判断 “条件表达式_2”
2024-08-15 09:16:59
679
原创 python基础(二)
Python 中存在四种不同的数字(Number)类型,整数(int)、浮点数(float)、布尔类型(bool)和复数(complex)。
2024-08-14 09:25:17
535
原创 python基础(一)
如果在程序中用到了中文,直接输出结果很可能会出错,比如:print(“你好”)或者用于向 Python 解释器声明源代码文件所用的编码类型为“utf-8”,如果代码里有中文,打印的时候可以使中文正常显示。
2024-08-13 13:42:39
599
原创 Fiddlerd的工作原理与配置
Fiddler是一个HTTP的调试代理工具,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler 提供了电脑端、移动端的抓包、包括 http 协议和 https 协议都可以捕获到报文并进行分析;可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行 APP 弱网测试等
2022-10-09 16:26:30
363
1
原创 如何成长为一名优秀的软件测试工程师
如何成长为一名优秀的软件测试工程师一、具备出色的业务分析能力1、分析整体业务流程不了解整个公司的业务,根本就没办法进行测试2、分析被测业务数据了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么?有没有连带关系。3、分析被测系统架构用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是
2022-02-22 11:25:37
468
原创 Android APP安全测试
1、Android APP安全分析风险1.1安全威胁分析安全威胁从三个不同环节进行划分,主要分为客户端威胁、数据传输端威胁和服务端的威胁。1.2面临的主要风险客户端 数据传输 服务端反编译防二次打包组件导出Webview漏洞键盘安全屏幕截屏风险数据安全界面劫持本地拒接服务数据备份风险Debug调试风险 数据窃听中间人攻击信息泄露 业务逻辑漏洞SQL注入XSS上传漏洞暴力破解安全策略1.3Android测试思维导图思维导图
2021-12-06 09:55:03
1487
1
原创 postman接口自动化(五)xmysql 辅助操作 mysql 数据库
在进行接口测试过程中,我们经常需要通过数据库对比检查来判断接口执行的结果是否正确。但是 Postman 并没有提供数据库的查询。就无法通过 Postman 去连接数据库验证数据的正确性。好在,有一款基于 node.js 的工具 Xmysql可以将数据库的表数据转换成 Restful API 接口,返回 JOSN 格式的数据结果。重度声明:此款工具仅能用于测试环境,因为这款工具会造成严重的数据安全问题。不过测试本来就在测试环境,所以测试使用在一定的安全性意识前提下,是没有太大问题的。1. 安装部署
2020-07-27 14:55:06
336
原创 postman接口自动化(四)Newman使用并与Jenkins结合
一、Newman使用目前最流行的持续集成工具就是Jenkins,为了与Jenkins结合,那么这些自动化测试工具都必须要支持命令行执行方式,也就是说能够通过命令行来运行自动化测试的用例。为此,Newman就是 Postman 提供的命令行执行工具,可以在命令行中执行 Collection 运行过程,并生成测试报告。这样就能把 Postman 编写的接口测试用例与持续集成工具和系统构建结合起来。使用 Newman 执行 Collection ,必须把 Collection 导出为 Json 文件。导
2020-07-27 10:47:10
323
原创 postman接口自动化(三)变量设置与使用
一、环境变量环境是由一组键值对形式的环境变量构成的变量组合。在做接口测试的时候,通常需要在本地调试,或者需要在开发环境、测试环境及开发环境运行,不同的环境的域名(host)、数据库配置等设置不同。通过配置不同的环境变量值,再在请求中使用不同的值,那么可以通过切换环境来切换不同的值,以达到不用修改任何请求就能在任意环境运行。在打开的窗口中设置好环境名称和变量值即可:**VARIABLE:**设置一个环境变量名称标识,通过变量名调用该变量;INITIAL VALUE:共享 Collection 用
2020-07-24 17:55:31
2120
2
原创 postman接口自动化(二)用例管理与批量运行结果分析
一、用例管理如何进行用例管理Postman 中提供了一个集合collection的概念,通过集合以及集合中的文件夹Folder为我们提供了用例的管理方式。我们可以粗略的将用例分为以下三个层级:第一级:Collection,针对测试的一个项目;第二级:Folder,针对模块;第三级:Folder, 针对单个接口。如果要进行流程测试,还可以建子文件夹,将流程中用到的请求集中在一起,方便运行和管理。可以点击 Collection 后面的星号将 Collection 置顶。如何新建 Collec
2020-07-24 15:38:07
822
原创 postman接口自动化(一)postman界面与断言介绍
一、postman介绍首先安装 Postman,直接安装即可。安装好后,我们来看看界面。创建一个账号,也可以不注册,直接点右上角 x 关掉即可。不注册并不影响正常使用,只有当你需要分享用例和团队协作才需要注册账号。首先左边部分依次是:History: 请求发送的历史记录Collections: 请求集合,其实就是用来管理用例的,可以将请求保存集合中,批量管理和运行,同时才能够使用变量来处理接口之间的数据依赖APIS: Postman 新推出接口设计、文档管理、接口测试协作的功能其次是右边部分
2020-07-24 14:00:08
752
原创 postman解决token传参问题
postman解决token传参问题问题描述:有一个登陆接口获取token,其他接口再次访问都要带上token解决方案:1、在登陆接口访问后设置Postman的环境变量(Environment),例如设置环境变量名:token,值为登陆接口访问成功后,在responseBody中的token值,如何设置请看下面具体描述。2、访问其他接口时token值直接读取变量即可。Postman里面获取变量的语法为:{{变量名}}具体步骤:1、登录接口介绍返回值中有token值, 这个值怎么在访问log
2020-06-30 15:17:49
584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人