问题描述
- 我有一个 conftest.py 文件,它使用 @pytestfixture () 初始化网络驱动程序(只有 def - 没有类)
- 我有一个包含 1 个类和 3 个方法的方法文件。
- 我有一个测试主文件,其中在类之前使用 @ Pytest.mark.usefixtures ("...") 在类之前初始化 webdriver
主要问题。
如何从 webdriver conftest 传递到 open.py 以便它作为 webdriver 可见。以便它与@ Pytest.fixture() 中用于初始化浏览器的 webdriver 完全相同
通常,我从 conftest.py 文件中的事实知道这一点,如果我开始输入“driver.find ....”,它会开始向我显示提示,并且会显示它是一个网络驱动程序。
如果我开始输入相同的 Open.py,我将无法访问这些“提示/功能?”
通常,我想在 Open.py 中使用与 conftest.py 中相同的驱动程序 - 我设法在“def”之前添加了一个类,但随后它不起作用@Pytest.fixture()
Conftest.py
@pytest.fixture()
def local_setup(request):
options = Options()
options.page_load_strategy = 'normal'
chrome_options = webdriver.ChromeOptions()
if os.name == 'nt':
# chrome_options.add_argument('window-size=1920x1080')
chrome_options.add_argument('start-maximized')
driver = webdriver.Chrome(ChromeDriverManager().install(),options=chrome_options)
request.cls.driver = driver
else:
chrome_options.add_argument('--no-sandBox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# chrome_options.add_argument('start-maximized')
# chrome_options.add_argument("window-size=1920,1080")
driver = webdriver.Chrome(options=chrome_options)
request.cls.driver = driver
Open.py
class Open_Tvn24_with_rodo_accept:
def __init__(self,driver):
self.driver = driver
def open_tvn24_page(self):
driver = self.driver
driver.get("https://tvn24.pl/")
def onetrust_rodo_accept(self):
driver = self.driver
def tvn24_load_page_check(self):
driver = self.driver
Test_File.py
@pytest.mark.usefixtures("local_setup")
class Test_Articles:
def test_Urgent_Article_Video_Presence(self):
Tvn24_page_open = Open_Tvn24_with_rodo_accept()
Tvn24_page_open.open_tvn24_page()
Tvn24_page_open.onetrust_rodo_accept()
Tvn24_page_open.tvn24_load_page_check()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)