diff --git a/dotnet/src/webdriver/Edge/EdgeDriverService.cs b/dotnet/src/webdriver/Edge/EdgeDriverService.cs index 1cca44cef2ec2..997e9b366a8f1 100644 --- a/dotnet/src/webdriver/Edge/EdgeDriverService.cs +++ b/dotnet/src/webdriver/Edge/EdgeDriverService.cs @@ -17,6 +17,8 @@ // using System; +using System.Globalization; +using System.Text; using OpenQA.Selenium.Internal; namespace OpenQA.Selenium.Edge @@ -28,6 +30,9 @@ public sealed class EdgeDriverService : DriverService { private const string MicrosoftWebDriverServiceFileName = "MicrosoftWebDriver.exe"; private static readonly Uri MicrosoftWebDriverDownloadUrl = new Uri("http://go.microsoft.com/fwlink/?LinkId=619687"); + private string host; + private string package; + private bool useVerboseLogging; /// /// Initializes a new instance of the class. @@ -40,6 +45,60 @@ private EdgeDriverService(string executablePath, string executableFileName, int { } + /// + /// Gets or sets the value of the host adapter on which the Edge driver service should listen for connections. + /// + public string Host + { + get { return this.host; } + set { this.host = value; } + } + + /// + /// Gets or sets the value of the package the Edge driver service will launch and automate. + /// + public string Package + { + get { return this.package; } + set { this.package = value; } + } + + /// + /// Gets or sets a value indicating whether the service should use verbose logging. + /// + public bool UseVerboseLogging + { + get { return this.useVerboseLogging; } + set { this.useVerboseLogging = value; } + } + + /// + /// Gets the command-line arguments for the driver service. + /// + protected override string CommandLineArguments + { + get + { + StringBuilder argsBuilder = new StringBuilder(base.CommandLineArguments); + if (!string.IsNullOrEmpty(this.host)) + { + argsBuilder.Append(string.Format(CultureInfo.InvariantCulture, " --host={0}", this.host)); + } + + if (!string.IsNullOrEmpty(this.package)) + { + argsBuilder.Append(string.Format(CultureInfo.InvariantCulture, " --package={0}", this.package)); + } + + if (this.useVerboseLogging) + { + argsBuilder.Append(" --verbose"); + } + + return argsBuilder.ToString(); + } + } + /// /// Creates a default instance of the EdgeDriverService. /// @@ -47,7 +106,8 @@ private EdgeDriverService(string executablePath, string executableFileName, int public static EdgeDriverService CreateDefaultService() { string serviceDirectory = DriverService.FindDriverServiceExecutable(MicrosoftWebDriverServiceFileName, MicrosoftWebDriverDownloadUrl); - return CreateDefaultService(serviceDirectory); + EdgeDriverService service = CreateDefaultService(serviceDirectory); + return service; } ///