如何在无头模式下运行WebDriver ?

2024-02-03 18:32
文章标签 模式 运行 webdriver 无头

本文主要是介绍如何在无头模式下运行WebDriver ?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何在无头模式下运行WebDriver?如果您的CI工具(例如Jenkins)不支持UI,则可能需要这样做。

在无头模式下运行WebDriver自动测试在测试执行速度和更轻松地集成到CI管道方面具有优势。

下面,我们将使用PhantomJS和ChromeDriver以无头模式运行Selenium WebDriver测试。

PhantomJS

要使用PhantomJS以无头模式运行WebDriver测试,首先需要下载 PhantomJS可执行文件并将其保存在某个位置,例如项目的资源文件夹。

在下面的示例中,我将PhantomJS可执行文件放在src / test / resources / phantomjs中

您还需要ghost驱动程序依赖项:

<dependency><groupId>com.github.detro.ghostdriver</groupId><artifactId>phantomjsdriver</artifactId><version>1.0.1</version>
</dependency>

而你的Java类:

package com.sdetworld.tutorials.seleniumimport org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;public class WebDriverBase {static protected WebDriver driver;public static void setup() {DesiredCapabilities caps = new DesiredCapabilities();caps.setJavascriptEnabled(true); // not really needed: JS enabled by defaultcaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "src/test/resources/phantomjs");driver = new PhantomJSDriver(caps);}public static void main(String[] args) {WebDriverBase.setup();driver.get("https://www.testingexcellence.com");}
}

ChromeDriver

要使用ChromeDriver在无头模式下运行WebDriver测试,您需要在pom.xml文件中添加相关的依赖项:

<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-chrome-driver</artifactId><version>${selenium.version}</version>              如果对软件测试、接口测试、自动化测试、性能测试、LR脚本开发、面试经验
</dependency>                                           交流。感兴趣可以175317069,群内会有不定期的发放免费的资料链接,这些
<dependency>                                            资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊<groupId>org.seleniumhq.selenium</groupId>          发我,我会注明出处之后分享给大家。<artifactId>selenium-server</artifactId><version>${selenium.version}</version>
</dependency>
<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>${selenium.version}</version>
</dependency>
<dependency><groupId>io.github.bonigarcia</groupId><artifactId>webdrivermanager</artifactId><version>${webdrivermanager.version}</version>
</dependency>

接下来,我们指示WebDriver管理器以无头模式启动chrome驱动程序

package com.sdetworld.tutorials.seleniumimport io.github.bonigarcia.wdm.ChromeDriverManager;
import org.openqa.selenium.chrome.ChromeDriver;public class WebDriverBase {static protected WebDriver driver;public static void setup() {ChromeDriverManager.getInstance().setup();ChromeOptions chromeOptions = new ChromeOptions();chromeOptions.addArguments("--headless");driver = new ChromeDriver(chromeOptions);}public static void main(String[] args) {WebDriverBase.setup();driver.get("https://www.testingexcellence.com");}
}

这篇关于如何在无头模式下运行WebDriver ?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/675006

相关文章

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

SQL Server身份验证模式步骤和示例代码

《SQLServer身份验证模式步骤和示例代码》SQLServer是一个广泛使用的关系数据库管理系统,通常使用两种身份验证模式:Windows身份验证和SQLServer身份验证,本文将详细介绍身份... 目录身份验证方式的概念更改身份验证方式的步骤方法一:使用SQL Server Management S

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Redis高可用-主从复制、哨兵模式与集群模式详解

《Redis高可用-主从复制、哨兵模式与集群模式详解》:本文主要介绍Redis高可用-主从复制、哨兵模式与集群模式的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录Redis高可用-主从复制、哨兵模式与集群模式概要一、主从复制(Master-Slave Repli

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2