2011-08-17 61 views
2

我试图设置Jenkins来运行我们的黄瓜功能。当谈到设置这个时,我有点失落。这是我们设置的一些细节:设置Jenkins连续集成和Selenium Web应用程序测试

  • 黄瓜的特点写在Ruby和PHP(使用Cuke4PHP)
  • PHP应用程序(通常链接到其他PHP应用程序)
  • 使用水豚和硒锻炼步骤JavaScript的

在开发环境中,因为我们的应用程序需要链接到对方,我们设置Apache虚拟主机与域名就像http://developername.dev.exampleapp.com

我应该如何设置这个Jenkins环境来运行我们的黄瓜测试?

您似乎想要使用VirtualBox或其他设置虚拟机来设置类似于您的生产环境的环境并从该虚拟主机提供项目。但是,你是否在虚拟机之外运行测试?或者你是否在虚拟机上运行测试并向Jenkins报告?您在配置虚拟机时是否设置了虚拟主机?你如何设置你的项目使用独立的数据库?你如何平行运行你的功能,所以他们不会永远持续下去?如果有人能够阐明一些光芒,我将不胜感激。

+0

您是否成功找到答案?我正在为PHP构建类似的CI环境。你能分享你的经验吗? – xvga

+0

不幸的是,我还没有完成设置。一旦我有工作,我会发布更新。 – Andrew

回答

0

您的客户是否在生产服务器上运行其浏览器? (希望不是 - 希望它们能够在自己的计算机上运行它们)因此:

服务器虚拟机与您的生产服务器等效,所以它不是测试应该运行的位置 - 硒测试在浏览器中运行。根据您想要测试的浏览器设置数量/种类,您可以使用OS /浏览器组合框设置单独的虚拟机来运行测试,也可以在标准浏览器安装的虚拟机之外运行它们。

1

我们最近开始使用Vagrant在虚拟机上设置开发环境,在这个虚拟机上我们使用主机和客户Vm之间的文件夹共享来获取应用程序源代码,而应用程序数据库本身在虚拟机上。尽管我们还没有实施CI。

要设置构建应用程序环境,可以使用Vagrant来设置应用程序环境。并为您的Vm分配一个IP,它可以自己处理该IP的虚拟主机。

为了运行测试,您的硒/验收测试应该从主机/构建机器运行,并考虑Amber指出的客户机和服务器体系结构。但是单元测试应该在虚拟机上运行。我对并行运行功能没有多少了解。但是,一旦我们将整个流程实施到配置项目中,我将分享我的经验。