我有 pytest,它链接了标记 smoke 和 testrail 测试用例如果提供标记,例如 pytest -s -v --alluredir=./reports ./tests -m smoke 那么只有它正在执行所有测试用例。
如果我想使用此命令从文件夹运行 -pytest -s -v --alluredir=./reports ./tests 。那么它会给出以下错误。只需启动浏览器并失败所有测试用例
如果我通过右键单击它来运行单个测试用例,那么我能够成功运行。我有这个文件夹下的所有测试类 ./tests
我只是想知道为什么它没有从没有标记的文件夹中运行测试。pytest的标记有什么问题吗?
为了确定测试未运行的原因,我还检查了以下内容:
验证所有带有测试用例的文件都以“test_”开头。验证所有测试用例名称是否也以“test_”开头。验证您是否已在根目录中创建了 pytest.ini 文件。验证您在项目的所有目录/子目录中是否有init .py 文件。
(venv) C:\Projects\Tests\MyAutomation>pytest -s -v --alluredir=./reports ./tests ====================== =========================================== 测试会话开始===== ==================================================== ==========
tests/test_class1_cases.py::TestCasesClass::test_submit_dob DevTools 监听 ws://127.0.0.1:53051/devtools/browser/bd4bb813-c2f6-4987-b169-dfe5a9765128 错误测试/test_submit_dob.py::testrail PASSED
] [17:34:19.552] USB:usb_device_handle_win.cc:1048 无法从节点连接读取描述符:连接到系统的设备无法正常工作。(0x1F) [10268:9972:1007/173419.562:ERROR:chrome_browser_main_extra_parts_metrics.cc(228)] crbug.com/1216328:开始检查蓝牙可用性。请
==================================================== ===================== 错误 ============================ ============================================
请求 = <SubRequest 'fixture_create_driver_session' for >
@pytest.fixture(scope="session")
def fixture_create_driver_session(request):
"""
Create a web-driver instance based on browser, environment
and set it as execution session object
"""
env_url = "https://letscode.com"
env_url = BaseTest.env_dic_data_details["base_url"]
web_driver_factory = WebDriverFactory(
request.config.getoption("--browser"), env_url, logger
)
driver = web_driver_factory.get_webdriver_instance()
BaseTest.Driver = driver
session = request.node
for item in session.items:
cls = item.getparent(pytest.Class)
> setattr(cls.obj, 'driver', driver)
E AttributeError: 'NoneType' object has no attribute 'obj'
conftest.py:80: AttributeError ------------------------------- ---------------------- 捕获的日志设置 ------------- ----------------------------------------- INFO root:web_driver_factory.py:38 初始化chrome 的 webdriver DEBUG root:utils.py:204 Chromedriver 已经安装。