pytest + Selenium 示例
以下是一个 pytest 结合 Selenium 的测试示例,展示如何编写可维护的自动化测试用例。
# conftest.py - 全局配置
import pytest
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
@pytest.fixture(scope="function")
def driver():
service = Service(ChromeDriverManager().install())
drv = webdriver.Chrome(service=service)
drv.set_window_size(1920, 1080)
yield drv
drv.quit()
# test_login.py - 登录测试用例
import pytest
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class TestLogin:
def test_login_success(self, driver):
driver.get("file:///F:/autotest_project/login.html")
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "username"))
)
driver.find_element(By.ID, "username").send_keys("admin")
driver.find_element(By.ID, "password").send_keys("123456")
driver.find_element(By.ID, "loginBtn").click()
assert "登录成功" in driver.switch_to.alert().text
def test_login_empty(self, driver):
driver.get("file:///F:/autotest_project/login.html")
driver.find_element(By.ID, "loginBtn").click()
alert = driver.switch_to.alert()
assert "请输入" in alert.text
alert.accept()
运行命令:pytest test_login.py -v --tb=short