0

I have these 2 classes

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();

    }

When I try to run the test I get below error

Multiple public constructors with same maximum parameter count are not supported! OpenQA.Selenium.Chrome.ChromeDriver (resolution path: ClassLibrary3.Steps.Homepage->ClassLibrary3.Support.BrowserContext)

Please help!

Erndob
  • 2,512
  • 20
  • 32
Dey
  • 1
  • 2

1 Answers1

0

Based on this answer https://stackoverflow.com/a/26402692/10148657 solution is to instantiate ChromeDriver in BrowserContext constructor rather than accept it in constructor:

public class BrowserContext
{
    private readonly ChromeDriver _driver;

    public BrowserContext()
    {
        _driver = new ChromeDriver();
    }

    public void NavigateTo()
    {
        _driver.Navigate().GoToUrl("http://bbc.com");
    }
}