欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > selenium简介

selenium简介

2025/6/7 17:17:11 来源:https://blog.csdn.net/niuniu_666/article/details/146535932  浏览:    关键词:selenium简介

1. Selenium 简介

Selenium 是一个开源的 Web 自动化测试工具,支持多种编程语言(Java、Python、C#、JavaScript 等)和浏览器(Chrome、Firefox、Edge 等)。它包含三个主要组件:

  • Selenium WebDriver:用于编写自动化测试脚本的核心 API。

  • Selenium Grid:用于分布式测试,支持多机器并行运行测试。

  • Selenium IDE:浏览器插件,用于录制和回放测试用例(适合初学者)。


2. 学习 Selenium 的前置知识

在学习 Selenium 之前,建议掌握以下基础知识:

  • HTML & CSS:理解网页元素结构(如 <input><button><div> 等)。

  • JavaScript(基础):有助于理解 Web 交互逻辑。

  • 编程语言(Python/Java):Selenium 支持多种语言,推荐 Python(简单)或 Java(企业常用)。

  • XPath 和 CSS 选择器:用于定位网页元素。


3. 环境搭建

(1) 安装浏览器驱动

Selenium 需要浏览器驱动来控制浏览器:

  • Chrome:ChromeDriver

  • Firefox:GeckoDriver

  • Edge:EdgeDriver

下载后,将驱动文件放在 PATH 环境变量路径(如 /usr/local/bin 或 C:\Windows\)。

(2) 安装 Selenium

Python 安装
pip install selenium
Java 安装(Maven 项目)

<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.10.0</version> <!-- 使用最新版本 -->
</dependency>

4. 第一个 Selenium 测试脚本

Python 示例(Chrome 浏览器)

from selenium import webdriver
from selenium.webdriver.common.by import By# 初始化浏览器驱动
driver = webdriver.Chrome()# 打开网页
driver.get("https://www.baidu.com")# 定位搜索框并输入内容
search_box = driver.find_element(By.ID, "kw")
search_box.send_keys("Selenium")# 点击搜索按钮
search_button = driver.find_element(By.ID, "su")
search_button.click()# 等待 3 秒查看结果
import time
time.sleep(3)# 关闭浏览器
driver.quit()

Java 示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;public class FirstSeleniumTest {public static void main(String[] args) {// 设置 ChromeDriver 路径(如果未配置环境变量)System.setProperty("webdriver.chrome.driver", "path/to/chromedriver.exe");WebDriver driver = new ChromeDriver();driver.get("https://www.baidu.com");driver.findElement(By.id("kw")).sendKeys("Selenium");driver.findElement(By.id("su")).click();try {Thread.sleep(3000); // 等待 3 秒} catch (InterruptedException e) {e.printStackTrace();}driver.quit();}
}

5. 核心概念

(1) 元素定位方式

Selenium 提供多种定位方式:

  • By.ID(推荐,唯一性高)

  • By.NAME

  • By.CLASS_NAME

  • By.TAG_NAME

  • By.LINK_TEXT(适用于 <a> 链接)

  • By.PARTIAL_LINK_TEXT

  • By.XPATH(灵活但易变)

  • By.CSS_SELECTOR(推荐,性能好)

(2) 常用操作

  • send_keys("text"):输入文本

  • click():点击元素

  • clear():清空输入框

  • get_attribute("value"):获取元素属性

  • is_displayed() / is_enabled():检查元素状态

(3) 等待机制

  • 强制等待(不推荐):

    import time
    time.sleep(3)  # 等待 3 秒

  • 隐式等待(全局等待):

    driver.implicitly_wait(10)  # 最多等待 10 秒

  • 显式等待(推荐):

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as ECelement = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "kw"))
    )


6. 进阶学习

  1. Page Object Model (POM)
    将页面元素和操作封装成类,提高代码可维护性。

  2. 数据驱动测试
    使用 pytest(Python)或 TestNG(Java)管理测试数据。

  3. Selenium Grid
    实现多浏览器并行测试。

  4. Headless 模式
    无界面运行测试(适用于 CI/CD):

    options = webdriver.ChromeOptions()
    options.add_argument("--headless")
    driver = webdriver.Chrome(options=options)


7. 学习资源

  • 官方文档:Selenium Docs

  • 书籍

    • 《Selenium WebDriver 实战宝典》(Java)

    • 《Python 自动化测试实战》(Python)

  • 在线课程

    • Udemy / Coursera 上的 Selenium 课程

    • B 站 / YouTube 免费教程


8. 实战练习

  1. 尝试在 百度 / Google 搜索并验证结果。

  2. 登录一个网站(如 GitHub),测试登录成功/失败场景。

  3. 使用 POM 模式 重构代码。


总结

Selenium 是 Web 自动化测试的核心工具,掌握它可以提高测试效率。建议从 Python 或 Java 入手,逐步学习元素定位、等待机制、POM 模式等高级用法。
下一步:尝试结合 pytest 或 TestNG 编写完整的测试套件! 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词