如何在 Debian Linux 上使用 ChromeDriver 设置 Selenium

2023-11-13

本教程将帮助您在 Debian 9 和 Debian 8 上使用 ChromeDriver 设置 Selenium。本教程还包括一个使用 Selenium 独立服务器和 ChromeDriver 并运行示例测试用例的 Java 程序示例。

Xvfb(X 虚拟帧缓冲区)是用于类 UNIX 操作系统(例如 Linux)的内存显示服务器。它实现了X11显示服务器协议,没有任何显示。这对于 CI 服务等 CLI 应用程序很有帮助。

第 1 步 – 先决条件

以 sudo 特权用户身份登录到 Debian 系统,并执行以下命令在系统上安装所需的软件包。


sudo apt-get update
sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4
  

另外,请在您的系统上安装 Java。如果您愿意,请使用以下命令在您的系统上安装 OpenJDK安装 Oracle Java 8在你的 Debian 系统上。


sudo apt-get install default-jdk 
  

第 2 步 – 安装谷歌浏览器

Now 安装最新的谷歌浏览器在您的 Debian 系统上使用以下命令。谷歌浏览器无头该功能为自动化打开了多扇门。


sudo curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
sudo echo "deb [arch=amd64]  http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
sudo apt-get -y update
sudo apt-get -y install google-chrome-stable
  

第 3 步 – 安装 ChromeDriver

ChromeDriver 是一个独立的服务器,它实现WebDriver 的有线协议对于铬。 WebDriver 是一个开源工具,用于跨多个浏览器自动测试 Web 应用程序。


wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
  

您可以在其上找到最新的 ChromeDriver官方下载页面。现在执行以下命令在您的系统上配置 ChromeDriver。


sudo mv chromedriver /usr/bin/chromedriver
sudo chown root:root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver
  

第 4 步 – 下载所需的 Jar 文件

运行远程 Selenium WebDrivers 需要 Selenium 服务器。您需要使用以下命令下载 Selenium 独立服务器 jar 文件或访问here查找最新版本的 Jar 文件。


wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar
  

另外,将 testng-6.8.7.jar 文件下载到您的系统。


wget http://www.java2s.com/Code/JarDownload/testng/testng-6.8.7.jar.zip
unzip testng-6.8.7.jar.zip
  

第 5 步 – 通过 Selenium 服务器启动 Chrome

您的服务器设置已准备就绪。使用 Xvfb 实用程序通过独立的 selenium 服务器启动 Chrome。

通过 Selenium 服务器运行 Chrome


xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar
  

Use -debug命令末尾的选项用于在调试模式下启动服务器。

你也可以启动无头 ChromeDriver通过在终端上输入以下命令。


chromedriver --url-base=/wd/hub
  

您的 Selenium 服务器现在正在与 Chrome 一起运行。使用此服务器通过 Google Chrome Web 浏览器运行用 Selenium 编写的测试用例。下一步是可选步骤,不依赖于步骤 5。

第 6 步 – Java 程序示例(可选)

这是一个可选步骤。它描述了使用 Selenium 独立服务器和 ChromeDriver 运行单个测试用例。让我们使用 Selenium 服务器和 Chrome 驱动程序创建一个 Java 程序。该Java程序将打开指定的网站URL并检查网页上是否存在定义的字符串。

通过在文本编辑器中编辑文件来创建 Java 程序。


vim TecAdminSeleniumTest.java
  

将以下内容添加到文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.io.IO异常;
 
import org.openqa.selenium.网络驱动程序;
import org.openqa.selenium.chrome.Chrome选项;
import org.openqa.selenium.chrome.Chrome驱动程序;
import org.testng.注释.Test;
 
public class TecAdminSelenium测试 {
 
        public static void main(String[] args) throws IO异常, 中断异常 {
System.设置属性(“webdriver.chrome.driver”, “/usr/bin/chromedriver”);
Chrome选项chrome选项 = new Chrome选项();
chrome选项.添加参数(“——无头”);
chrome选项.添加参数(“——无沙盒”);
 
网络驱动程序driver = new Chrome驱动程序(chrome选项);
driver.get(“https://google.com”);
Thread.sleep(1000);
 
if (driver.获取页面源().contains(“我感觉我是幸运的”)) {
System.out.println("Pass");
} else {
System.out.println("Fail");
}
driver.quit();
        }
}

您可以将 URL“https://google.com”更改为您选择的任何其他 URL,然后还可以更改搜索字符串,如上述 Java 程序中使用的“手气不错”。保存您的 java 程序并执行它。首先,您需要设置Java CLASSPATH环境变量,包括selenium-server-standalone.jar和testng-6.8.7.jar。然后编译java程序并运行。


export CLASSPATH=".:selenium-server-standalone.jar:testng-6.8.7.jar"
javac TecAdminSeleniumTest.java
java TecAdminSeleniumTest
  

您将看到下面的结果。如果找到定义的搜索字符串,您将收到“通过”消息,如果在网页上未找到该字符串,您将在屏幕上收到“失败”消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Debian Linux 上使用 ChromeDriver 设置 Selenium 的相关文章

随机推荐

  • Shell命令行下如何查找并替换多个文件中的字符

    如果你在shell命令行下 需要一种能快速查找并替换多个文件里字符的方法 那么下面这行命令你一定要记住或者收藏起来 它能帮到你的 find name html print0 xargs 0 perl pi e s SEARCHSTRING
  • 大数据技术——连接数据库报错:Cased by:javax.net.ssl.SSLHandshakeException:No appropriate protocol (protocol is dis

    问题 连接数据库报错 Cased by javax net ssl SSLHandshakeException No appropriate protocol protocol is disabled or cipher suites ar
  • css浮动改变鼠标箭头样式

    默认箭头样式 cursor default 系统默认箭头样式 手型 cursor pointer 手型 手型 cursor hand 手型 移动十字箭头 cursor move 移动十字箭头 帮助问号 cursor help 系统自带帮助问
  • 在openwrt上安装和配置git、ssh和python3

    简单记录在openwrt上安装配置git ssh和python3的流程 更新包管理器 openwrt 自带的包管理器是opkg 安装之前先更新一下 opkg update git和ssh一般放在一起配置 ssh配置完成才可以正常使用git
  • STM32的学习记录--2.WiFi模块的使用

    本次学习用的单片机是STM32F103C8T6 本次学习用的WiFi模块是ESP8266 本博客仅用于课余学习 不可商用 如有侵权 请告知我删除博客 谢谢配合 以下学习资料均在云盘 仅供学习交流 禁止用于商业用途 本文链接 个人博客 htt
  • 计算机视觉—— 相机标定

    目录 简介 一 相机模型 1 坐标系 2 坐标系变化 3 相机畸变模型 二 相机标定原理 三 张正友黑白棋盘格标定 2 1 算法思想 2 2 求解内参和外参的积 2 3 求解内参矩阵 2 4 求解外参矩阵 2 5 得到相机畸变矫正参数 2
  • 一文搞定Windows11+WSL+Pycharm开发环境及避坑

    WSL Pycharm开发环境搭建以及常见问题处理 Windows11 零 环境及背景 0 1 为什么需要这样的开发环境 0 2 什么是WSL 0 3 搭建环境 壹 Windows11 搭建WSL 1 1 启动 WSL 1 2 启动虚拟机平
  • Kibana忘记初始密码怎么办?

    在你elasticsearch的安装目录bin目录下面执行 bin gt elasticsearch reset password u elastic 执行结束之后就是下面初始化新的密码 注意 首次登录Kibana的登录名 elastic
  • Oracle数据库中神奇的dual表

    DUAL是oracle中非常神奇的一张表 有好多人用了很久oracle都不知道dual是干什么的 因为不是自己设计的表 一般处理的SQL也用不到 这里简单说下DUAL的用法 知道之后很多情况下DUAL查询还是很方便的 一 DUAL简介 1
  • Matlab:读取和处理大数据表格文本文件

    Matlab 读取和处理大数据表格文本文件 在实际的数据分析应用中 往往需要处理海量数据 针对大型数据文件 Matlab提供了快速高效的读取和处理工具 可以便捷地完成数据处理任务 本文将介绍如何使用Matlab读取和处理大型表格文本文件 第
  • c#控制台Console类

    c 控制台Console类 console表示控制台 是一个类 它封装了控制台的一些基本操作 输出 Console Write 输出一个或多个值后不换行 其后没有新行符 可以接着前面的字符继续写入 Console WriteLine 输出一
  • 炸弹人小游戏代码开源(python)

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 当遵从一心 踏浪而往 纵千山万水 也要抵达 目录 一 什么是python 二 游戏代码
  • 学python心得体会800字-python心得体会

    广告关闭 腾讯云双11爆品提前享 精选热门产品助力上云 云服务器首年88元起 买的越多返的越多 最高满返5000元 前些日子用python基于prometheus开发了一个vsphere volume卷监控的exporter 于是跟vsph
  • Swift入门篇-闭包和函数

    今天主要是给大家分享的是 swift中闭包的用法 我个人觉得闭包就是函数的简写方法 如果您函数不是很熟悉请查阅 swift入门篇 函数 1 函数类型 函数类型 var 变量 类型 gt 返回值 函数名 说明 1 函数名 表示函数地址 2 类
  • Mysql Workbench的下载和简单使用

    一 下载和安装 1 1网站 http dev mysql com downloads workbench 1 2 点击下载按钮 一直下一步下一步就可以安装成功 二 了解简单使用 2 1安装后 打开首页入下 2 2 连接数据库 点击MySQL
  • crm2013sql服务器安装Microsoft Dynamics CRM Reporting Extensions遇到问题

    前提 我需要创建一个新的组织 但是告诉我未在为组织指定的 Microsoft SQL Server Reporting Services 实例上安装 Microsoft Dynamics CRM Reporting Extensions 然
  • 算法程序设计实验报告

    多种方法解决算法问题 题目一 方法一 快速排序 方法二 直接插入排序 方法三 选择法排序 方法四 冒泡排序 题目二 方法一 冒泡排序 方法二 堆排序 方法三 分治策略 方法四 二路归并排序 题目三 方法一 穷举法 方法二 动态规划 方法三
  • HTML文件怎么引入高德地图

    1 首先 注册高德地图开发者 这个直接在官网上注册 输入必要信息就行 如下 2 注册完成后 进入个人中心 依次点击 应用管理 gt 我的应用 gt 创建新应用 如下 这里输入应用名称 选择类型就行 3 接着就需要为应用添加key值 点击右上
  • 如何在 PHP 中比较两个数组值:实用指南

    在 PHP 中 数组是一种允许存储多个元素的数据结构 数组中的每个元素都有唯一的索引 对数组执行的一种常见操作是比较它们以确定它们是否相同或是否包含相同的元素 在 PHP 中比较数组的方法有多种 包括使用数组函数 例如 array diff
  • 如何在 Debian Linux 上使用 ChromeDriver 设置 Selenium

    本教程将帮助您在 Debian 9 和 Debian 8 上使用 ChromeDriver 设置 Selenium 本教程还包括一个使用 Selenium 独立服务器和 ChromeDriver 并运行示例测试用例的 Java 程序示例 X