python
伤心胖虎在线摇人
这个作者很懒,什么都没留下…
展开
-
re模块与正则
re解析数据常用方法re.findall(pattern, string[, flags])import restr = '123我是sjx456我是SJX'#pattern:sjxpattern = re.compile('sjx', re.I)'''• re.I(全拼:IGNORECASE): 忽略大小写• re.M(全拼:MULTILINE): 多行模式,改变'^'和'$'的行为• re.S(全拼:DOTALL): 点任意匹配模式,改变'.'的行为• re.L(全拼:LOCALE原创 2021-09-06 15:03:46 · 92 阅读 · 0 评论 -
queue与threading
import queueimport threadingimport time"""队列queue.Queue(maxsize=0): 先进先出,无参数默认无大小queue.LifoQueue(maxsize=0): 后进先出queue.PriorityQueue(maxsize=0): size最小的先出queue.SimpleQueue: 先进先出且不支持task_done和join方法队列的方法q.qsize(): 队列大小q.empty(): 队列是否原创 2021-09-06 14:05:46 · 283 阅读 · 0 评论 -
ddt与@pytest.mark.parametrize传入字典参数化例子
yaml数据:introduce: - name: 'A' age: '20' job: '测试工程师' - name: 'B' age: '20' job: '开发工程师'interface: - url: 'www.baidu.com' headers : {'Content-Type': 'application/json'} body: {'quest_ids': xxx} - url:原创 2021-08-10 14:07:56 · 966 阅读 · 0 评论 -
locust压测(1)
安装:pip3 install locust代码:from locust import User, task, between, constant, TaskSet, HttpUserclass Tasks(TaskSet): @task(1) def a(self): print('1') @task(9) def a(self): print('2') class MyUser(User):原创 2021-05-26 17:30:27 · 2206 阅读 · 0 评论 -
pytest.mark.paramatrize()功能一点通
Pytest中装饰器@pytest.mark.parametrize(‘参数名’,list)可以实现测试用例参数化,类似unittest的@ddt,但是比ddt要方便一点。参数名唯一时,list内直接写值,用例数量等于list内数据数量。多参数时,list中为多个元组,每个元组内的值的数量等于参数数量,用例数量等于元组数量。import pytestlist1 = ['what?', 'when?', 'where?', 'who?', 'how?']list2 = [(1, '一'), (2,原创 2021-04-08 14:57:53 · 513 阅读 · 0 评论 -
执行想要执行的用例:pytest.mark.自定义标签用例
功能介绍:如标题定义了hello和hi两个标签指令:pytest -vm hi py文件名/目录 只执行hi标签用例1、-v输出详细的信息2、-s 输出测试函数或测试方法print内容3、-k 按分类执行测试点4、-m 进行分组执行5、-x 执行失败立刻停止6、–maxfail执行失败的最大次数7、–tb=line 错误信息在一行展示import pytestclass Test1(object): def test_1(self): pass原创 2021-04-08 14:27:25 · 247 阅读 · 0 评论 -
pytest.mark.xfail()功能一点通
功能描述:预判用例失败。XPASS表示与预期不符,用例通过了。XFAIL表示与预期相符,用例失败。import pytest@pytest.fixture(scope='session')def count(): a = 1 b = 2 c = a + b return c@pytest.mark.xfailclass Test1(object): def test_1(self, count): assert count == 3原创 2021-04-08 13:41:29 · 401 阅读 · 0 评论 -
pytest.mark.skip()功能一点通
为了避免由于环境发生改变或者其他原因造成的测试脚本的阻塞,可用skip跳过某些用例。1.@pytest.mark.skip()的功能是跳过,可装饰于类与方法。括号内(reason=‘跳过原因’)2.@pytest.mark.skipif()的功能是跳过,可装饰于类与方法。括号内(判断, reason=‘跳过原因’)3.pytest.skip()也是跳过,不同于1的是它一般用于方法内,当进行if条件判断后执行该语句。1则更类似于一个烙印,打上后直接跳过。import pytestclass Te原创 2021-04-08 10:51:05 · 391 阅读 · 0 评论 -
pytest.fixture()功能一点通
pytest.fixture的作用1:与setup/tear_down的功能相同,相比之下更为灵活,由参数所控制其作用域。写法一:fixture装饰函数内,yield之前的语句起到前置作用,之后的语句起到后置的作用。作用域关键字scope,if scope='function'的话,每个测试函数执行一遍前后置。if scope='class'的话,每个测试类执行一遍前后置。以此类推。import pytest'''@pytest.fixture(scope='function')@pytes原创 2021-04-08 10:10:11 · 178 阅读 · 1 评论 -
Request接口自动化测试(yaml参数化)
作为一个测试工程师,当你拿到一个接口文档时,你需要考虑的几件事。1.接口是否已经开发完毕?2.接口是否较为复杂?3.有没有实施回归测试的必要?如果三个问题答案都为是,那么就有必要写一个自动化测试项目,方便以后进行回归测试。那针对自动化测试项目,我们要考虑到如何设计测试用例以保证覆盖到更多的功能,针对这些功能需要的一些数据,以及如何将数据传入脚本当中。本文将演示通过python的request/unittest/yaml库进行自动化测试。思路,创建一个yaml文件,里面是各个接口需要的数据以及返回原创 2021-02-23 10:49:23 · 2022 阅读 · 4 评论 -
__init__.py文件和__init__(self)函数的作用
让先看一下代码包结构:在TestCase下面有init.py,animal.py,case.py三个文件。我们在python面向对象编程中可以经常看到def __ init __(self):这是一个初始化函数,当你实例化一个类对象时,python会对该对象进行初始化。举个例子:这是animal.py模块的代码,里面有Dog和Cat两个类。每个类中有init()函数。class Dog(object): def __init__(self, name, colour):原创 2021-02-22 16:08:42 · 269 阅读 · 1 评论 -
关于INTERNALERROR>pluggy.manager.PluginValidationError: unknown hook ‘pytest_namespace以及pycharm虚拟环境新建
写这篇文章的原因是,python运行的虚拟环境由于不知缘由的行为而发生了改变导致报错:INTERNALERROR>pluggy.manager.PluginValidationError: unknown hook 'pytest_namespace。其他情况也有可能报这个错误,这里推荐一个方法,新建虚拟环境。不保证能够解决全部此类问题。 作者自己是排除了模块版本的差异,路径错误等所有问题才逼不得已换环境的。第一步:新建一个目录,此目录作为新的虚拟环境目录第二步:点击setting第三步原创 2020-12-22 20:26:33 · 1412 阅读 · 4 评论