Selenium Web UI 自动化测试工具入门指南
Selenium 是广泛应用于 Web UI 自动化测试的开源工具,支持多语言和浏览器。以下是从零基础到实际操作的完整指南。
环境准备
安装 Python 和 Selenium 库是第一步。确保系统已安装 Python 3.x,通过以下命令安装 Selenium:
pip install selenium
下载对应浏览器的 WebDriver,如 ChromeDriver 或 GeckoDriver(Firefox),并将其路径添加到系统环境变量中。
编写第一个测试脚本
一个简单的测试脚本通常包括浏览器驱动初始化、页面操作和断言验证。以下示例打开百度首页并搜索关键词:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
search_box = driver.find_element("name", "wd")
search_box.send_keys("Selenium" + Keys.RETURN)
assert "Selenium" in driver.title
driver.quit()
元素定位方法
Selenium 提供多种元素定位方式,常用方法包括:
- ID:
find_element("id", "element_id") - Name:
find_element("name", "element_name") - XPath:
find_element("xpath", "//tag[@attribute='value']") - CSS 选择器:
find_element("css selector", "tag.class")
优先使用 ID 或 Name,复杂场景可选用 XPath 或 CSS 选择器。
常用操作与等待机制
页面交互操作包括点击、输入文本、提交表单等:
element.click()
element.send_keys("text")
element.submit()
处理动态加载元素时,显式等待优于隐式等待:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located(("id", "dynamic_element")))
测试框架集成
结合单元测试框架(如 unittest 或 pytest)管理测试用例:
import unittest
class TestBaiduSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def test_search(self):
self.driver.get("https://www.baidu.com")
self.assertIn("百度", self.driver.title)
def tearDown(self):
self.driver.quit()
实际应用建议
- 使用 Page Object 模式封装页面元素和操作,提升代码复用性。
- 结合 headless 模式(无界面浏览器)加速测试执行。
- 定期维护定位表达式,避免因页面改版导致脚本失效。
通过以上步骤,可以快速掌握 Selenium 的核心功能并开展 Web 自动化测试。实践中需结合具体项目需求调整策略,持续优化测试脚本。

4078

被折叠的 条评论
为什么被折叠?



