有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Jenkins for Maven/Java项目上实现selenium测试?

朋友们。我试图了解硒是如何工作的。我用JUnit4编写了一些测试。当我的应用程序运行时,这些测试工作正常,我将URL localhost:8077放在启动我的应用程序的地方。所有的测试都通过了。但现在我希望我的战争构建将取决于这些测试。在这些之后,我希望自动发布(Jenkins)也将依赖于selenium测试。 有些事情我不明白:

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

共 (2) 个答案

  1. # 1 楼答案

    我会尽力回答你们的问题,希望能为你们澄清一些事情

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

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

  2. # 2 楼答案

    Should the selenium test be included in my application or they should be assembled in a standalone application? (I read about Selenium Grid but I am not sure that I need it)?

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

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

    I have one developer machine, one server with jenkins and the production server. What are the needed steps to implement Selenium test? What Url should be used in test? Is it needed to install Tomcat Server on the same server with Jenkins?

    Selenium测试可以通过Maven在Jenkins上执行hereherehere的步骤

    应该使用Dev或Test URL来运行测试

    我认为如果你在Jenkins机器上托管应用程序,你需要Tomcat服务器,否则就不需要了

    Can I invalidate the build and drop the release on Jenkins if selenium tests are not passed?

    当您在项目配置中包括测试配置时,如果测试失败,则在生成作业期间生成可能会失败。您可以设置在测试失败(如生成失败)或通过生成并发出警告时,希望如何继续生成。您可能还希望获得生成失败的通知

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

    Jenkins plugins可根据需要使用

    You may like to read more about How to do Integration tests here.