c# - 不支持具有相同最大参数计数的多个公共构造函数
问题描述
我有这两个课
public class BrowserContext
{
private readonly ChromeDriver _driver;
public BrowserContext(ChromeDriver driver)
{
_driver = driver;
}
public void NavigateTo()
{
_driver.Navigate().GoToUrl("http://bbc.com");
}
}
public class Homepage
{
private readonly BrowserContext _browserContext;
public Homepage(BrowserContext browserContext)
{
_browserContext = browserContext;
}
[Given(@"I navigate to url")]
public void GivenINavigateToUrl()
{
_browserContext.NavigateTo();
}
当我尝试运行测试时,出现以下错误
不支持具有相同最大参数计数的多个公共构造函数!OpenQA.Selenium.Chrome.ChromeDriver(解析路径:ClassLibrary3.Steps.Homepage->ClassLibrary3.Support.BrowserContext)
请帮忙!
解决方案
基于这个答案https://stackoverflow.com/a/26402692/10148657解决方案是在 BrowserContext 构造函数中实例化 ChromeDriver 而不是在构造函数中接受它:
public class BrowserContext
{
private readonly ChromeDriver _driver;
public BrowserContext()
{
_driver = new ChromeDriver();
}
public void NavigateTo()
{
_driver.Navigate().GoToUrl("http://bbc.com");
}
}
推荐阅读
- javascript - 功能上的 A 帧显示画布
- java - 如何测试浮点随机数生成器?
- mysql - 无法选择具有最大日期的最新行
- swift - 使用 Alamofire 返回解析的 JSON 数据?
- javascript - 将二维相关矩阵转换为javascript对象
- r - 我写了一个函数,但它没有给出我期望的输出
- nodes - EJS 中的局部变量
- apache-spark - 具有特定值之前的分析函数
- java - Spring/Java11 - 由于缺少 ServletWebServerFactory bean,无法启动 ServletWebServerApplicationContext
- gitlab - GitLab:所选阶段不存在