Spring Boot GUI 测试 Selenium WebDriver

2024-01-09

我开发了一个 Spring Boot / Angular JS 应用程序。现在我正在尝试实现一些GUI界面测试。

我尝试使用 Selenium ChromeDriver,所以我添加了 Selenium 依赖项:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.4.0</version>
</dependency>

我创建了我的第一个测试:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyMainClass.class)
public class SeleniumTest {
    private WebDriver driver;

    @Before
    public void setup() {
        System.setProperty("webdriver.chrome.driver", "my/path/to/chomedriver");
        driver = new ChromeDriver();
    }

    @Test
    public void testTest() throws Exception {
        driver.get("https://www.google.com/");
    }
}

这很好用。但现在我想通过以下方式获取我的应用程序页面:

driver.get("http://localhost:8080/");

但我在 Chrome 浏览器中收到“ERR_CONNECTION_REFUSED”。

我认为这是因为我需要在运行测试之前设置测试来运行我的网络应用程序,但我不知道如何实现这一点?


在您的情况下,服务未启动。尝试这样的事情。

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class SeleniumTest {
    @LocalServerPort
    private int port;
    private WebDriver driver;

    @Value("${server.contextPath}")
    private String contextPath;
    private String base;

    @Before
    public void setUp() throws Exception {
        System.setProperty("webdriver.chrome.driver", "my/path/to/chromedriver");
        driver = new ChromeDriver();
        this.base = "http://localhost:" + port;
    }

    @Test
    public void testTest() throws Exception {
        driver.get(base + contextPath);
    }
}

UPDATE:

添加依赖

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

Spring Boot GUI 测试 Selenium WebDriver 的相关文章

随机推荐

  • 如何使用 C# 下载并解压 gzip 压缩文件?

    我需要定期下载 提取并保存内容http data dot state mn us dds det sample xml gz http data dot state mn us dds det sample xml gz到磁盘 有人有使用
  • 是否可以分解functions.php 文件?

    我目前正在开发一个 WordPress 网站 选择的购物平台是 WooCommerce 我想创建一系列模板文件 在content product single php文件 其中包含数学计算 由于某种原因 数学计算似乎只有在放入functio
  • HTTPS 适用于闪亮的应用程序?

    有什么想法可以将 HTTPS 添加到 Shiny 应用程序吗 我遇到了下面的一些指南 但不确定它们是否可靠 只需 4 个简单步骤即可向 Shiny 服务器添加身份验证 https auth0 com blog adding authenti
  • Akka Actors:需要一个例子来理解一些基础知识

    我正在修改 Akka 需要一些建议来实现我想要的特定内容 我想要一个可以发送给我的演员DownloadFile URI File 消息并下载 由于这可以并行 我不想一个接一个地下载文件 但并发下载有限制 用 Akka 建模这样的东西的预期方
  • 使用Python水平组合多个图像

    我正在尝试在 Python 中水平组合一些 JPEG 图像 Problem 我有 3 张图片 每张图片都是 148 x 95 请参阅附件 我刚刚制作了同一张图像的 3 个副本 这就是为什么它们是相同的 我的尝试 我正在尝试使用以下代码水平连
  • QT QTcpServer::incomingConnection(qintptr 句柄)未触发?

    我第一次尝试使用 Qt 创建多线程服务器 通常我们会使用由QTcpServer nextPendingConnection 套接字句柄已经嵌入 但由于我在单独的线程上与连接客户端进行交互 所以我需要使用单独创建套接字qintptr hand
  • 在manifest.xml 文件中使用-permission 与 android 权限的权限

    我注意到清单文件中有两种类型的权限 permission 和 uses permission 如下所示的两种
  • Pandas:根据行值选择列

    我有一个非常大的pandas Dataframe并希望通过选择其中一行具有特定值的所有列来创建一个新的数据框 A B C D E Region Nord S d West Nord Nord value 2 3 1 2 4 2 0 5 1
  • SQL 字符串拆分为单列

    对 SQL 非常陌生 但我需要一些帮助 我确信这是一个简单的修复 我在名为 Produce 的表中有一列数据 其中水果类型存储在名为 Fruit 的列中 此列中的某些值以逗号分隔 有没有一种简单的方法来分割下面的内容 以便结果作为唯一条目的
  • 如何在使用 gradle 依赖项时排除多个组

    就像这段代码 dependencies compile com wdullaer materialdatetimepicker 3 2 2 exclude group com android support module support v
  • Python - 获取所有目录中的文件扩展名计数

    我们有一个硬盘驱动器 里面有数十万个文件 我需要弄清楚我们有多少个文件扩展名 我怎样才能用Python做到这一点 我需要它来遍历每个目录 我公司的律师需要这个 它可以是整个硬盘的总计 不必按目录细分 example 1232 JPEG 11
  • 当某张幻灯片出现在reveal.js中时执行函数

    我用这个 javascript 框架创建了一个演示文稿http lab hakim se reveal js http lab hakim se reveal js 当某些幻灯片出现时 我想执行函数 stats 它每 5 秒显示来自 API
  • 将动画 .GIF 设置为 Android 背景

    我是 Android 新手 在布局背景中播放动画 gif 文件时遇到问题 当我运行应用程序时 背景是动画 gif 的单帧 就像图片一样 我主要做了两个方面的研究 下面的链接是我获得最多帮助的地方 Android 操作系统入门 BlogSpo
  • 从字符串获取 doubleValue 时如何防止四舍五入?

    我从服务器获取字符串格式的纬度和经度 然后我通过使用默认的 doubleValue 函数将纬度和经度值转换为双精度值来使用此纬度和经度 但使用此值进行四舍五入 那么 从字符串获取 doubleValue 时如何防止四舍五入 这是我的代码 C
  • 带直播的 VideoJs

    我正在尝试让 videoJs 处理实时流 我有一个包含 rtmp 实时流的链接 播放器本身有一个链接 rtmp rtmp jim stream vmmacdn be vmma jim rtmplive live jim我目前只是想让直播流在
  • 如何通过单次按键退出 Vi 编辑器?

    因为老实说 wq 实在是太多了 无法打字 请注意 问题是关于原始 Vi 比如 FreeBSD 附带的 Vi 而不是 Vim 按住 Shift 键并按 Z 两次 ZZ 大部分 相当于 wq 如果您确实想要一个单击键解决方案 FreeBSD 附
  • Delphi中使用VID和PID直接与USB设备进行数据交换

    我一直在尝试在网上找到一些免费且有效的代码 了解如何 发送和接收数据 或帧 因为它似乎被称为 到和从一个特定的 使用VID和PID的USB设备 有谁知道如何在delphi中做到这一点 对于delphi来说 这似乎根本就没有什么 See Ro
  • 检查字符串是否包含任何非数字字符 - 无库 - Java

    对于熟悉正则表达式的人来说这可能很清楚 但我却不清楚 Example String onlyNumbers 1233444 String numbersAndDigits 123344FF if IS ONLY NUMBERS onlyNu
  • 如何安排 SSIS 包以 SQL 代理服务帐户以外的方式运行

    在 SQL Server 2005 中 是否可以安排 SSIS 包运行 SQL 代理服务帐户以外的其他程序 我有一个 SSIS 包 它可以连接到数据库并运行存储过程 我的标准是我不会在包或包配置中指定用户名 密码 因此我想使用集成身份验证
  • Spring Boot GUI 测试 Selenium WebDriver

    我开发了一个 Spring Boot Angular JS 应用程序 现在我正在尝试实现一些GUI界面测试 我尝试使用 Selenium ChromeDriver 所以我添加了 Selenium 依赖项