c#和selenium grid并行测试
本文关键字:并行 测试 grid selenium | 更新日期: 2023-09-27 18:02:14
我有一个测试,我试图在多个浏览器(IE, Chrome和Firefox)中并行运行。
[SetUp]
public void TestInitialize()
{
//EnvironmentAccess.LoadEnvironment();
// Create a new instance of the Firefox driver
//driver = new FirefoxDriver();
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities = DesiredCapabilities.Firefox();
capabilities.SetCapability(CapabilityType.BrowserName, "firefox");
capabilities.SetCapability(CapabilityType.Platform, new Platform(PlatformType.Windows));
driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capabilities);
}
[Test]
public void SampleTest()
{
string url = "https://google.com";
try
{
driver.Navigate().GoToUrl(url);
}
//other test code
}
[TearDown]
public void TearDown()
{
driver.Quit();
driver.Dispose();
}
我不知道如何让它在多个浏览器上运行。我见过用java实现它,但我正尝试用c#实现它。我读了关于gallio的书,但不明白如何在我的代码中正确地集成它。
Gallio是启动执行运行的一个很好的工具,但是您可能想要探索将MBUnit与Selenium一起用作测试框架。当我们在工作中处理这个问题时,我们发现NUnit在可靠地并行运行测试时相当顽固(如果有的话)。
MBUnit作为Nuget包提供,因此安装很容易。从那里,你只需要根据需要在你的方法上重新使用你的注释。
我得承认MBUnit在这一点上几乎是一个死项目,并且在相当长的一段时间内没有看到积极的开发。话虽如此,我们已经看到在我的团队中使用它取得了很大的成功。它稳定,性能良好,并行化很好,也很容易。考虑到项目的现状,这是值得考虑的,但我还是建议你这么做。
当您使用远程web驱动程序时,所使用的浏览器由所需的功能决定。当你构造你的驱动程序时,你需要为其他浏览器提供所需的功能。
您想要使用的浏览器还需要安装并注册为节点的功能。
https://code.google.com/p/selenium/wiki/DesiredCapabilities