本教程将帮助您在 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
您将看到下面的结果。如果找到定义的搜索字符串,您将收到“通过”消息,如果在网页上未找到该字符串,您将在屏幕上收到“失败”消息。