1. Selenium自动化测试入门指南
刚接触Web自动化测试时,我踩过不少坑。记得第一次用Selenium时,光是环境配置就折腾了大半天。现在回想起来,如果当时有人能系统地告诉我这些经验,至少能节省两周的摸索时间。这篇文章就是我想写给当初那个自己的实战手册。
Selenium是目前最主流的Web自动化测试框架之一,配合Python使用可以快速构建稳定可靠的测试脚本。不同于简单的单元测试,它能真实模拟用户操作浏览器,从点击按钮到填写表单,甚至处理弹窗和iframe都不在话下。我经手过的电商平台、ERP系统和移动端H5页面,90%的UI测试场景都能用它搞定。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境搭建与基础配置
2.1 安装必备组件
首先需要安装Python环境(推荐3.7+版本),然后通过pip安装selenium包:
bash复制pip install selenium
浏览器驱动是很多人容易忽略的关键组件。以Chrome为例,需要下载与本地浏览器版本匹配的chromedriver。我习惯把驱动放在项目根目录下的drivers文件夹,方便版本管理:
python复制from selenium import webdriver
driver = webdriver.Chrome(executable_path='./drivers/chromedriver')
注意:浏览器和驱动版本必须严格匹配,否则会出现各种诡异问题。我维护了一个版本对照表,每次升级前都会先核对。
2.2 基础配置参数
启动浏览器时建议添加这些实用参数:
python复制options = webdriver.ChromeOptions()
options.add_argument('--headless') # 无头模式
options.add_argument('--disable-gpu') # 禁用GPU加速
options.add_argument('--window-size=1920x1080') # 设置窗口尺寸
driver = webdriver.Chrome(options=options)
无头模式特别适合在CI/CD流水线中运行测试,能节省大量资源。不过调试阶段建议保持可视化,方便定位问题。
3. 核心元素定位策略
3.1 八大定位方式实战
Selenium提供了多种元素定位方法,根据我的经验这样选择最靠谱:
- ID定位 - 最可靠的首选方案
python复制search_box = driver.find_element_by_id("kw")
- CSS选择器 - 灵活性强,适合复杂结构
python复制submit_btn = driver.find_element_by_css_selector("#form > button.primary")
- XPath - 终极武器,但维护成本高
python复制menu_item = driver.find_element_by_xpath("//ul[@class='nav']/li[3]")
