Python Pytest-链接函数\row与局部变量(测试优化)
确认测试:Python Pytest-链接函数\row与局部变量(测试优化),python,selenium-webdriver,pytest,Python,Selenium Webdriver,Pytest,确认测试: import pytest from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait @pytest.fixture(autouse=True) def driver(): driver = webdriver.Chrome(executable_path=r"C:\webdrivers\chromedriver.exe") dr
import pytest
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
@pytest.fixture(autouse=True)
def driver():
driver = webdriver.Chrome(executable_path=r"C:\webdrivers\chromedriver.exe")
driver.implicitly_wait(5)
driver.maximize_window()
yield driver
driver.quit()
@pytest.fixture(autouse=True)
def wait(driver):
wait = WebDriverWait(driver, 10)
return wait
测试示例:
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from variables import *
def test_login(driver, wait):
driver.get(url)
original_window = driver.current_window_handle
wait.until(EC.visibility_of_element_located((By.XPATH, login_btn_ws)))
driver.find_element_by_xpath(login_btn_ws).click()
for window_handle in driver.window_handles:
if window_handle != original_window:
driver.switch_to.window(window_handle)
break
wait.until(EC.visibility_of_element_located((By.XPATH, login_field)))
driver.find_element_by_xpath(login_field).send_keys(login)
driver.find_element_by_xpath(password_field).send_keys(password, Keys.ENTER)
wait.until((EC.element_to_be_clickable((By.XPATH, welcome_field))))
assert url_check in driver.current_url and welcome_check in driver.find_element_by_xpath(welcome_field).text.lower()
我想从测试模块到conftest或者类似的东西——代码的两部分(见下文):
driver.get(url)
if window_handle != original_window:
driver.switch_to.window(window_handle)
break