当我 运行 我的测试时,显示找不到夹具 pytest 错误

Fixture not found pytest error is being displayed when I run my test

这是我的 conf.py、baseClass.py 和实际测试文件 (test_e2e.py)。你能检查一下并让我知道我的代码有什么问题吗?看起来一切都很好,但我的测试仍然没有 运行ning 并显示 'fixture not found' 错误。

conf.py 文件

import pytest
from selenium import webdriver
from selenium.webdriver.chrome.service import Service


@pytest.fixture(scope="class")
def setup(request):
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument("--start-maximized")
    # chrome_options.add_argument("headless")
    chrome_options.add_argument("--ignore-certificate-errors")

    ser = Service("C://chromedriver.exe")
    driver = webdriver.Chrome(service=ser,options=chrome_options)
    driver.get('https://google.com')
    request.cls.driver = driver
    yield
    driver.close()

Baseclass.py

import pytest



@pytest.mark.usefixtures("setup")
class BaseClass:
    pass

主要测试文件

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from utilities.BaseClass import BaseClass


class TestOne(BaseClass):
    def test_e2e(self):
        self.driver.find_element(By.CSS_SELECTOR, "a[href*='shop']").click()
        cards = self.driver.find_elements(By.CSS_SELECTOR, ".card-title a")

        i = -1

        for card in cards:
            i = i + 1
            cardText = card.text
            print(cardText)
            if cardText == "Blackberry":
                self.driver.find_element(By.CSS_SELECTOR, ".card-footer button")[i].click()

执行后出现错误

============================= test session starts =============================

正在收集...收集了 1 件商品

test_e2e.py::TestOne::test_e2e 错误 [100%] 测试设置失败 文件 C:\Users\Admin\Desktop\pythonselframework\tests\test_e2e.py,第 8 行 def test_e2e(自我): 未找到 E 夹具 'setup'

  available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, monkeypatch, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
  use 'pytest --fixtures [testpath]' for help on them.

我期待我的 selenium 测试 运行 顺利。我没有在我的文件中发现任何错误,但是当我 运行 我的测试文件时,它仍然显示错误。

Pytest 使用单个文件进行夹具发现,conftest.py 文件。然后,您应该将灯具声明存储在 conftest.py 文件中(而不是像您声明的那样存储在 conf.py 中)。此文件应存储在测试根文件夹中。

关于 conftest 文件的更多信息:here