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

news/2024/7/5 23:33:54 标签: python, 面试, ui

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1240

如何在无头模式下运行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.selenium

import 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 default
    caps.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.selenium

import 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");
  }
}

转载于:https://my.oschina.net/u/3942476/blog/2961069


http://www.niftyadmin.cn/n/1148275.html

相关文章

DOTNET下企业应用系统架构构建

在开始架构设计之前&#xff0c;需要了解一下架构是什么&#xff0c;按照IEEE标准的定义是&#xff1a; Architecture 是一个系统的基本组织&#xff0c;它蕴含于系统的组件中、组件之间的相互关系中、组件与环境的相互关系中、以及呈现于其设计和演进的原则中。 (The embodied…

Mysql主从分离实现

一、数据库层面的主从配置实现 MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份&#xff0c;实现数据库的拓展。多个数据备份不仅可以加强数据的安全性&#xff0c;通过实现读写分离还能进一步提升数据库的负载性能。 下图就描述了一个多个数据库间主从复…

基于 Zookeeper 的分布式锁实现

1. 背景 最近在学习 Zookeeper&#xff0c;在刚开始接触 Zookeeper 的时候&#xff0c;完全不知道 Zookeeper 有什么用。且很多资料都是将 Zookeeper 描述成一个“类 Unix/Linux 文件系统”的中间件&#xff0c;导致我很难将类 Unix/Linux 文件系统的 Zookeeper 和分布式应用联…

区块链软件公司:区块链未来前景

随着区块链技术的不断发展&#xff0c;区块链技术也已经逐渐的被各大科技公司和研发部门应用与我们生活当中的各行各业&#xff0c;也因为区块链技术的广泛应用使得我们的日常生活更加的方便和快捷&#xff0c;那么有人问区块链技术的前景如何呢?大家又是如何看待区块链技术的…

美欲打造世界最大超级邮轮 相当于13个泰坦尼克

美国“自由之船国际公司”打算建造一艘史无前例的“世界最大的超级邮轮”。它的个头相当于目前全球最大邮轮“玛丽女王二世”号的4倍。船上有多达1.8万套“海景房”、剧院、赌场、商业中心&#xff0c;甚至还有机场、学校和医院&#xff0c;可供6万人同时居住。亿万富豪们可以常…

3.15晚会不够“狠” 央视让观众失望

专题制作老调重弹、涉及企业并不知名、明星代言表达隐讳、文艺节目占时较长……昨晚备受关注的315晚会给观众留下的遗憾大于震撼。 315晚会结束后&#xff0c;记者通过网站发帖和电话采访的形式进行了观众调查。结果显示&#xff0c;观众对今年的晚会评价较低。今晨记者在网…

Maven的聚合模块和继承

最近重新读了一下《Maven实战》&#xff0c;记录一下一直被我忽略的聚合和继承的关系。 聚合 首先&#xff0c;一个模块有一个pom&#xff08;Project object Model&#xff09;文件。当一个项目比较大的时候&#xff0c;按一定规则划分成不同的模块是一个比较好的方式。这时候…

中国IT培训市场分析报告:三类人今年易就业

IDC近日发布关于中国IT培训市场分析报告。该报告认为&#xff0c;2008年以下三类IT人才就业前景看好。 此次调查显示&#xff0c;包括北大青鸟Aptech、NIIT、新华电脑、思远、清华万博、汇众益智、华育国际、达内科技、文达电脑、东方标准在内的十家培训机构瓜分了中国IT培训市…