当前位置: 首页 > news >正文

在Ubuntu上设置Selenium自动化测试环境:Chrome与Firefox的详细指南

在自动化测试领域,Selenium是一个不可或缺的工具,它允许开发者通过编程方式控制浏览器,从而实现各种自动化测试任务。无论是进行网页功能测试、爬取网页数据,还是模拟用户交互,Selenium都能轻松应对。本文将详细介绍如何在Ubuntu系统上设置Selenium环境,以便使用Google Chrome和Mozilla Firefox浏览器进行自动化测试。

一、安装Selenium

在开始之前,确保你的Ubuntu系统已经安装了Python及其包管理工具pip。安装Selenium非常简单,只需运行以下命令即可:

pip install selenium

二、设置Google Chrome环境

1. 安装Google Chrome浏览器

Google Chrome浏览器在Ubuntu的默认软件仓库中不可用,因此需要手动安装。以下是安装步骤:

添加Google Chrome的官方仓库
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb

如果安装过程中提示依赖问题,可以运行以下命令来解决:

sudo apt --fix-broken install

2. 下载并安装ChromeDriver

ChromeDriver是Google Chrome的WebDriver,用于控制Chrome浏览器。以下是安装步骤:

下载ChromeDriver
  1. 访问ChromeDriver的官方下载页面。
  2. 选择与你的Chrome浏览器版本匹配的ChromeDriver版本。例如,如果你的Chrome浏览器版本是114,那么你需要下载与之匹配的ChromeDriver版本。
解压并安装
# 下载文件
wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip# 解压文件
unzip chromedriver_linux64.zip# 将chromedriver移动到/usr/local/bin目录,使其全局可用
sudo mv chromedriver /usr/local/bin/

3. 配置Selenium以使用ChromeDriver

在Python脚本中,你可以使用Selenium库来控制Chrome浏览器。以下是一个示例脚本:

示例脚本
from selenium import webdriver
from selenium.webdriver.chrome.options import Options# 设置Chrome选项
options = Options()
# 如果需要无头模式,可以添加以下行
# options.add_argument("--headless")# 启动Chrome浏览器
driver = webdriver.Chrome(options=options)# 打开一个网页
driver.get("http://www.example.com")# 打印网页标题
print(driver.title)# 关闭浏览器
driver.quit()

三、设置Mozilla Firefox环境

1. 安装Firefox浏览器

Ubuntu通常自带Firefox浏览器,如果没有安装,可以通过以下命令安装:

sudo apt update
sudo apt install firefox

2. 下载并安装GeckoDriver

GeckoDriver是Firefox的WebDriver,用于控制Firefox浏览器。以下是安装步骤:

下载GeckoDriver
  1. 访问GeckoDriver的官方发布页面。
  2. 选择适合你的系统的版本下载。例如,对于64位的Ubuntu系统,你可以下载geckodriver-v0.35.0-linux64.tar.gz
解压并安装
# 下载文件
wget https://github.com/mozilla/geckodriver/releases/download/v0.35.0/geckodriver-v0.35.0-linux64.tar.gz# 解压文件
tar -xvzf geckodriver-v0.35.0-linux64.tar.gz# 将geckodriver移动到/usr/local/bin目录,使其全局可用
sudo mv geckodriver /usr/local/bin/

3. 配置Selenium以使用GeckoDriver

在Python脚本中,你可以使用Selenium库来控制Firefox浏览器。以下是一个示例脚本:

示例脚本
from selenium import webdriver
from selenium.webdriver.firefox.options import Options# 设置Firefox选项
options = Options()
# 如果需要无头模式,可以添加以下行
# options.add_argument("--headless")# 启动Firefox浏览器
driver = webdriver.Firefox(options=options)# 打开一个网页
driver.get("http://www.example.com")# 打印网页标题
print(driver.title)# 关闭浏览器
driver.quit()

四、自动启动浏览器和WebDriver(可选)

如果你希望在系统启动时自动启动Chrome和ChromeDriver,或者Firefox和GeckoDriver,可以通过创建systemd服务来实现。

创建Chrome服务

  1. 创建服务文件:

    sudo nano /etc/systemd/system/chrome.service
    
  2. 在文件中添加以下内容:

    [Unit]
    Description=Google Chrome[Service]
    ExecStart=/usr/bin/google-chrome-stable
    Restart=always
    User=your-username[Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:

    sudo systemctl enable chrome.service
    sudo systemctl start chrome.service
    

创建ChromeDriver服务

  1. 创建服务文件:

    sudo nano /etc/systemd/system/chromedriver.service
    
  2. 在文件中添加以下内容:

    [Unit]
    Description=ChromeDriver[Service]
    ExecStart=/usr/local/bin/chromedriver
    Restart=always
    User=your-username[Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:

    sudo systemctl enable chromedriver.service
    sudo systemctl start chromedriver.service
    

创建Firefox服务

  1. 创建服务文件:

    sudo nano /etc/systemd/system/firefox.service
    
  2. 在文件中添加以下内容:

    [Unit]
    Description=Firefox with Marionette[Service]
    ExecStart=/usr/bin/firefox --marionette --marionette-port 2828
    Restart=always
    User=your-username[Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:

    sudo systemctl enable firefox.service
    sudo systemctl start firefox.service
    

创建GeckoDriver服务

  1. 创建服务文件:

    sudo nano /etc/systemd/system/geckodriver.service
    
  2. 在文件中添加以下内容:

    [Unit]
    Description=GeckoDriver with Marionette[Service]
    ExecStart=/usr/local/bin/geckodriver --connect-existing --marionette-port 2828
    Restart=always
    User=your-username[Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:

    sudo systemctl enable geckodriver.service
    sudo systemctl start geckodriver.service
    

五、总结

通过以上步骤,你可以在Ubuntu系统上安装和配置Google Chrome和Mozilla Firefox浏览器以及它们对应的WebDriver,并使用Selenium进行自动化测试。如果你需要在系统启动时自动启动浏览器和WebDriver,可以通过systemd服务来实现。希望这篇博客能帮助你在Ubuntu上顺利搭建Selenium自动化测试环境。

http://www.dtcms.com/a/257481.html

相关文章:

  • Flutter ListTile 徽章宽度自适应的真正原因与最佳实践
  • 速通Ceph分布式存储(含超详细图解)
  • 【ARM 嵌入式 编译系列 7.5 -- GCC 打印链接脚本各段使用信息】
  • minidocx: 一个轻量级的跨平台的C++操作word的开源库
  • 黑马React001
  • 本地部署MoneyPrinterTurbo并配置远程访问实战
  • 为WordPress 网站创建一个纯文本网站地图(Sitemap)
  • 【RK3568 嵌入式linux QT开发笔记】 二维码开源库 libqrencode 交叉静态编译和使用
  • vue-22(理解组合式 API:setup、ref、reactive)
  • 3.2.1小节 扣子平台给智能体绑定插件
  • DeepSeek中的提示库及其用法示例
  • OSC靶机练习 PG ZenPhoto
  • Spring Boot + Logback MDC 深度解析:实现全链路日志追踪
  • [论文阅读] 人工智能 + 软件工程 | AI 驱动工具在软件质量保证中的革新:挑战与未来之路
  • Spring AI 项目实战(十二):Spring Boot +AI + DeepSeek + 百度OCR 公司发票智能处理系统的技术实践(附完整源码)
  • 爬虫中网络知识基础
  • 前端开发入门指南:掌握HTML基础
  • 安卓不同 View 组件间的数据通信
  • 容器技术入门与Docker环境部署指南
  • 提高WordPress网站加载速度和用户体验
  • 榕壹云无人售货机管理系统:开源架构赋能私有化部署,打造智能零售技术解决方案
  • 在大数据求职面试中如何回答分布式协调与数据挖掘问题
  • Spring Boot多数据源配置实战指南
  • 目标检测之YOLOv5到YOLOv11——从架构设计和损失函数的变化分析
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • 基于ComfyUI与Wan2.1模型的本地化视频生成环境搭建指南
  • 音视频全链路开发实践:基于SmartMediakit的架构设计与应用实战
  • vivado使用非自带的第三方编辑器
  • js逻辑:【增量更新机制】
  • 如何在 Vue 应用中嵌入 ONLYOFFICE 编辑器