- 博客(44)
- 收藏
- 关注
原创 pytest学习实践-day45:单元测试- 针对方法进行单元测试举例:1.写测试驱动-即写测试类 -TDD方式 2.写测试函数直接测试
--- 单元测试:简单的做法,写测试函数单独测试被测函数 -----"""TDD:测试驱动:写一个测试类,测试一个函数""""""如果是质数,返回true""""""测试 is_prime"""
2024-04-18 15:40:19
219
1
原创 pytest学习实践-day44:单元测试- 针对类文件测试举例
Launching pytest with arguments test_survey.py::TestSurvey --no-header --no-summary -q in E:\learnPython\01_01_单元测试_实践。--------------执行结果如下-------------------question = "你的年纪是多少?"""显示收集的反馈信息""""""显示问题""""""收集调查问卷"""# 问题1: 你的年纪是多少?# 问题1: 你的年纪是多少?
2024-04-18 15:28:38
282
原创 pytest学习实践-day43:allure实践04:allure框架介绍:
PS E:\learnpython\01_01_pytest_Allure框架介绍> allure serve ..\results\tmp\。@allure.severity() 用例等级 包括:blocker,critical,normal,minor,trivial。1.1 pytest .\06_pytest-Allure实践.py --alluredir=..\results\tmp\。@allure.testcase(url) 测试用例链接 链接到测试用例系统。
2024-04-12 08:47:55
403
原创 pytest学习实践-day42:allure实践03:定制_描述_标题_链接_以及用例严重等级
allure.link('https://10.108.17.181:65532/zentao/bug-browse-37.html', '禅道地址')@allure.description_html(""" 这个是文案描述 """)@allure.title("测试用例-功能-A1")print("测试通过网页描述")print("测试通过网页描述")<h1>测试带一些复杂描述</h1>
2024-04-12 08:46:44
94
原创 pytest学习实践-day41:allure实践02:定制详细步骤说明
allsure.issue \@allsure.link \@allsure.test_case 添加bug,链接,和测试用例。@allsure.feature\@allsure.story\@allsure.epic 添加项目的功能和模块。@allure.step("在Allure中声明步骤名称:step_zc_01")print("-----执行步骤01:我是周冲-----")print("-----执行步骤02:我是周冲-----")print("-----执行步骤03-----")
2024-04-12 08:44:53
110
原创 pytest学习实践-day40:allure实践
1. pytest .\06_pytest-Allure实践.py --alluredir=..\results\tmp\。"""使用标签 @pytest.mark.run(order=3) ,order 对应 数字的数值 标记测试顺序"""# 使用 pytest-assume 插件,取消断言失败后用例整体失败不继续执行问题。# 使用 with + assume 假设 执行,忽略断言失败继续执行。print('测试完成 order=1')print('测试完成1')print('测试完成')
2024-04-11 09:47:10
166
原创 pytest学习实践-day39:关于插件的安装、管理、设置等
7.pytest-django: 使用 pytest 集成为 Django应用编写测试。1.pytest-xdist: 将测试分发到CPU和远程主机,以盒装模式运行。3.pytest -p no: NAME 通过名称禁止插件/注销插件。4.pytest-timeout:基于功能标记或全局定义的超时测试。2.pytest --trace -config 查询激活的插件。8.pytest-cov: 覆盖率报告,与分布式测试兼容。3.pytest-bdd: 使用行为驱动的测试编写测试。
2024-04-11 09:41:23
347
原创 pytest学习实践-day38:06_pytest-xdist插件_测试并发执行
"""使用标签 @pytest.mark.run(order=3) ,order 对应 数字的数值 标记测试顺序"""# 使用 pytest-assume 插件,取消断言失败后用例整体失败不继续执行问题。# 使用 with + assume 假设 执行,忽略断言失败继续执行。print('测试完成')print('测试完成')print('测试完成')# 2.测试收集检查。
2024-04-11 09:39:46
184
原创 pytest学习实践-day37:05_pytest-pep8插件_代码格式检查--坑爹的pep8,经常报错
2.本地目录执行: pytest .\02_pytest-flakes插件_静态代码检查.py --pep8。rootdir: E:\learnPython\01_01_pytest插件使用。1.安装:pip install pytest-pep8。
2024-04-11 09:36:59
433
原创 pytest学习实践-day36:04_pytest-ordering插件_调整执行顺序
"""使用标签 @pytest.mark.run(order=3) ,order 对应 数字的数值 标记测试顺序"""# 使用 pytest-assume 插件,取消断言失败后用例整体失败不继续执行问题。# 使用 with + assume 假设 执行,忽略断言失败继续执行。print('测试完成')print('测试完成')print('测试完成')
2024-04-11 09:34:08
244
原创 pytest学习实践-day35:03_pytest-html_简易测试报告使用
pytest -s -rA .\02_pytest-flakes插件_静态代码检查.py --html=./report/html/report01.html。执行某个模块文件,输出报告(就是执行 day34 对应的代码输出到 ./report/html/report01.html)CMD :输入以下命令。
2024-04-11 09:32:44
97
原创 pytest学习实践-day34:02_pytest-flakes插件_静态代码检查
CMD 执行 pytest --flakes .\02_pytest-flakes插件_静态代码检查.py。# 使用 pytest-assume 插件,取消断言失败后用例整体失败不继续执行问题。# 使用 with + assume 假设 执行,忽略断言失败继续执行。CMD 安装 pip install pytest-flakes。print('测试完成')print('测试完成')print('测试完成')
2024-04-11 09:30:30
236
原创 pytest学习实践-day33:01_pytest-assume插件_忽略断言失败中断用例
使用 pytest-assume 插件,取消断言失败后用例整体失败不继续执行问题。# 使用 with + assume 假设 执行,忽略断言失败继续执行。print('测试完成')print('测试完成')print('测试完成')
2024-04-11 09:28:55
152
原创 pytest学习实践-day32: fixture学习11:数据驱动和参数传递-04:ids参数使用-设置用例的id
pytest.mark.parametrize('input1, expected', [(1, 3), (2, 4)], ids=["用例01", "用例02"])"""ids参数就是id,是一个可执行对象,用于生成测试id。或者一个列表、元组。指明所有新增用例的测试id。pytest.main(["-q -rA", "05_ids参数_设置用例名称或id.py"])# ids 最主要作业,进一步细化测试用例,
2024-04-11 09:19:10
296
原创 pytest学习实践-day31: fixture学习12:数据驱动和参数传递-04:ids参数对应内容 乱码问题处理
"""方法二:使用Python内置库pandas读取Excel表数据""""""方法1: 使用Python内置库xlrd读取Excel表数据"""作者最近未实现应用,目前只发一些实践成功可用的内容。# 读取sheet内容。
2024-04-11 09:17:05
129
原创 pytest学习实践-day28: fixture学习09:数据驱动和参数传递-02:使用fixture实现参数化.py
{'case': 'case-002:账号为空,密码为空登录',{'case': 'case-003:账号为空,密码非空',{'case': 'case-004:账号存在,密码为空',login_data = [{'case': 'case-001:正确账号密码登录',{'case': 'case-005:账号不存存在','usr': '', # 账号或密码为空。'case': '账号或密码为空','case': '账号不存在','case': '登入成功','case': '密码错误',
2024-04-11 09:12:47
294
原创 pytest学习实践-day27: fixture学习08:数据驱动和参数传递-01:使用 @pytest.mark.parametrize 标记多个参数
--以下是:1.使用 @pytest.mark.parametrize 标记多个参数# 单个参数应用@pytest.mark.parametrize("name", [1, 2, "张三", 'vincent', {1,2,3}])# 多个参数应用@pytest.mark.parametrize("name,age", [("张三", 18), ("里斯", 19)])# 多个标记用于参数化,进行排列组合验证。
2024-04-11 09:10:42
467
原创 pytest学习实践-day26: fixture学习07:指定某个函数调用固件函数,或者多个函数(用于执行依赖条件)
print("\n 登录")print("执行01")print("执行02")print("执行03")print("执行04")
2024-04-11 09:04:49
82
原创 pytest学习实践-day25: fixture学习06:全部函数调用,不需要传入标记的函数名
print("\n 吃水果:{}".format(fruit))print("\n 吃水果:%s" % fruit)# 每次执行使用不同数据,一次只使用一个。# 将列表数据依次返回。
2024-04-11 09:02:28
118
原创 pytest学习实践-day24: fixture学习05:使用params传递不同数据
print("\n 吃水果:{}".format(fruit))print("\n 吃水果:%s" % fruit)# 每次执行使用不同数据,一次只使用一个。# 将列表数据依次返回。
2024-04-11 09:01:09
115
原创 pytest学习实践-day23: fixture学习04:应用在配置销毁_02_addfinalizer
print("\n 在每个用例前执行完成后执行的 teardown1")print("\n 在每个用例前执行完成后执行的 teardown2")先执行demo_finalizer2,再执行demo_finalizer1。----yield 和 addfinalizer 区别 ----print("\n === 执行了用例: test_01 ===")print("\n === 执行了用例: test_02 ===")print("\n === 执行了用例: test_03 ===")
2024-04-10 15:56:58
185
原创 pytest学习实践-day22: fixture学习03:fixture_03_应用在配置销毁_01_yield
3.moudle-每个.py 调用一次,这类经常使用,比如WEBUI 首次打开浏览器,其他函数都加该依赖;# test_6执行open_bro,遇到 yield 返回,其他函数遇到调用open_bro,1.function-每个函数或方法都会调用----常用。print('执行 teardown')print("打开百度浏览器")print('最后关闭浏览器')print('用例5')print('用例6')print('用例7')print('用例8')print('用例9')
2024-04-10 15:55:49
299
原创 pytest学习实践-day21: fixture学习02: fixture应用在初始化设置(数据初始化)
test_data = [{'name': '张1', 'age': '18'}, {'name': '张2', 'age': '19'}, {'name': '张3', 'age': '19'}]1.导入 pytest, 创建data函数,在data函数上加@pytest.fixture();# 1.被依赖的函数,比如数据准备,一般不以 test_开头,所以不执行;"""pytest.fixture()设置文档读取初始化函数"""""" fixture应用在初始化设置(数据初始化)
2024-04-10 15:54:40
425
原创 pytest学习实践-day20: fixture学习01:基本的函数依赖注入
3.test_find_goods执行时未发现参数,直接执行test_find_goods;2.在要使用测试方法种传入(等克鲁函数名称),也就是先执行login()函数,再执行测试方法。# 1.被依赖的函数,比如登录,一般不以 test_开头,所以不执行;print("\n 用例2,不登录执行浏览商品功能2")print("\n 用例1,登录后执行查看购物车1")print("\n 用例3,登录执行支付功能3")print("\n 用户名 zc登录")""" fixture基本的函数依赖注入。
2024-04-10 15:53:19
353
原创 pytest学习实践-day18:@pytest.mark.xfail 使用场景说明
部分问题未修改,需要标记预期失败,此时可以用到 @pytest.mark.xfail;@pytest.mark.xfail(reason='该功能存在异常')print("****执行 test_01 ****")print("****执行 test_02 ****")print("****执行 test_03 ****")# 可能异常:预期失败用例被执行成功,此时不符合预期结果。# @pytest.mark.xfail 使用场景说明。# 被标记用例会执行,但失败时不再显示堆栈信息;
2024-04-10 15:46:12
351
1
原创 pytest学习实践-day15 :skipif 标签 跳过用例执行
pytest.mark.skipif(case_type == 'A', reason='A类用例不执行,忽略')@pytest.mark.skipif(case_type == "B", reason='B类用例不执行,忽略')@pytest.mark.skipif(case_type == 'A', reason='A类用例不执行,忽略')# 1.单个用例中使用 单个 @pytest.mark.skipif 装饰器。
2024-04-10 15:40:26
303
1
原创 pytest学习实践-day15 :skip: 单独跳过指定的用例
"""使用 pytest.skip方法, pytest.skip("解释文案", allow_module_level=True),该模块后续将不执行 """"""allow_module_level = True 设置是:跳过整个模块,一般不在函数种使用,所以一般用在模块开头,不在函数内部;pytest.skip("系统是win32,忽略用例执行", allow_module_level=True)# pytest.skip在函数内部使用,仅仅跳过当前用例。
2024-04-10 15:38:15
399
1
原创 pytest学习实践-day14 :skip: 通过模块 跳过指定的用例
"""使用 pytest.skip方法, pytest.skip("解释文案", allow_module_level=True),该模块后续将不执行 """# allow_module_level = True 设置是:跳过整个模块,一般不在函数种使用,所以一般用在模块开头,不在函数内部;pytest.skip("系统是win32,忽略用例执行", allow_module_level=True)
2024-04-10 15:37:07
253
1
原创 pytest学习实践-day13- skip:通过标签跳过不想执行的用例
print("打印执行过程*************")print("打印执行过程*************")@pytest.mark.skip("该方法不可用,忽略")
2024-04-10 15:35:56
79
1
原创 pytest学习实践-day12 :执行指定包的用例
"""2.在 book 目录下新增和 setup.py 同级的目录src,在src下新建 utils包,在utils包下新增 max.py (被测文件)""""""3.在 utils包下新建 tests包,在该包下新增 测试函数(test_max)和断言""""""4. src 目录下执行 pytest --pyargs utils""""""1.在 book 目录下新增 setup.py """
2024-04-10 15:31:30
372
1
原创 pytest学习实践-day11_修改回溯信息的输出模式
pytest -l, --showlocals #打印本地变量。pytest --tb=native #python标准输出。pytest --tb=line #每个失败一行输出。pytest --tb=no #不打印失败信息。pytest --tb=auto #默认模式。pytest --tb=long #详细模式。pytest --tb=short #简短。
2024-04-10 15:29:10
346
1
原创 pytest学习实践-day10:执行指定的nodeid 的测试用例
3.1这里可以使用 --collect-only 查看用例名称,注意,这2个参数没有空格。# 循环执行2次,第一遍取 x=1,y=1;第2次 x=3,y=4。# 2.在文件目录下,指定 类名+函数名 test_one 执行。# 3.在文件目录下,指定 类名+函数名 test_two 执行。# 1.在文件目录下,指定 函数名 test_one 执行。# 3.2 使用 -k 过滤对应用例。
2024-04-10 15:28:09
467
1
原创 pytest学习实践-day9- 执行指定目录下,或者 指定匹配 方法名的用例
E:\learnPython\01_01_pytest_book\test_06_-m参数执行指定标记的用例.py:18: PytestUnknownMarkWarning: Unknown pytest.# PS E:\learnPython\01_01_pytest_book> pytest -v -m "not ps" .\test_06_-m参数执行指定标记的用例.py。"""1. 执行 pytest -v .\test_06_-m参数执行指定标记的用例.py (警告信息可以忽略)"""
2024-04-10 15:25:32
617
1
原创 Linux下清除挖矿病毒kswapd0
文件路径/proc/11389/root/var/jenkins_home/workspace/UpdateJenkins/trace。容器视角文件路径/var/jenkins_home/workspace/UpdateJenkins/trace。再次强调,一定要修改密码,强度要高,设置了类似Pass1234这类简单密码,直接GG。文件路径/root/.configrc5/a/kswapd0。容器名jenkins001 ---这个是我被黑的容器名称。服务器存在香港异地登录。虽然只是学习用的便宜机器。
2024-04-01 17:15:28
962
原创 pytest学习实践-day8- python解释器 本地执行 命令 常用参数
pytest -q -rP 静默执行,不显示详细信息,结束后打印 成功执行的,并输出print。# pytest -q -rA 静默执行,不显示详细信息,结束后打印 全部的简短的报告。# pytest -q -rfs 静默执行,不显示详细信息,结束后打印 失败的断言。# pytest -q -rs 静默执行,不显示详细信息,结束后打印 跳过执行的。# pytest -q -rp 静默执行,不显示详细信息,结束后打印 成功执行的。# pytest -q 静默执行,不显示详细信息。
2023-09-22 15:44:53
58
1
原创 pytest学习实践-day6-为失败断言添加自定义说明
另外,对于 test_foo_compare,比较2个对象是否一致,一般都不是比较对象地址,是比较对象的具体属性,可以推荐使用 test_foo_compare。> assert 1 == 2, "这2个数值不相等" # AssertionError: 这2个数值不相等。E AssertionError: 这2个数值不相等。红色字体就是 断言对应的自定义说明。
2023-09-22 15:35:45
51
1
原创 pytest学习实践-day5-触发指定报错
有时候,用例分有效类和无效类,那么无效类的提示怎么指定呢?或者想指定报错内容,可以参考如上设计,报错提示也很重要滴!
2023-09-22 15:26:51
60
1
空空如也
python 数据库插入操作报错,求解
2023-08-25
pycharm 执行SQL 代码不执行也不报错,求解!
2023-08-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人