在TeamCity Continuous Integration服务器上自动执行Selenium测试

Wro*_*gun 30 teamcity continuous-integration selenium

我有一个Visual Studio解决方案,其中包含一个具有Selenium测试的测试项目.

(我已经有版本控制checkin(Mercurial)触发的编译版本)

但是我希望有一个单独的(每晚)构建配置来运行Selenium测试,理想情况下是在MSTest下.

我想我需要Selenium Server吗?如果是这样,在运行测试之前启动它的最佳方法是什么?我应该从MSBuild脚本执行此操作还是使用Team City本身的Build Step?我首先需要启动Cassini\WebDev.WebServer,以便运行以下命令:

selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost:49192/");
Run Code Online (Sandbox Code Playgroud)

我有一个安装了TeamCity 6.5.1的Build Server.我安装了VS2010.

当然有人这样做了!绝望的帮助这些家伙.如果任何人可以提供任何示例,那将不胜感激.

Örj*_*mte 16

我正准备在我们的TeamCity Server中设置Selenium测试,但仍然是Googling.这些是我发现有趣的页面(除了你的StackOverflow问题):

使用TeamCity,Selenium和JUnit对任何Web应用程序进行回归测试

来自TeamCity的Selenium浏览器UnitTesting

因此,有一种解决方案可以将使用Selenium IDE记录的html文件转换为Java,以便在TeamCity中使用JUnit进行运行,另一种方法是使用C#创建测试脚本.

这个话题,"通过Teamcity运行Selenium测试,可以做到吗?" 描述将Build Agent作为服务运行时的问题...我希望我可以继续将代理作为服务运行.


Nik*_*lff 7

我们正在使用Selenium对我们公司的外部网站进行夜间测试.为此,我们使用Selenium RC和动态创建的测试套件.

我们的过程似乎比罗斯更复杂,就像这样:

  1. 在TeamCity服务器上安装Selenium RC
  2. 使用Firefox IDE插件创建测试
  3. 创建一个生成测试套件html文件的网页,其中包含指向特定Web可访问文件夹中所有测试的链接(例如http://www.mysite.com/selenium/generateTests.aspx)
  4. 在TeamCity中创建一个Powershell构建步骤,运行一个脚本,将该套件和相应的测试下载到构建服务器
  5. 添加"XML报告处理"构建功能以扫描测试结果.这使得TeamCity能够告诉您测试结果.

在powershell脚本中:

  1. 执行Selenium RC运行时,其输入目标是下载的测试套件以及哪个URL是基本URL.[*1]
  2. 使用XSLT将输出转换为NUnit格式[*2]

[*1] java -jar C:\Selenium\selenium-remote-control-1.0.3\selenium-server-1.0.3\selenium-server.jar -log C:\Selenium\www.mysite.com\selenium-log.log -userExtensions 'user-extensions.js' -firefoxProfileTemplate 'Selenium FireFox Profile' -htmlSuite *firefox http://www.mysite.com C:\Selenium\www.mysite.com\generated\GeneratedSuite.htm C:\Selenium\www.mysite.com\TestResults.html

[*2] nxslt3 $seleniumXmlTestReportPath nunit.xslt -o $nunitReportPath baseUrl=$testBaseUrl


Ros*_*son 6

我们使用TeamCity来构建和测试基于C#的Web应用程序.我们一直运行Selenium Server,使用Java服务启动器启动它.测试连接到localhost,就像你在问题中显示的那样.

我们使用TeamCity的"NAnt Runner"来启动测试作业,并使用NAnt的<nunit2>任务在NUnit的控制下运行测试.因为我们这样做,NUnit找到并运行任何使用[Test]属性注释的公共方法- 它是一个非常简单,非常强大的工具.

这个设置对我们非常有用.


Ale*_*ček 1

将其与 NUnit 或其他测试运行器集成。