
Python
文章平均质量分 75
bug捕手
十年铸剑,只为炉火纯青;一朝出鞘, 定当倚天长鸣。
展开
-
【AltWalker】模型驱动:轻松实现自动化测试用例的生成和组织执行
AltWalker是一个基于图模型的自动化测试框架,用于编写、执行和管理基于模型的测试。它主要用于测试复杂系统,如Web应用程序、移动应用程序等。它支持运行用.NET/C#和Python3编写测试模型用例。通过以上步骤,我们了解了如何使用AltWalker进行模型驱动的自动化测试。AltWalker是一个强大的测试框架,可以帮助我们更高效地编写、执行和管理测试用例。当然,基于模型的测试也有一些局限性,如模型的准确性和完整性对测试结果影响较大,模型构建和维护可能需要额外的成本等。原创 2023-08-02 15:24:43 · 638 阅读 · 0 评论 -
【测试联调】如何在前后端测试联调时优雅的构造异常场景
通过实现合适的异常处理机制,可以确保用户在遇到问题时获得有用的反馈,验证这些处理机制能提高系统的稳定性和安全性。iptables功能强大但是需要手动操作,代理功能直接,但是应用场景较为有限,大家可以根据实际情况进行选择。原创 2023-08-02 15:19:07 · 521 阅读 · 0 评论 -
【Python】从同步到异步多核:测试桩性能优化,加速应用的开发和验证
在开发测试桩时,我们需要根据实际需求和后端服务的特点来设计测试桩的行为,为的是使其更接近实际后端服务的行为,确保测试结果具有更高的可靠性和准确性。可能还有其他的优化方案,欢迎大家提出。希望本文能对大家的工作带来帮助。原创 2023-08-02 15:15:14 · 1733 阅读 · 0 评论 -
无限遍历,Python实现在多维嵌套字典、列表、元组的JSON中获取数据
初始时,博主将存储获取数据的临时list放到了函数的参数里,这样调用时候就可以少传一个参数,但是后来发现,单次调用的时候不存在问题,但是多次调用的时候,会同时返回上一次调用的值,最初的做法是写一个函数,每次对传入的数据进行类型判断,然后根据数据类型做对应的处理,后来发现如果这样,实际有多少层数据就要做多少次判断。调试过程中发现,函数的调用特别符合递归的规律,但是和一般递归的略有不同,需要两个函数相互调用递归。格式的,所以怎样通过一个key值,获取到被包裹了多层的目标数据成为了摆在我面前的一个问题。原创 2023-08-02 15:11:54 · 1866 阅读 · 0 评论 -
【Python】模块学习之matplotlib柱状图、饼状图、动态图及解决中文显示问题
众所周知,通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象。而大多数编程语言都有自己的绘图工具,matplotlib就是基于Python的绘图工具包,使用它我们可以仅仅使用几行代码就生成 饼图、直方图、功率谱、条形图、错误图、散点图、气泡图,甚至生成动态图型也都很轻松。而且它的绘图方法丰富,可以在各种交互式环境中运行,且生成的图像质量高、兼容各种硬拷贝格式。原创 2023-08-02 15:09:54 · 1943 阅读 · 0 评论 -
【Python】数据可视化利器PyCharts在测试工作中的应用
PyCharts 是一个基于 Python 的数据可视化库,它支持多种图表类型,如折线图、柱状图、饼图等。PyCharts 提供了简洁的 API,使得用户能够轻松地创建各种图表,同时支持个性化的配置,以满足不同需求。PyCharts 的底层依赖于 ECharts,这使得它在功能和性能上都具有很高的优势。PyCharts 是一个功能强大、易于使用的 Python 数据可视化库。本文以测试工程师的日常工作中的一些数据举例,演示了如何展示测试数据,从而提高工作效率,更好地服务于项目进展。原创 2023-08-01 16:36:23 · 1681 阅读 · 0 评论 -
Python元祖及字典小练习
和list的区别,不能改变元组中的对象,对象里面的值可以修改。字典的key特点:不能为重复,不能使用可变对象。如果直接()是数学运算, 如果(,)是元组。之后我会在评论区挨个私信发给你们~元组中包含容器类(列表,字典等)遍历key 和 value。字典存储有对应关系的。原创 2023-07-25 15:01:46 · 157 阅读 · 0 评论 -
Python增删改查小练习
操作 ['a', 'b', 'c', 'd', 'e', 'f', 'g'], 拼成字符串”adg”做一个小图书馆程序,图书馆的书放到一个list里面保存。Extend 将列表的元素分开,插入到之前列表的尾部。把一个字符串”abcdefg”,插入到一个list中。Lend:减去一本书存在的书,如果不存在,提示一下。Insert(x,xx) 在指定的位置插入。Append(“xx”) 插入到列表尾部。Remove(元素名字) :删除该元素。Pop(): 将最后一个元素删除。Clear():将所有元素清空。原创 2023-07-25 14:56:29 · 283 阅读 · 0 评论 -
Python小练习实践
在交互模式下,可以不写print;默认调用 print(repr(a))文件模式,必须写print。If语句Input语句,返回的是字符串len(),长度小练习:输入一个自己的生日月份写个if 和else 判断一下当月是否是你的生日月不同类型的不能做比较RangeFor i in xxx,xxx必须是一个序列,包括字符串,数组,元组等步长Break 和continueBreak:退出循环Continue:退出本次循环,继续执行下一次1)只输出10,9,8,7,6,5。原创 2023-07-25 14:50:30 · 236 阅读 · 0 评论 -
Python案例变量实践
什么是程序?数据结构+算法数据结构:存储和使用数据的方式算法:解决问题的步骤解决一个问题的时候,分析问题,设计算法,编写程序,调试,出结果变量:可以改变的常量:不可以改变的Python里面只有变量,是弱语言类型,不需要显式的声明变量如果看到 name “” is not defined,两种原因:1)没有赋值 2)变量名敲错a=11是在内存中保存的a是个指针,指针存的是1在内存中的地址,所以使用a的时候,可以访问到内存的1。原创 2023-07-25 14:44:37 · 117 阅读 · 0 评论 -
Python2、python3的安装
安装两个python文件,一个python2,一个python3;py -3 -m pip install nose=1.3.1 安装指定版本 (自动将之前的卸载掉)除了执行python文件的时候不用-m,其他都用。3)如果有缩进的话,不建议使用交互模式;py -3 -m pip uninstall nose 卸载。py -3 -m pip install nose 安装。py -3 进入python3交互模式。如果是python2,将-3换成-2。2)执行:py -3 路径+文件。原创 2023-07-25 14:36:42 · 585 阅读 · 0 评论 -
Python_dir+getattr_获取模块下所有属性对象
带参数时,以列表类型返回参数的属性、方法的变量名。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。通过执行结果可以看出,获取的变量名全为字符串,可以使用getattr()方法根据变量名获取对应的属性对象。该方法不带参数时,以列表类型返回当前范围内的变量名,变量包括常量、方法、类等。最后祝大家早日达到测试的天花板!原创 2023-07-06 15:24:01 · 438 阅读 · 0 评论 -
Python_字典包含关系判定方法
在实际编程中我们经常需要判断一个字典是否包含另一个字典的所有键值对。Python中的字典是一种无序的数据结构,它由键和对应的值组成。本文将介绍一种种简单而有效的方法来判定字典之间的包含关系。最后祝大家早日达到测试的天花板!原创 2023-07-06 15:25:25 · 574 阅读 · 0 评论 -
Python_对象类型判断
如果导入的最后个节点如果是package名称,但是类型判断结果仍是module类型。这是因为导入package时,实际实际导入的是该package下的__init__.py。Python的module指的是Python包中以.py结尾的名称,包含了 Python 对象定义和Python语句。在Python2中,如果定义的class未继承 object (比如A),那么它的类型是classobj。module类型判断指的是import 的最后个节点导入的是modulle。最后祝大家早日达到测试的天花板!原创 2023-07-06 15:23:28 · 1021 阅读 · 0 评论 -
Python_列表比较大小
从第一个元素顺序开始比较,如果相等,则继续,返回第一个不相等元素得比较结果。如果所有元素比较均相等,则长的列表大,一样长则两列表相等。最后祝大家早日达到测试的天花板!原创 2023-07-06 15:18:33 · 1448 阅读 · 1 评论 -
Python_字符串常用操作
定义一个length长度的字符串,如果string长度小于length,则将string居中。定义一个length长度的字符串,如果string长度小于length,则将string。定义一个length长度的字符串,如果string长度小于length,则将string。,不足部分用fill_str进行填充,fill_str可缺省,默认空格。,不足部分用fill_str进行填充,fill_str可缺省,默认空格。,不足部分用fill_str进行填充,fill_str可缺省,默认空格。原创 2023-07-06 15:24:14 · 133 阅读 · 0 评论 -
Python_关于python2的encode(编码)和decode(解码)的使用
在使用Python2时,我们习惯于在文件开头声明编码不然在文件中出现中文,运行时就会报错 SyntaxError: Non-ASCII character... 之类,这是因为python2的文件编码默认使用的如果在开头声明了编码,文件编码就会变为utf-8。原创 2023-07-05 14:58:40 · 2921 阅读 · 0 评论 -
Python_多任务:进程、线程、协程
进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序、数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志。原创 2023-07-05 14:55:42 · 191 阅读 · 0 评论 -
Python_魔法属性和方法
在接下来的文章中,我将与大家伙一起探讨Python编程语言中的魔法属性和方法。Python作为一门功能强大且灵活的编程语言,提供了许多特殊的属性和方法,被称为“魔法属性和方法”。这些特殊的属性和方法可以帮助我们实现更高级的功能,例如操作对象属性、修改类行为以及自定义运算符等。无论你是初学者还是有经验的开发者,本文将为你详细介绍Python中的魔法属性和方法,并帮助你更好地理解和应用它们。让我们一起往下看吧!原创 2023-07-05 14:52:35 · 235 阅读 · 0 评论 -
Python_【__import__】_ 动态导入模块、类对象或函数
在 Python 编程中,灵活性和可扩展性是其受欢迎的特点之一。其中一个强大的功能是动态导入模块、类对象或函数,Python 提供了一个内置函数 __import__ 来实现这一功能。通过使用 __import__ 函数,可以在运行时根据条件或参数值来决定导入不同的模块,或者动态获取并使用特定的类对象或函数。这种动态导入的能力为开发人员提供了更大的灵活性,使得代码可以根据不同的情况进行动态调整和扩展。除了常规的模块导入外,__import__ 函数还支持按需导入子模块或指定路径下的模块,从而使得原创 2023-07-05 14:42:57 · 1621 阅读 · 0 评论 -
Python_traceback_捕获全部异常信息
在捕获全部异常信息时,可以使用 try-except 块来包裹可能引发异常的代码段,然后在 except 块中使用 traceback 模块来输出完整的异常信息,这样无论是语法错误、运行时错误还是其他类型的异常,都能够获取到引发异常的具体位置和上下文信息。通过使用 traceback 模块,可以轻松地获取有关引发异常的代码位置、函数调用堆栈以及其他相关信息,这些信息对于定位和修复 bug 非常有用,并且能够提供更准确的错误报告。如果大家对此有更多的疑问,请随时提问。最后祝大家早日达到测试的天花板!原创 2023-07-05 14:37:40 · 559 阅读 · 2 评论 -
Python 元类实现ORM
在讲使用元类创建ORM之前,必须了解__new__这个内置方法的作用。__new__方法负责创建一个实例对象,在对象被创建的时候调用该方法它是一个类方法。__new__方法在返回一个实例之后,会自动的调用__init__方法,对实例进行初始化。如果__new__方法不返回值,或者返回的不是实例,那么它就不会自动的去调用__init__方法。__init__ 方法负责将该实例对象进行初始化,在对象被创建之后调用该方法,在__new__方法创建出一个实例后对实例属性进行初始化。原创 2023-07-04 16:47:47 · 260 阅读 · 0 评论 -
Python_元类
我们知道,实例对象是由类创建的,那么类又是由什么创建的呢?答案就是元类。元类基本不会用到,但是就算不用,也应该去熟悉一下概念。元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象,不是吗?但是我们已经学习到了Python中的类也是对象。MyClass = MetaClass() # 使用元类创建出一个对象,这个对象称为“类”my_object = MyClass() # 使用“类”来创建出一个对象,这个对象称为“实例对象”这是因为函数type实际上是一个元类。原创 2023-07-04 16:44:41 · 139 阅读 · 0 评论 -
python的作用域、globals()-全局变量 和 locals()-局部变量
全局变量的生存周期是在整个程序执行期间有效,而局部变量的生存周期只在当前作用域中有效,一旦这个作用域不存在了,比如函数执行退出了,变量的生存周期就结束了,生产周期结束的变量不能被访问,也就是说。在python的作用域规则里面,创建变量时一定会在当前作用域里创建同样的变量,但访问或修改变量时,会在当前作用域中查找该变量,如果没找到匹配的变量,就会依次向上在闭合作用域中进行查找,所以在函数中直接访问全局变量也是可以的。我们自己定义的全局变量均在python内建的globals()函数中,以字典的形式保存。原创 2023-07-04 16:46:17 · 398 阅读 · 0 评论 -
Python_装饰器
讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切。每个人都穿的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个办法就是把内裤改造一下,让它变得更厚更长,这样一来,它不仅有遮羞功能,还能提供保暖,不过有个问题,这个内裤被我们改造成了长裤后,虽然还有遮羞功能,但本质上它不再是一条真正的内裤了。于是聪明的人们发明长裤,在不影响内裤的前提下,直接把长裤套在了内裤外面,这样内裤还是内裤,有了长裤后也不冷了。原创 2023-07-04 16:45:27 · 140 阅读 · 0 评论 -
Python_闭包
首先看一下维基上对闭包的解释在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。简单来说就是一个函数定义中引用了函数外定义的变量,并且该函数可以在其定义环境外被执行。原创 2023-07-04 16:41:28 · 148 阅读 · 0 评论 -
Python web框架开发 - WSGI协议
WSGI允许开发者将选择web框架和web服务器分开。可以混合匹配web服务器和web框架,选择一个适合的配对。比如,可以在Gunicorn 或者 Nginx/uWSGI 或者 Waitress上运行 Django, Flask, 或 Pyramid。真正的混合匹配,得益于WSGI同时支持服务器和架构。web服务器必须具备WSGI接口,所有的现代Python Web框架都已具备WSGI接口,它让你不对代码作修改就能使服务器和特点的web框架协同工作。原创 2023-06-30 14:55:19 · 893 阅读 · 0 评论 -
Python_上下文管理器
上下文管理器(context manager)是 Python 编程中的重要概念,用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存)。它的语法形式是with...as...为了确保一些系统资源得以正确释放,我们经常会用到 try ... excepte ... finally 语句。如:try:print(e)finally:f.close()上面的代码模式,从用复用代码的模式来讲,并不够好。原创 2023-06-30 14:42:51 · 760 阅读 · 2 评论 -
Python中类的变量,一个下划线与两个下划线的区别
使用a.gender定义的实例属性属性不是私有变量,这种方式可以看做是为实例对象a增加了一个__gender属性,这个属性只有实例对象a有,其他实例对象没有,所以其他实例对象也访问不了。print(a.__dict__) # {'_name': 1, '_A__age': 2, '__gender': '男'}结合上面代码,问:若使用 a.__gender = "男" 定义一个实例属性,这个实例属性是否私有变量?print(a._A__age) # 返回 2。a.__gender = "男"原创 2023-06-30 14:36:29 · 295 阅读 · 0 评论 -
Python 利用@property装饰器和property()方法将一个方法变成属性调用
在创建实例属性时,如果直接把实例属性暴露出去,虽然写起来简单,但是存在一些风险,比如实例属性可以在外部被修改。为了限制外部操作,可以通过一个方法来设置成绩,再通过一个来获取成绩,在这些方法中还可以增加一些检查操作,比如在get_score中增加获取权限操作,在set_score中增加输入检查操作。')')s.set_score("aaa") # 语法报错现在,对任意的Student实例进行操作,就不能随心所欲地设置score了。原创 2023-06-30 14:34:24 · 461 阅读 · 0 评论 -
Python_类对象、实例对象、类属性、实例属性、类方法、实例方法
类属性和类方法不会被复制,但是我们可以通过实例对象调用它们,这是因为每个创建的实例对象都会添加__class__属性,该属性指向类对象,因此能够通过实例对象调用类属性和类方法。类属性和类方法是共用的(或全局的),不管任何类对象或实例对象修改了类属性或方法中的变量值,所有调用的地方都会受影响。没有self.是局部变量。# 类属性可以被类对象调用,也可以被实例对象调用,调用方式是【对象.类属性】调用。# 类方法可以被类对象调用,也可以被实例对象调用,调用方式是【对象.类属性】调用。原创 2023-06-30 14:34:46 · 494 阅读 · 0 评论 -
Python使用WMI模块获取Windows系统的硬件信息,并使用pyinstaller库编译打包成exe的可执行文件
今天我听到一个非常酷的技巧,它让我不禁想要与你分享。你知道Python可以使用WMI模块来获取Windows系统的硬件信息吗?然后,你还可以使用pyinstaller库将代码编译打包成exe的可执行文件!这个技巧简直太神奇了。如果你也和我一样喜欢尝试新技术,那么这篇引流文章肯定会给你带来不少启发。跟着我的步骤走,让你的代码变得更加高效、易用,让你成为更牛逼的程序员!原创 2023-06-12 17:03:03 · 1185 阅读 · 0 评论 -
零基础也能轻松搭建Python环境和pycharm
Python是一种功能强大且易于学习的编程语言,越来越受到开发者的青睐。但是,对于零基础的初学者来说,在搭建Python环境和安装pycharm方面可能会感到困惑和无从下手。如果你也有类似的经历,不要担心!本文将向你展示如何轻松地搭建Python环境和安装pycharm,并介绍一些pycharm的基本设置和使用技巧,让你能够快速掌握这个强大的编程工具。无需任何背景知识,只需要跟随我们的步骤,就可以在短时间内完成Python环境和pycharm的配置,并开始你的Python编程之旅!原创 2023-05-04 14:30:30 · 453 阅读 · 0 评论