首页 > 解决方案 > 如何使用 Spring Boot Selenium 测试获得完整的 HTTP 服务器?

问题描述

我知道在运行 Spring 测试时,有各种注释可以让您限制在后台运行的内容,以便您的单元测试可以更快地运行,并且只启用测试代码所必需的内容。但是,如果您想使用 Selenium 测试 UI,则需要完整地运行 Web 应用程序(服务器 + DB + UI + 等...)。怎么可能做到这一点?我应该在测试类标头中添加哪些注释,以便我可以运行测试并自动加载 Web 应用程序,以便可以通过浏览器 WebDriver 成功执行测试?到目前为止,我只使用以下注释:

@RunWith(SpringRunner.class)
@SpringBootTest

如果你们中的任何人使用 Spring Boot 2.x 成功运行 Selenium 测试,请告诉我。

标签: springseleniumspring-bootselenium-webdriverautomated-tests

解决方案


Spring Test 用于单元和集成测试。这就是他们在文档中所说的。您要问的绝对是更高级别的测试(根据测试金字塔):UI 测试。

UI 测试不仅仅是简单的“运行一些带有注释和 Selenium 的类并显示结果”。所以没有“神奇”的注释来启动你的应用程序进行 UI 测试。通常,您有一个单独的环境(可能是“开发”或“暂存”环境,或容器化设置中的一次性环境),您首先将应用程序(使用通用部署技术)部署到该环境上,然后运行测试。测试甚至可能驻留在单独的存储库中。


推荐阅读