0

I've been developing automation using Selenium and InternetExplorerDriver for a while. I want to move to Coypu and I'm trying to convert my code. In Selenium I would specify:

InternetExplorerOptions customProfile = new InternetExplorerOptions()
{
  EnsureCleanSession = true,
  EnableNativeEvents = false,
  IgnoreZoomLevel = true,
  IntroduceInstabilityByIgnoringProtectedModeSettings = true,
  RequireWindowFocus = false,
  EnablePersistentHover = false,
  AcceptInsecureCertificates = true,
};
InternetExplorerDriver customDriver = new InternetExplorerDriver(customProfile);

Is there any way to use these settings with Coypu?

When I try to pass in the customDriver in the code sample above by doing:

browserSession = new BrowserSession(session, customDriver);

it complains that "Cannot convert from 'OpenQA.Selenium.IE.InternetExplorerDriver' to 'Coypu.Driver'

Is there some way to make the BrowserSession take the InternetExplorerDriver as a parameter? Or is there some way to specify the settings in the customProfile in the Coypu version of the SeleniumWebDriver?

1 Answers1

0

You could create your own subclass of Coypu.Drivers.Selenium.SeleniumWebDriver. SeleniumWebDriver does have a protected constructor, taking an OpenQA.Selenium.IWebDriver as first argument.

Using the snippets you've provided, this would lead to the following code:

public class MySeleniumWebDriver : SeleniumWebDriver
{
    public MySeleniumWebDriver(IWebDriver webDriver, Browser browser)
        : base(webDriver, browser)
    {
    }
}
var internetExplorerOptions = new InternetExplorerOptions()
{
    EnsureCleanSession = true,
    EnableNativeEvents = false,
    IgnoreZoomLevel = true,
    IntroduceInstabilityByIgnoringProtectedModeSettings = true,
    RequireWindowFocus = false,
    EnablePersistentHover = false,
    AcceptInsecureCertificates = true,
};
var internetExplorerDriver = new InternetExplorerDriver(internetExplorerOptions);

var myDriver = new MySeleniumWebDriver(internetExplorerDriver, Browser.InternetExplorer);

var browserSession = new BrowserSession(session, myDriver);
mholle
  • 577
  • 1
  • 10
  • 19