在 TeamCity 持续集成服务器上自动化 Selenium 测试
我有一个 Visual Studio 解决方案,其中包括一个具有 Selenium 测试的测试项目。
(我已经有一个由版本控制签入(Mercurial)触发的编译构建)
但我想要一个单独的(每晚)构建配置来运行 Selenium 测试,最好在 MSTest 下。
我想我需要 Selenium Server 来实现这个?如果是这样,在运行测试之前启动它的最佳方法是什么?我应该从 MSBuild 脚本 执行此操作,还是使用 Team City 本身的构建步骤?我是否需要首先启动 Cassini\WebDev.WebServer 才能运行以下命令:
selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost:49192/");
?
我有一个安装了 TeamCity 6.5.1 的构建服务器。 我安装了VS2010。
肯定有人这么做过!在这里迫切需要一些帮助。如果有人能提供任何例子,我们将不胜感激。
I have a Visual Studio solution which includes a Test project having Selenium Tests.
(I already have a compilation build triggered by version control checkin (Mercurial))
But I want to have a separate (nightly) Build Configuration which runs the Selenium tests, ideally under MSTest.
I assume I need Selenium Server for this? If so, what's the best way to fire it up before running the tests? Should I do this from the MSBuild script or use a Build Step from Team City itself? Do I need to fire up Cassini\WebDev.WebServer first of all so the following can run:
selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost:49192/");
?
I have a Build Server with TeamCity 6.5.1 installed.
I have a VS2010 installed.
Surely someone has done this! Desperate for some help here guys. If any one could offer any examples, that would be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我正要在我们的 TeamCity 服务器中设置 Selenium 测试,并且仍在谷歌搜索。
这些是我发现有趣的页面(除了您的 StackOverflow 问题):
使用 TeamCity、Selenium 和 JUnit 对任何 Web 应用程序进行回归测试
TeamCity 的 Selenium 浏览器 UnitTesting
因此,有一种解决方案可以将使用 Selenium IDE 记录的 html 文件转换为 Java,以便在 TeamCity 中使用 JUnit 运行,另一种方法是使用 C# 创建测试脚本。
还有这个主题,“通过 Teamcity 运行 Selenium 测试,可以完成吗?” 描述了将构建代理作为服务运行时出现的问题...我希望我可以继续将代理作为服务运行。
I am just about to set up Selenium tests in our TeamCity Server and am still Googling.
These are the pages that I found interesting (apart from your StackOverflow question):
Regression testing for any web application with TeamCity, Selenium, and JUnit
Selenium browser UnitTesting from TeamCity
So there is one solution that converts the html files recorded with Selenium IDE to Java to be ran with JUnit in TeamCity and the other approach is creating your test scripts in C#.
And this topic, "Running Selenium Tests through Teamcity, can it be done?" describes a problem while running the Build Agent as a service... I hope that I can continue running the agent as a service.
我们正在使用 Selenium 对我们公司的外部网站进行夜间测试。为此,我们使用 Selenium RC 和动态创建的测试套件。
我们的流程看起来比 Ross 更复杂,如下所示:
http://www.mysite.com/selenium/generateTests.aspx
)在 powershell 脚本中:
[*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 配置文件' -htmlSuite *firefox http://www.mysite.com C:\Selenium\www.mysite.com\ generated\GenerateSuite.htm C:\Selenium\www.mysite.com\TestResults.html
[*2] <代码>nxslt3 $seleniumXmlTestReportPath nunit.xslt -o $nunitReportPath baseUrl=$testBaseUrl
We are using Selenium for nightly tests of our companys external web site. For this we use Selenium RC and dynamically created test suites.
Our process, which seems more complicated than Ross' is like this:
http://www.mysite.com/selenium/generateTests.aspx
)In the powershell script:
[*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
我们使用 TeamCity 构建和测试基于 C# 的 Web 应用程序。我们一直运行 Selenium 服务器,使用 Java 服务启动器 来启动它。测试连接到
localhost
,就像您在问题中显示的那样。我们使用 TeamCity 的“NAnt Runner”启动测试作业,并使用 NAnt 的
任务在 NUnit 的控制下运行测试。因为我们这样做,NUnit 会查找并运行任何用[Test]
属性注释的公共方法 - 这是一个非常简单、非常强大的工具。这个设置对我们来说非常有效。
We use TeamCity to build and test our C#-based web application. We run the Selenium Server all the time, using the Java service launcher to start it. The tests connect to
localhost
, just like you show in your question.We use TeamCity's "NAnt Runner" to start the test jobs, and use NAnt's
<nunit2>
task to run the tests under control of NUnit. Because we do that, NUnit finds and runs any public method annotated with a[Test]
attribute - it's a very simple, very powerful tool.This setup works very well for us.
将其与 NUnit 或其他测试运行器集成。
Integrate it with NUnit or other test runner.