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的书,但不明白如何在我的代码中正确地集成它。

c#和selenium grid并行测试

Gallio是启动执行运行的一个很好的工具,但是您可能想要探索将MBUnit与Selenium一起用作测试框架。当我们在工作中处理这个问题时,我们发现NUnit在可靠地并行运行测试时相当顽固(如果有的话)。

MBUnit作为Nuget包提供,因此安装很容易。从那里,你只需要根据需要在你的方法上重新使用你的注释。

我得承认MBUnit在这一点上几乎是一个死项目,并且在相当长的一段时间内没有看到积极的开发。话虽如此,我们已经看到在我的团队中使用它取得了很大的成功。它稳定,性能良好,并行化很好,也很容易。考虑到项目的现状,这是值得考虑的,但我还是建议你这么做。

当您使用远程web驱动程序时,所使用的浏览器由所需的功能决定。当你构造你的驱动程序时,你需要为其他浏览器提供所需的功能。

您想要使用的浏览器还需要安装并注册为节点的功能。

https://code.google.com/p/selenium/wiki/DesiredCapabilities