掌握 Selenium 与 Python:从浏览器操控到自动化测试的全攻略
文章目录
- 安装Selenium库
- 下载浏览器驱动(以Chrome为例)
- 从https://chromedriver.chromium.org/downloads下载对应版本
- 驱动需与浏览器版本匹配,例如Chrome 120对应chromedriver 120.0.5883.72
- 配置无头模式(可选,不显示浏览器界面)
- 启动浏览器
- 访问网页
- 定位搜索框并输入内容
- 截图保存结果
- 关闭浏览器
- 等待购物车图标加载完成(最多等待10秒)
- test_shopping.py
- 切换到iframe
- 在iframe中操作元素
- 切换回默认上下文
- 配置Chrome选项
- 隐藏WebDriver特征
- 配置iOS设备测试
- 连接到Selenium Grid
- 使用AI模型识别\"立即购买\"按钮
- 用户输入:\"请生成测试登录功能的代码,包括正确密码和错误密码场景\"
- 加载历史测试数据
- 预测新测试用例的缺陷概率
掌握 Selenium 与 Python:从浏览器操控到自动化测试的全攻略
一、为什么自动化测试成为开发必备技能?
当你需要反复测试一个电商网站的购物流程时,手动点击 “加入购物车 - 结算 - 支付” 可能需要数十分钟;而自动化测试能让程序在 30 秒内完成全流程验证 —— 这就是 Selenium+Python 组合的魔力。据 Stack Overflow 2024 报告显示,68% 的开发者使用自动化测试工具,其中 Selenium 以 42% 的占有率位居榜首,成为 Web 应用测试的 “瑞士军刀”。
核心优势解析:
跨浏览器兼容性:一次编写可在 Chrome、Firefox、Edge 等主流浏览器运行
语言灵活性:支持 Python/Java/JavaScript 等多语言,Python 语法简洁易上手
生态丰富性:集成 Pytest、Allure 等框架,轻松生成可视化测试报告
二、环境搭建:10 分钟启动自动化测试之旅
- 三行代码搭建基础环境
安装Selenium库
pip install selenium
下载浏览器驱动(以Chrome为例)
从https://chromedriver.chromium.org/downloads下载对应版本
驱动需与浏览器版本匹配,例如Chrome 120对应chromedriver 120.0.5883.72
- 首个自动化脚本实战
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
配置无头模式(可选,不显示浏览器界面)
chrome_options = Options()
chrome_options.add_argument(“–headless”)
启动浏览器
service = Service(executable_path=“./chromedriver”)
driver = webdriver.Chrome(service=service, options=chrome_options)
访问网页
driver.get(“https://www.baidu.com”)
定位搜索框并输入内容
search_input = driver.find_element(By.ID, “kw”)
search_input.send_keys(“Selenium自动化测试”)
search_input.submit()
截图保存结果
driver.save_screenshot(“search_result.png”)
关闭浏览器
driver.quit()
执行这段代码后,你会发现当前目录生成了 “search_result.png”—— 这就是自动化测试的第一个成果:程序模拟人类操作完成了百度搜索并截图。
三、元素定位:自动化测试的 “眼睛” 与 “手”
-
八大定位策略详解
定位方法
示例代码
适用场景
ID 定位
driver.find_element(By.ID, “login-btn”)
元素有唯一 I