【问题标题】:How to execute test code (maven/java/testNG/selenium) remotely?如何远程执行测试代码(maven/java/testNG/selenium)?
【发布时间】:2021-06-12 14:15:14
【问题描述】:

我在本地运行了一个 Maven/Selenium/Java/TestNG 测试项目,我希望我可以将它推送到 Docker/Kube,这样它就可以远程执行,而无需使用我的机器的电源,也为了成为可以在“没有”我的情况下使用。

我担心的是,每次我查找有关它的示例或文档时,我只能找到有关使用 Selenium Grid 或类似工具远程运行驱动程序交互的解释。但绝不要远程运行测试代码。有没有关于它的教程或示例?

我计划使用 Browserstack(或具有远程驱动程序的类似解决方案)进行驱动程序交互,并且我已经运行了本地 Allure 服务器进行报告,所以我只需要将测试代码容器化,不知道你们中是否有人有已经做到了以及如何做到的。欢迎任何建议:)

【问题讨论】:

  • Maven 已经有了运行测试的目标(例如mvn test 等)。您可以寻找如何在容器中构建您的应用程序并执行类似的操作以仅运行测试(默认情况下,maven 构建已经运行他们找到的任何测试)。
  • > 如何在容器中构建应用程序 是的,这基本上就是我在这里寻找的。可能我错过了阅读的大多数文章,但我可以找到一些 Java 应用程序容器帮助(如 JIB),但没有特定于 Java 测试应用程序的内容。

标签: java docker selenium maven automated-tests


【解决方案1】:

你可以通过多种方式做到这一点,但首先你需要创建一个 dockerfile

使用特定的 mvn 插件 spotify 并且需要在您的 pom 文件中进行配置。

或者只是使用 docker 命令, https://docs.docker.com/engine/reference/commandline/build/#:~:text=The%20docker%20build%20command%20builds%20Docker%20images%20from,instruction%20to%20reference%20a%20file%20in%20the%20context.

【讨论】:

  • 感谢您的指导。确实,Spotify 插件看起来很有前途,但我仍然不知道如何使它工作,必须有一些未提及的先决条件。我想我对更完整示例或教程的追求还没有结束,但我现在有了新的线索:)
【解决方案2】:

要运行 selenium,您必须查看命令行选项。您可以按照以下讨论直接使用 testng 运行:

How to run TestNG from command line

但是由于您已经在使用 maven 进行构建管理,您可以使用 surefire-plugin 并运行 mvn test 来执行测试。见讨论:

How to run testng.xml from Maven command line

当您在 CI/CD 或任何其他此类工具中集成测试或任何其他工具时,请参阅命令行选项。看看如何从命令行执行测试

【讨论】:

  • 谢谢!我已经在使用 surefire-plugin 并从命令行运行测试。基本上,我有一个 bash 文件在执行 mvn clean test site 并处理其他选项,如测试组、无头、测试环境地址、重试等。但是从命令行运行测试并不意味着它正在远程运行。基本上,如果我在执行过程中关闭了我的 WIFI/Mac,我会失去一切 ^^
  • @Batou 这就是您使用 ci/cd 解决方案的原因,该解决方案将脚本部署到代理并在该代理上本地启动测试
  • 像解决方案一样使用詹金斯
  • 不幸的是,詹金斯毫无疑问。我需要使用 Docker。
猜你喜欢
  • 2017-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2020-01-26
  • 1970-01-01
  • 2013-07-22
相关资源
最近更新 更多