pytest

【pycharm】解决pycharm不能右键运行pytest用例问题

1、问题 自己使用pycharm写用例, 今天突然打开之后不能右键运行用例 2、处理方法 打开编辑配置 依次删除相关选项 然后重启编辑器,右键运行即可 ......
pycharm pytest 问题

pytest + yaml 框架 -40.录制接口转 yaml 用例实现

# 前言 pytest + yaml 框架基本不用写 python 代码,只需写yaml 文件用例就能实现接口自动化。 现在引入接口录制功能,连 yaml 文件也不用写了,点点点就能生成 yaml 用例文件了。 录制功能在v1.3.4版本上实现 ``` pip instal pytest-yaml- ......
yaml 框架 接口 pytest 40

Pyinstaller打包 Pytest+Allure成exe文件执行时,报错ERROR: usage: apitest.exe [options] [file_or_dir] [file_or_dir] [...] xxx.exe: error: unrecognized arguments: --alluredir=.\\report\\xml --clean-alluredir

网上找了很多案例啊 都没解决问题,由本人的多次试验 终于成功解决 1、打包运行 pyinstaller -D xxx.py 打包成功后 执行exe报错 如下 2、此情况是说明 命令无法正确识别 也就是说 未导入allure 相关三方库 解决方案: 修改xxx.spec 文件 添加对应三方库 依赖 如 ......

pytest + yaml 框架 -38.新增--start-project命令快速创建项目demo结构

# 前言 新增 `--start-project` 命令, 帮助初学者快速创建项目 demo 结构, 并自动创建几个简单的用例。 # 创建项目demo结构 执行以下命令 ``` pytest --start-project ``` 运行日志 ``` (venv) D:\demo\untitled_s ......
start-project 框架 命令 project 结构

pytest框架学习整理

1.python的测试框架 pytest --有丰富的插件,需掌握编程语言,灵活性强 framework --不用掌握编程语言,主要靠关键字驱动,灵活性不强 unitest --python自带的框架 2.启动和安装pytest 2.1安装pytest pip install pytest 2.2p ......
框架 pytest

pytest + yaml 框架 -38.企业微信机器人通知

# 前言 v1.3.2版本 支持企业微信机器人发送报告通知了。 ``` pip install pytest-yaml-yoyo ``` # 获取企业微信机器人token 创建群聊机器人 ![](https://img2023.cnblogs.com/blog/1070438/202306/1070 ......
机器人 框架 机器 pytest 企业

pytest接口自动化(三)—— 优秀的脚本规范

上一篇 给大家讲了单接口脚本和多接口脚本,这一篇给大家讲讲个人对接口自动化的一些理解和看法。 从整个软件自动化测试来说,接口自动化从公司规模,测试效率,测试成本,可执行性,稳定性等来说,都是任何一个公司的测试人员首选的测试方式。接着我们来详细的说下。 对于任何一个公司(软件类)来说,测试部门都是一个 ......
脚本 接口 pytest

QA|conftest使用了fixture但是没生效的原因|Pytest

conftest.py中使用了fixture但是没生效,后面发现是因为autouse默认False导致,修改后代码如下 # conftest.py @pytest.fixture(scope='session', autouse=True) def cal_fixture(): """ 开始测试前的 ......
conftest 原因 fixture Pytest QA

pytest接口自动化(二)—— 单接口调用和多接口调用

testcases [测试用例脚本] 单接口脚本 单接口脚本很简单,就是对某一个场景的单独的接口测试 如下: ... class TestGetFreeLoginToken: @allure.story("用例:获取自动登录接口测试") @allure.description("获取自动登录的Tok ......
接口 pytest

pytest接口自动化(一)

这里说下pytest接口自动化的工程项目的基本结构(个人的工程结构),项目工程主要使用pytest、pymysql、requests、pyyaml、allure-pytest、pytest-rerunfailures、pytest-xdist、filelock等插件。 首先工程结构 api_test ......
接口 pytest

pytest 执行脚本时,报(no name '/Users/**/PycharmProjects/interface_auto/test_case/test_task.py::TestTask::test_querylist' in any of [<Module test_task.py>])

### 触发场景: pytest执行脚本时,命名全部正确,但是直接报找不到执行函数 ### 解决方式: 取掉init方法 ### 原因: 测试框架在运行测试时会自动实例化测试类的对象,并且不会传递任何参数。如果您定义了__init__方法,测试框架将无法实例化您的测试类,从而导致测试无法运行。因此, ......

pytest + yaml 框架 -37.mark 标记对用例运行时长断言

# 前言 pytest 执行用例的时候,我们希望对用例的运行时间断言,当用例执行时长大于预期标记此用例失败。 `@pytest.mark.runtime(1)` 运行时长单位是秒 此插件已打包上传到pypi [https://pypi.org/project/pytest-runtime-yoyo/ ......
时长 标记 框架 pytest mark

pytest 执行报错:AttributeError: module 'pytest' has no attribute 'StashKey'

在一台测试机器执行`pytest`命令时报错:`AttributeError: module 'pytest' has no attribute 'StashKey'` ![image](https://img2023.cnblogs.com/blog/1476955/202306/1476955- ......
pytest 39 AttributeError attribute StashKey

pytest文档 88- pytest-runtime-yoyo 对用例运行时长断言

# 说明 pytest 执行用例的时候,我们希望对用例的运行时间断言,当用例执行时长大于预期标记此用例失败。 `@pytest.mark.runtime(1)` 运行时长单位是秒 此插件已打包上传到pypi [https://pypi.org/project/pytest-runtime-yoyo/ ......

Pytest - Fixture(12) - 配置文件pytest.ini

## Pytest - 配置文件 pytest.ini **前言** + `pytest.ini` 配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 + **作用:**可以改变 pytest 的默认行为; + **位置:**一般放 ......
Fixture 文件 Pytest pytest ini

pytest -fixture-request

`request`在pytest-fixture经常使用到,具体看看有什么内容: ```python # conftest.py import pytest @pytest.fixture(params=['环境1','环境2']) def fixture1(request): print(requ ......
fixture-request fixture request pytest

pytest 生成的html其他人打开是空的

本地打开html文件显示正常是应为本地有css,而被人没有。我们打开浏览器查看F12,加载了本地路径中的css文件 ![image](https://img2023.cnblogs.com/blog/1476955/202306/1476955-20230609165630765-119292896 ......
pytest html

pytest之parametrize数据驱动

1.数据驱动 1.1 yaml文件 yaml是一种数据类型,扩展名:.yaml和.yml 作用: 配置文件:环境变量,数据库信息,用户名密码,日志格式等 测试用例:web,ui,app 语法规则: 区分大小写 通过缩进表示层级关系,一般用空格,不要使用tab键 通过#注释 字符串可以不用写引号,也可 ......
parametrize 数据 pytest

pytest的一些关键点

一. pytest测试框架 1.单元测试:是指在软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检查测试。 java:junit,testng python:unittest,pytest 2.自动化测试框架作用 ①提高测试效率,降低维护成本 ②减少人工干预,提高测试的准确性,增加代码的重 ......
关键点 关键 pytest

pytest框架使用

1.pytest框架 1.1.引入 常用单元测试框架介绍 python:pytest,unittest java:TestNG,Junit pytest主要作用: 找到测试用例 执行测试用例 判断测试结果 生成测试报告 pytest默认的测试用例规则(可在pytest.ini中修改规则): 模块名必 ......
框架 pytest

pytest + yaml 框架 -35.根据不同运行环境生成全局token

# 前言 我们在使用自动化测试框架的时候,经常会遇到一个需求,希望在全局用例中,仅登录一次,后续所有的用例自动带上请求头部token 或者cookies。 我们可以自定义fixture 更新内置的 `requests_session`, 在请求头部添加token 来实现全局登录。 基本使用参考前面这 ......
全局 框架 环境 pytest token

pytest + yaml 框架 -34.接口 sign 签名请求预处理

# 前言 一般公司对外的接口都会用到 sign 签名,对不同的客户提供不同的apikey ,这样可以提高接口请求的安全性,避免被人抓包后乱请求。 关于sign签名的可以参考前面一篇的介绍[https://www.cnblogs.com/yoyoketang/p/11742187.html](http ......
框架 接口 pytest yaml sign

pytest + yaml 框架 -33.参数化读取文件路径优化

# 前言 针对小伙伴提出参数化时读取外部文件,在项目根路径运行没问题,但是进入到项目下子文件夹运行用例,就会找不到文件问题做了优化。 关于参数化读取外部文件相关内容参考前面这篇[pytest + yaml 框架 -25.参数化数据支持读取外部文件txt/csv/json/yaml](pytest + ......
路径 框架 参数 文件 pytest

pytest + yaml 框架 -32.re 正则解析返回结果

# 前言 pytest-yaml-yoyo 插件可以支持3种表达式提取接口返回结果,jsonpath 和 jmespath 适合解析返回的json数据。 非json 数据的结果可以用re 正则表达式取值。 # re 正则取值 访问我的博客地址[https://www.cnblogs.com/yoyo ......
正则 框架 结果 pytest yaml

pytest

import pytestimport allureimport os # pytest运行脚本生成测试报告原始数据,reports/allure是原始报告目录,生成的是json数据# --clean-alluredir每次运行会清空上次生成的数据pytest.main(['-s','../test ......
pytest

pytest 中的metadata

# pytest中元数据(metadata) 注意我们在执行了` pytest testcase/test_001.py -v --html=res.html`生成的html报告中有一些基本信息。这些信息怎么来的,我们能修改吗? ![image](https://img2023.cnblogs.co ......
metadata pytest

Pytest+BDD

多组数据的处理 ......
Pytest BDD

pycharm 运行pytest的先决条件 不然会报no tests were found

问题描述:在跑代码的时候报错pycharm 运行pytest的先决条件 不然会报no tests were found,查了一下说py文件命名以test开头会导致pycharm默认以pytest模式运行,大伙可以先试一下,但是我这边程序命名也不是这种情况,修改了程序名也没有好。 解决方案: 1. 解 ......
先决条件 条件 pycharm pytest found

Pytest - Fixture(12) - 配置文件conftest.py

## Pytest - 配置文件 - conftest.py ### 前言 + 如果在多个测试文件中的用到相同的 `fixture函数`,则可以将其移动到 `conftest.py` 文件中 + `conftest.py` 是专门存放 `fixture` 的配置文件; + 例如:如果测试用例都需要进 ......
conftest Fixture 文件 Pytest 12

Pytest - Fixture(11) - 重命名fixture函数名称(name)

## Pytest - 重命名fixture函数名称(name) + fixture 设置参数 `name=value` 后,可以**重命名fixture函数名称**,运行时**传入重命名后的fixture函数名**即可。 + 使用重命名的fixture函数,可以使用装饰器:`@pytest.mar ......
函数 名称 Fixture fixture Pytest