【问题标题】:How to implement selenium tests on Jenkins for Maven/Java project?如何在 Jenkins 上为 Maven/Java 项目实施硒测试?
【发布时间】:2015-06-23 20:13:23
【问题描述】:

朋友。我试图了解硒是如何工作的。我用 JUnit 4 编写了一些测试。这些测试在我的应用程序运行时运行良好,并且我将启动应用程序的 URL 设置为 localhost:8077。所有测试都按我的需要通过。但现在我希望我的战争构建将取决于这些测试。在这些之后,我希望自动发布(Jenkins)也将依赖于硒测试。 有些东西我不明白:

  1. 硒测试应该包含在我的应用程序中还是应该组装在一个独立的应用程序中? (我阅读了有关 Selenium Grid 的信息,但不确定是否需要它)?
  2. 我有一台开发机器、一台带有 jenkins 的服务器和生产服务器。实施 Selenium 测试需要哪些步骤?测试中应该使用什么Url? Tomcat Server 需要和 Jenkins 安装在同一台服务器上吗?
  3. 如果 selenium 测试未通过,我可以在 Jenkins 上使构建无效并放弃发布吗?

【问题讨论】:

    标签: java maven selenium jenkins junit


    【解决方案1】:

    硒测试应该包含在我的应用程序中还是应该组装在一个独立的应用程序中? (我读过 Selenium Grid,但我不确定我是否需要它)?

    这取决于您希望如何运行测试。最佳实践是在您的 Maven 项目中调用测试配置,测试将在您的构建作业期间运行。您也可以在构建完成后调用您的 Maven 目标。

    Selenium Grid 很有用,但前提是您的专用机器具有适当的设置来运行这些测试,否则您的测试可能经常失败。您应该考虑使用 Saucelabs 等服务在云端远程运行测试。

    我有一台开发机器,一台带有 jenkins 的服务器和生产服务器。实施 Selenium 测试需要哪些步骤?测试中应该使用什么Url? Tomcat Server需要和Jenkins安装在同一台服务器上吗?

    可以按照hereherehere 的步骤在 Jenkins 上使用 Maven 实现 Selenium 测试。

    应使用开发或测试 URL 来运行测试。

    如果您将应用程序托管在 Jenkins 机器上,我认为您将需要 Tomcat 服务器,否则不需要它。

    如果 selenium 测试未通过,我可以在 Jenkins 上使构建无效并放弃发布吗?

    当您在项目配置中包含测试配置时,如果您的测试失败,则在构建作业期间构建可能会失败。您可以设置在测试失败时如何继续构建,例如构建失败或通过构建并发出警告。您可能还希望收到构建失败的通知。

    例如。 Jenkins marks good build as failure because of test failed

    Jenkinsplugins可以根据需要使用。

    您可能想阅读更多关于如何进行集成测试here

    【讨论】:

      【解决方案2】:

      我会尽力回答您的问题,并希望为您解决一些问题。

      1. 根据我的经验,每个测试都应该创建为一个新项目,然后配置为在您的应用部署后或定期运行。不,你不需要需要 Selenium Grid。它用于并行执行测试。

      2. 您需要将您的机器配置为 jenkins 上的节点,并在从属机器上安装 jenkins 代理。设置 selenium 测试取决于您编写测试的方式,例如我使用 maven 作为我的构建工具。因此,对于每个新测试,我只需要指向 svn 并给出 maven 启动命令。 url 是您用来访问应用程序的任何 url。在他们的网站上有一篇关于如何设置jenkins的非常好的文章,你可以找到它here

      3. 是的。

      【讨论】:

      • “新项目”是什么意思?它是 SeleniumTest 类的新方法吗?是新的考试班吗?还是仅为硒测试启动的新应用程序? selenium 如何在不运行的情况下测试我的新版本?我认为我需要在 selenium 测试它之前在测试服务器上运行我的构建。
      • 新项目是指詹金斯的新工作。如果您的应用程序可以通过 url 访问,即。一个网站然后 selenium 可以测试它(在开发之前推送到生产,或定期反对生产)。不幸的是,我没有任何使用 .wars 测试的经验。
      猜你喜欢
      • 2015-06-15
      • 2021-07-26
      • 1970-01-01
      • 2019-07-18
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      相关资源
      最近更新 更多