使用Nunit在C#并行执行中的Selenium Grid

奥马尔·埃拉米(Omar El-Elmy)

我刚刚为硒网格2进行了设置。集线器和节点已启动并正在运行。我正在使用Selenium Webdriver + C#+ Nunit来运行测试,我现在想执行以下操作:

1) 将测试用例分布在不同的节点之间(并行性),例如,节点1运行测试x,节点2运行测试y

2) 我需要能够为每个节点配置浏览器和平台类型,我现在要做的就是我做一个设置功能,并且所有节点都使用相同的平台和浏览器,那么如何我通过分配每个节点的所需功能来实现这一目标。

问题是当我运行即将到来的代码时,我发现测试同时运行而不是并行运行。

我的代码快照:

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Safari;
using OpenQA.Selenium.Edge;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Remote;
using NUnit;
using NUnit.Framework;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;


namespace GridTest
{
    [TestFixture]
    [Parallelizable]
    public class Test_Grid
    {
        IWebDriver driver;

        [SetUp]
        public void Setup()
        {

            /////IE Setup/////////
            var capabilities = new DesiredCapabilities("internet explorer", string.Empty, new Platform(PlatformType.Any));
            capabilities.SetCapability("ignoreProtectedModeSettings", true);

            driver = new RemoteWebDriver(new Uri("http://localhost:4445/wd/hub"),capabilities);

         }

        //Search google test 
        [Test]
        [Parallelizable]
        public void GoogleSearch()
        {
            string homepage = "http://www.google.com";
            //Navigate to the site
            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));

            driver.Navigate().GoToUrl(homepage);

        }

        [Test]
        [Parallelizable]
        public void BingSearch()
        {
            //var driver = new FirefoxDriver();
            driver.Navigate().GoToUrl("http://www.bing.com");

        }


      [TearDown]
       public void Teardown()
        {

           driver.Quit();
        }
    }
}
查理

简单一个...但是您不会喜欢这个答案。:-(

NUnit尚不支持在夹具中并行运行测试方法。它只能并行运行单个灯具。

因此,您需要使用OneTimeSetUp选择正确的浏览器来对要在灯具级别并行运行的事物进行建模。

更新-2019年9月27日

我是在三年前写出上述答案的,那是真的!人们,请仔细阅读这些问题和答案的日期,因为除非删除,否则他们将永远留在这里。

发布答案几个月后,NUnit增加了并行运行单个测试用例(方法)的功能。有关受支持功能的最新信息的最佳来源是NUnit文档,而不是SO!大多数工具都是如此。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Selenium Grid for Webdriver + TestNG并行执行的问题

来自分类Dev

如何使用Grid并行执行黄瓜测试用例?

来自分类Dev

无法在Android中使用Selenium Grid(Appium)运行并行测试?

来自分类Dev

使用Selenium Grid运行并行测试是否需要TestNG?

来自分类Dev

并行测试的TestNG问题(Selenium Grid)?

来自分类Dev

如何在 Selenium Grid 上并行执行一批 Selenium 测试

来自分类Dev

未使用 NUnit、Selenium 和 C# 运行的测试执行

来自分类Dev

在Grid中围绕Grid的WPF Xaml scrollviewer

来自分类Dev

Grid中的initialConfig问题

来自分类Dev

如何使用grid()python

来自分类Dev

Selenium Grid + Maven + TestNG + 范围报告 + 并行测试

来自分类Dev

如何在C#中创建Grid.ColumnDefinition?

来自分类Dev

WPF C#中的TextBlock,Grid的通用类

来自分类Dev

Winrt中的Grid.Effect

来自分类Dev

在`grid` /`ggplot`中复制`layout`

来自分类Dev

CSS Grid中的神秘缺口

来自分类Dev

在`grid` /`ggplot`中复制`layout`

来自分类Dev

在Kendo Grid中显示日期

来自分类Dev

$(“#grid”)。kendoGrid中的datetimePicker列

来自分类Dev

在ui-grid / ng-grid中创建“空”行

来自分类Dev

在Kendo UI Grid中对Grid数据进行排序

来自分类Dev

为什么 Grid.Column 在 Grid.Row 中是水平的?

来自分类Dev

使用Ajax更新Kendo Grid

来自分类Dev

在PartialView中使用Kendo Grid

来自分类Dev

正确使用ag-grid

来自分类Dev

使用Grid Css折叠边框?

来自分类Dev

使用Grid ID隐藏Kendo Grid工具栏

来自分类Dev

如何检查远程 Selenium Grid 集线器是否正在执行测试?

来自分类Dev

NUnit、Selenium、Selenium Grid 和 Specflow 之间的关系以及它们的作用/目的

Related 相关文章

热门标签

归档