在Visual Studio中运行Selenium Grid C#项目

在Visual Studio中运行Selenium Grid C#项目,c#,selenium,C#,Selenium,我在VisualStudio(控制台应用程序n类库)中实现了Nunit selenium C#测试。我在VisualStudio中的项目是控制台应用程序。我使用 java -Dwebdriver.gecko.driver="..\jar\geckodriver.exe" -Dwebdriver.chrome.driver="..\jar\chromedriver.exe" -Dwebdriver.ie.driver="..\jar\IEDriverServer.exe" -jar ..\jar\

我在VisualStudio(控制台应用程序n类库)中实现了Nunit selenium C#测试。我在VisualStudio中的项目是控制台应用程序。我使用

java -Dwebdriver.gecko.driver="..\jar\geckodriver.exe" -Dwebdriver.chrome.driver="..\jar\chromedriver.exe" -Dwebdriver.ie.driver="..\jar\IEDriverServer.exe" -jar ..\jar\selenium-server-standalone-3.14.0.jar -role hub -port 4444 
代码:

using Automation_Framework.Manager;
using NUnit.Framework;
using OpenQA.Selenium;
using System;
using System.Collections.Generic;
using System.Text;

namespace Automation_Framework.TestManager
{
    [TestFixture]
    class ChromeTestManager
    {
        private WebDriverManager webDriverManager;
        private IWebDriver driver;

        public ChromeTestManager()
        {
            webDriverManager = new WebDriverManager();
        }

        [SetUp]
        public void setup()
        {
            webDriverManager.createDriver("chrome");
            driver = webDriverManager.getDriver();
        }

        [Test]
        public void test()
        {
            driver.Url = "http://www.google.com.my";
            driver.Navigate();
        }

        [TearDown]
        public void shutdown()
        {
            driver.Close();
        }


    }
}
我曾尝试使用测试资源管理器执行,但它没有打开任何浏览器。我正在关注这一点

问题:

  • 如何在浏览器打开的情况下运行项目并查看所有操作
  • 如何使用Nunit console runner运行

  • 请帮助我。谢谢。

    我没有在.Net中使用网格,但这里是我的答案:

    • 您的命令只是注册一个集线器,它需要保持运行(打开浏览器并测试它是否工作)
    • 您需要在该集线器(不同端口)下注册节点(打开浏览器并测试其是否工作)

    • 在代码中,应该使用“RemoteWebDriver”连接到集线器。 大致是这样的(它是java的,但我希望它能为您提供一个起点)

    祝你好运,我想:
    1.您已在本地尝试了代码,当您在没有网格的计算机上运行测试时,它将打开浏览器。
    2.您的节点已设置并在中心注册

    您需要:
    1.使用RemoteWebDriver:

    var uri = 'uri_to_your_grid_hub';
    var capabilities =  new ChromeOptions().ToCapabilities();
    var commandTimeout = TimeSpan.FromMinutes(5);
    var driver = new RemoteWebDriver(new Uri(uri),capabilities,commandTimeout)
    
  • 将属性添加到类:
    [Parallelizable(ParallelScope.Self)]
    以便与其他测试类并行运行测试
  • 要验证集线器是否正在运行,请打开浏览器并导航到集线器机器上的
  • 资料来源:





    这很紧急,请帮助我。你真的需要WebDriverManager吗?试着只使用IWebDriver驱动程序,就像你所学的教程一样。@nicholas,是不是只有
    TestProject
    没有按预期工作,主项目也没有“OpeningAnyBrowser”?
    var uri = 'uri_to_your_grid_hub';
    var capabilities =  new ChromeOptions().ToCapabilities();
    var commandTimeout = TimeSpan.FromMinutes(5);
    var driver = new RemoteWebDriver(new Uri(uri),capabilities,commandTimeout)