2015-10-06 66 views
2

我正在使用C#搭配硒来构建测试项目,并准备好几个测试。我们在敏捷中工作,每天我都会得到一个新的构建来测试,所以自动化测试是至关重要的,因为开发团队希望确保核心功能正常工作。在服务器上运行硒测试的理想方法是什么

我的开发希望我的自动化测试能够在服务器上运行,但他们不想在其上安装VS。他们希望使用命令行执行测试,以便他们可以创建自动启动并执行测试的服务/调度程序。有人能告诉我应该如何在该服务器上运行测试吗?可能吗?将VS安装在服务器上会让我的生活变得轻松?

我曾尝试以下解决方案,

  1. 使用NUnit和使用NUnit的的DLL来执行使用命令提示符测试。 (但是,我想用Microsoft.VisualStudio.TestTools.UnitTesting)我想使用NUnit并删除Visual Studio测试工具将是最好的方法。

  2. 在我的机器上安装VS 2010控制器&服务器上的VS-Agent。使用它来运行测试(但这涉及在服务器上安装软件)

  3. 在Visual Studio中排序测试,使用生成的xml文件并使用命令提示符运行它。 (这将再次涉及到在服务器上安装)

我很困惑,不知道如何继续或什么是继续进行的理想方式。请回答我的查询。在此先感谢大家!

+0

无论哪种方式,除非硒驱动等驻留在测试服务器上,这些将需要安装。在VS解决方案中,我将所有的Selenium DLL放入一个'Lib'目录,确保它们从那里被引用,并将它们设置为包含在项目构建中。这将确保所需的Selenium驱动程序将与待测项目dll一起安装。 – bilpor

+0

如果我将selenium dll包含到'Lib'目录中,是否必须在服务器上安装Visual Studio?你也可以告诉我哪个是运行硒检测最理想的方法吗? – Vish

+0

不,如果lib目录是解决方案的一部分,您需要将编译后的dll放到您的服务器上,并且lib目录中所需的dll将与它一起使用。我无法告诉您运行测试的理想方式,因为它取决于您的环境。对我而言,我在开发时首先通过Visual Studio运行它们,但是当部署到我们的测试框时,只要dll与应用程序一起运行,测试就会运行。 – bilpor

回答

0

使用有问题的服务器作为一个任务调度程序调用另一台机器它,作为一个枢纽,在使用Visual Studio already installed机器上远程运行测试使用的工具,如TestEasy

的http:// [ YOUR-MACHINE-NAME]:4444/wd/hub - 用Selenium Grid中心机器名称替换(如果需要,也可以使用端口)。请参阅有关设置Selenium网格集线器和节点机器的部分。如果您需要远程浏览器请求您的测试网站,则使用此设置。在基本场景中,您可以将所有浏览器安装在本地的测试/开发机器上,但是您可以选择在远程浏览器上运行测试,以避免测试执行期间浏览器窗口在开发机器上打开和关闭。

参考

相关问题