有没有人找到一种方法来运行Selenium RC/Selenium Grid测试,用C#并行编写?
我目前使用Selenium RC的C#驱动程序编写了一个相当大的测试套件.运行整个测试套件需要一个多小时才能完成.我通常不需要运行整个套件,因此到目前为止它还没有引起关注,但我希望能够更频繁地进行操作(例如,作为自动构建的一部分)
我最近花了一些时间来讨论Selenium Grid项目,其目的主要是允许这些测试并行运行.不幸的是,似乎我正在使用的TestDriven.net插件连续运行测试(即,一个接一个).我假设NUnit会以类似的方式执行测试,虽然我实际上没有测试过.
我注意到NUnit 2.5测试版开始讨论与pNUnit并行运行测试,但我还没有真正熟悉这个项目,以确定这是否可行.
我正在考虑的另一个选择是将我的测试套件分成不同的库,这样我就可以同时从每个库中运行测试,但是我想尽可能避免这种情况,因为我不相信这是分裂的正当理由.测试套件.
我想在Browserstack中运行pararell测试.这是我的测试项目
RTest(VS 2013中的单元测试项目)
-UnitTest1.cs
-RTest.config
我打开Nunit并浏览到我的dll bin/debug/RTest.dll,Nunit找到我的测试用例
问题我的RTest.config文件如下所示:
<TestGroup>
<ParallelTests>
<ParallelTest>
<Name>Testing</Name>
<Tests>
<TestConf>
<Name>TestFF-20-Win8</Name>
<Assembly>RTest.dll</Assembly>
<TestToRun>RTest.UnitTest1.TestCase</TestToRun>
<Machine>localhost:8080</Machine>
<TestParams>
<string>firefox</string> <!--browserName -->
<string>20.0</string> <!-- version -->
<string>Windows</string><!-- os -->
<string>8</string><!-- os_version -->
</TestParams>
</TestConf>
<TestConf>
<Name>TestFF-21-win7</Name>
<Assembly>RTest.dll</Assembly>
<TestToRun>Test.UnitTest1.TestCase</TestToRun>
<Machine>localhost:8080</Machine>
<TestParams>
<string>firefox</string>
<!--browserName -->
<string>21.0</string>
<!-- version -->
<string>Windows</string>
<!-- os -->
<string>7</string>
<!-- os_version -->
</TestParams>
</TestConf>
</Tests>
</ParallelTest>
</ParallelTests>
</TestGroup>
Run Code Online (Sandbox Code Playgroud)
我的UnitTest1.cs看起来像这样:
using NUnit.Framework;
using PNUnit.Framework;
using System;
using System.Web;
using System.Text;
using System.Net;
using OpenQA.Selenium;
using OpenQA.Selenium.Remote;
namespace RTest …Run Code Online (Sandbox Code Playgroud) 在搜索NUnit +依赖方法+测试执行顺序时,我已经在SO上阅读了无数的答案.每一个答案都表明,迫使单位测试的任何订单都是非常邪恶的.
我正在使用NUnit编写Selenium测试.所以我试图使用单元测试框架编写集成测试!
举一个集成测试的例子(这只是一个例子).我需要在继续其他测试之前创建一个有效的帐户.如果创建帐户失败,那么我想中止整个测试执行.
由于我不想依赖于字母顺序的测试和NUnit的真正精神,因此决定在进行任何进一步测试之前创建一个帐户.虽然由于两个核心原因它看起来不合适 -
我倾向于认为NUnit可能不适合处理Selenium测试.但如果不是Nunit那么我应该使用什么?
我用NUnit编写了几个调用selenium命令的单元测试.我有2个win2k3服务器盒设置,一个运行selenium网格集线器和2个selenium rc.另一个盒子正在运行5个selenium rc.所有这些都在集线器中注册为在Windows上运行Firefox(为了保持简单).在我的单元测试设置方法中,我已经将它连接到端口4444处的集线器主机名.
运行测试时,它们只按顺序运行(如预期的那样).我已经完成了很多关于NUnit路线图的阅读以及他们如何为并行测试能力拍摄.我已经看到很多指针在此期间使用PNUnit.然而,这似乎完全打败了Selenium Grid的目的.
有没有人使用连接到Selenium Grid设置的C#/ NUnit成功实现了并行测试?如果是这样,请详细说明.
我现在完全不知道如何使用NUnit,因为它现在存在(我使用的是版本2.9.3)