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

标签 c# selenium

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

启动了 selenium 网格
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();
        }


    }
}

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

问题:

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

请帮帮我。谢谢。

最佳答案

我假设:
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)
  1. 将属性添加到类:[Parallelizable(ParallelScope.Self)] 以便与其他测试类并行运行您的测试。
  2. 为了验证集线器是否正在运行,打开浏览器并导航至 http://localhost:4444在中心机上。

来源:

How can I run NUnit(Selenium Grid) tests in parallel?
Selenium Grid in C#
Useful C# WebDriver examples
Selenium Grid set up

关于c# - 在 Visual Studio 中运行 Selenium Grid C# 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60199348/

相关文章:

java - 如何在 ReportNG Test 中附加屏幕截图

python - 在 Selenium 中使用 find_element_by_class_name 遍历多个类

Java Selenium 。如何使用 chrome 和插件?

c# - 无法在 EF Where 表达式中使用 LINQ 用于 lambda 属性

c# - JSonConverter 如何进行泛型反序列化

c# - 移植 "SQL"导出到 T-SQL

c# - 从独立存储中的图像设置辅助平铺背景图像

Selenium IDE - 导出测试脚本

selenium - Play framework + Selenium webdriver + cucumber sticks on the first http request

c# - 更新属性和乒乓球事件