【问题标题】:Selenium test execution via jenkins on linux box通过 linux box 上的 jenkins 执行 Selenium 测试
【发布时间】:2015-06-02 10:09:08
【问题描述】:

如何在 linux 机器上通过 jenkins 运行 selenium webdriver 脚本并在 Jenkins 中发布测试结果?

我使用 Jenkins 作为我的持续集成工具。 Jenkins 在 linux 机器上运行。我需要在 jenkins 的构建过程中运行 Selenium 测试套件并将结果发布回 jenkins。

我能够在构建过程中运行所有 junit/testng 测试用例,并且能够在 jenkins 中发布结果,除了 selenium 脚本。

谁能建议如何在 linux box 中运行 selenium ?

【问题讨论】:

    标签: linux selenium jenkins junit selenium-webdriver


    【解决方案1】:

    基本上,要通过任何 CI 工具运行 selenium 脚本,需要有构建工具,如 ANT、MAVEN 等或任何其他允许您使用命令行运行 selenium 脚本的工具。 Jenkins 提供了运行 shell 脚本、windows 批处理命令、ant 目标等的选项,因此如果您可以通过上述任何一种方式运行测试,那么您可以轻松地在 Jenkins 中配置一个运行测试的作业。

    在 Jenkins 中运行 selenium 测试的概述:

    1. 在 Jenkins Job 中找到您的代码池。您可以使用本地代码库或任何版本控制系统。

    2. 由于Jenkins 提供了运行任何可以从命令行执行的命令的选项,因此您必须以可以从命令行执行的方式设置硒测试。我建议为此使用ANT。如果您使用 ANT 运行测试,那么您可以在 Jenkins 中指定 build.xml 路径和 ANT 目标,它将为您运行该目标。

    3. Jenkins 为您提供了发布 HTML/Junit 报告的选项,因此您只需找到在测试执行后生成报告的路径即可。 Jenkins 将为您发布这些报告。

    正如您所说,Jenkins 设置存在于 linux 机器上,因此您需要使您的测试与 linux 机器兼容。考虑到 linux 机器,您必须实例化驱动程序,或者您可以设置一个 Jenkins windows slave,这将允许您在 Windows 机器上运行测试。

    【讨论】:

    • 谢谢 priyanshu。我已经有 Jenkins 的工作来执行 junit 测试用例来验证其余的 Api,它会在 jenkins 中提供报告。我已经做到了。我可以在 Windows 机器上运行 selenium 套件,因为它打开浏览器并执行所有操作。当我尝试与 Jenkins 集成时,我对在 Linux 中运行 selenium 没有任何想法。我会试试你的建议。
    • Jenkins windows slave 看起来是完美的解决方案。我会试试这个。谢谢
    • 如果您发现我的建议有帮助,请接受。 :)
    • @priyashu。由于其他原因,我无法遵循您的解决方案。有没有其他方法可以在 linux 中运行 selenium?
    • 您可以使用的其他解决方案是远程执行。在 linux 机器上运行 selenium 服务器,并在实例化 RemoteWebDriver 时提供服务器地址。它将在 linux 机器上运行测试,但代码池将驻留在您的本地机器上。
    猜你喜欢
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 2013-03-23
    • 2015-04-07
    • 2012-03-23
    • 1970-01-01
    • 2015-01-07
    相关资源
    最近更新 更多