一、环境搭建与基础配置
环境准备
JDK 11+安装与环境变量配置
Maven项目创建:mvn archetype:generate
依赖配置:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.14.1</version> </dependency>
浏览器驱动管理
WebDriver driver = new ChromeDriver(); // 自动检测驱动 // 或指定路径:System.setProperty("webdriver.chrome.driver","path/to/chromedriver");
二、核心组件深度解析
组件
功能说明
典型应用场景
WebDriver
浏览器控制核心
页面导航/元素操作
WebElement
DOM元素抽象
表单填写/数据提取
By定位器
元素定位策略
ID/XPath/CSS选择器
Actions类
复杂交互模拟
拖拽/悬停/组合键操作
三、企业级测试框架设计
分层架构
Test Layer → Page Object Layer → Utility Layer → Driver Layer
Page Object模式进阶
public class LoginPage { private final WebDriver driver; By usernameLocator = By.id("user"); public LoginPage(WebDriver driver) { this.driver = driver; }public HomePage login(String user, String pwd) { driver.findElement(usernameLocator).sendKeys(user); // 其他登录操作... return new HomePage(driver); } }
四、最佳实践与避坑指南
智能等待策略
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.elementToBeClickable(submitBtn));
常见陷阱应对
动态元素:使用相对XPath
iframe切换:driver.switchTo().frame("frameId")
弹窗处理:Alert alert = driver.switchTo().alert()
五、持续集成落地
六、前沿技术融合
Selenium Grid 4:分布式测试
Docker容器化执行
docker run -d -p 4444:4444 selenium/standalone-chrome
精选文章
软件测试进入“智能时代”:AI正在重塑质量体系
Python+Playwright+Pytest+BDD:利用FSM构建高效测试框架
软件测试基本流程和方法:从入门到精通