【发布时间】:2020-09-03 17:01:52
【问题描述】:
测试模块中的当前部分代码:
def test_01():
driver.get('https://www.google.com')
测试代码:
import pytest
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
@pytest.fixture(autouse=True)
def browser():
driver = webdriver.Chrome(executable_path=r"C:\webdrivers\1\chromedriver.exe")
driver.implicitly_wait(5)
wait = WebDriverWait(driver, 10)
driver.maximize_window()
yield
driver.quit()
结果:“E NameError: name 'driver' is not defined”
目标结果:在没有类的情况下初始化 webdriver,将 webdriver 设置为每个测试函数的驱动程序,使用它运行函数,并在 conftest 中使用fixtures 后置条件退出。我有很多测试文件,所以我应该做一次。
我也尝试过从夹具返回变量,但据我了解,测试函数仍然需要夹具变量,而且对我来说它看起来不对。例如:fixture - return x, testfunction(fixture): x = fixture.而且它仍然无法与 webdriver\driver 一起使用(或者说我没有弄明白)。
【问题讨论】:
标签: python testing webdriver pytest fixtures