我在 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。
问题:
- 如何在打开浏览器的情况下运行项目并查看所有操作?
- 如何使用 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)
- 将属性添加到类:
[Parallelizable(ParallelScope.Self)]
以便与其他测试类并行运行您的测试。 - 为了验证集线器是否正在运行,打开浏览器并导航至 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/