Skip to content

Commit e9c7082

Browse files
committed
[dotnet] add ability to turn on driver logging in tests
1 parent e88bf72 commit e9c7082

File tree

6 files changed

+55
-17
lines changed

6 files changed

+55
-17
lines changed

dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public StableChannelChromeDriver(ChromeDriverService service, ChromeOptions opti
2020

2121
public static ChromeOptions DefaultOptions
2222
{
23-
get { return new ChromeOptions() { AcceptInsecureCertificates = true, BrowserVersion = "116" }; }
23+
get { return new ChromeOptions() { BrowserVersion = "116" }; }
2424
}
2525
}
2626
}

dotnet/test/common/CustomDriverConfigs/StableChannelEdgeDriver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public StableChannelEdgeDriver(EdgeDriverService service, EdgeOptions options)
2020
}
2121
public static EdgeOptions DefaultOptions
2222
{
23-
get { return new EdgeOptions() { AcceptInsecureCertificates = true }; }
23+
get { return new EdgeOptions(); }
2424
}
2525
}
2626
}

dotnet/test/common/Environment/DriverConfig.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,8 @@ public class DriverConfig
2626

2727
[JsonProperty]
2828
public bool AutoStartRemoteServer { get; set; }
29+
30+
[JsonProperty]
31+
public bool Logging { get; set; }
2932
}
3033
}

dotnet/test/common/Environment/DriverFactory.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System;
77
using System.Collections.Generic;
88
using System.Reflection;
9+
using OpenQA.Selenium.Chromium;
910

1011
namespace OpenQA.Selenium.Environment
1112
{
@@ -40,16 +41,17 @@ private void PopulateServiceTypes()
4041

4142
public event EventHandler<DriverStartingEventArgs> DriverStarting;
4243

43-
public IWebDriver CreateDriver(Type driverType)
44+
public IWebDriver CreateDriver(Type driverType, bool logging = false)
4445
{
45-
return CreateDriverWithOptions(driverType, null);
46+
return CreateDriverWithOptions(driverType, null, logging);
4647
}
4748

48-
public IWebDriver CreateDriverWithOptions(Type driverType, DriverOptions driverOptions)
49+
public IWebDriver CreateDriverWithOptions(Type driverType, DriverOptions driverOptions, bool logging = false)
4950
{
5051
Browser browser = Browser.All;
5152
DriverService service = null;
5253
DriverOptions options = null;
54+
bool enableLogging = logging;
5355

5456
List<Type> constructorArgTypeList = new List<Type>();
5557
IWebDriver driver = null;
@@ -58,24 +60,40 @@ public IWebDriver CreateDriverWithOptions(Type driverType, DriverOptions driverO
5860
browser = Browser.Chrome;
5961
options = GetDriverOptions<ChromeOptions>(driverType, driverOptions);
6062
service = CreateService<ChromeDriverService>();
63+
if (enableLogging)
64+
{
65+
((ChromiumDriverService)service).EnableVerboseLogging = true;
66+
}
6167
}
6268
else if (typeof(EdgeDriver).IsAssignableFrom(driverType))
6369
{
6470
browser = Browser.Edge;
6571
options = GetDriverOptions<EdgeOptions>(driverType, driverOptions);
6672
service = CreateService<EdgeDriverService>();
73+
if (enableLogging)
74+
{
75+
((ChromiumDriverService)service).EnableVerboseLogging = true;
76+
}
6777
}
6878
else if (typeof(InternetExplorerDriver).IsAssignableFrom(driverType))
6979
{
7080
browser = Browser.IE;
7181
options = GetDriverOptions<InternetExplorerOptions>(driverType, driverOptions);
7282
service = CreateService<InternetExplorerDriverService>();
83+
if (enableLogging)
84+
{
85+
((InternetExplorerDriverService)service).LoggingLevel = InternetExplorerDriverLogLevel.Trace;
86+
}
7387
}
7488
else if (typeof(FirefoxDriver).IsAssignableFrom(driverType))
7589
{
7690
browser = Browser.Firefox;
7791
options = GetDriverOptions<FirefoxOptions>(driverType, driverOptions);
7892
service = CreateService<FirefoxDriverService>();
93+
if (enableLogging)
94+
{
95+
((FirefoxDriverService)service).LogLevel = FirefoxDriverLogLevel.Trace;
96+
}
7997
}
8098
else if (typeof(SafariDriver).IsAssignableFrom(driverType))
8199
{

dotnet/test/common/Environment/EnvironmentManager.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class EnvironmentManager
1717
private DriverFactory driverFactory;
1818
private RemoteSeleniumServer remoteServer;
1919
private string remoteCapabilities;
20+
private bool logging;
2021

2122
private EnvironmentManager()
2223
{
@@ -52,6 +53,7 @@ private EnvironmentManager()
5253
driverType = driverAssembly.GetType(driverConfig.DriverTypeName);
5354
browser = driverConfig.BrowserValue;
5455
remoteCapabilities = driverConfig.RemoteCapabilities;
56+
logging = driverConfig.Logging;
5557

5658
urlBuilder = new UrlBuilder(websiteConfig);
5759

@@ -190,6 +192,11 @@ public string RemoteCapabilities
190192
get { return remoteCapabilities; }
191193
}
192194

195+
public bool Logging
196+
{
197+
get { return logging; }
198+
}
199+
193200
public UrlBuilder UrlBuilder
194201
{
195202
get
@@ -210,12 +217,12 @@ public IWebDriver GetCurrentDriver()
210217

211218
public IWebDriver CreateDriverInstance()
212219
{
213-
return driverFactory.CreateDriver(driverType);
220+
return driverFactory.CreateDriver(driverType, Logging);
214221
}
215222

216223
public IWebDriver CreateDriverInstance(DriverOptions options)
217224
{
218-
return driverFactory.CreateDriverWithOptions(driverType, options);
225+
return driverFactory.CreateDriverWithOptions(driverType, options, Logging);
219226
}
220227

221228
public IWebDriver CreateFreshDriver()

dotnet/test/common/appconfig.json

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,71 +27,81 @@
2727
"DriverTypeName": "OpenQA.Selenium.Chrome.StableChannelChromeDriver",
2828
"AssemblyName": "WebDriver.Common.Tests",
2929
"BrowserValue": "Chrome",
30-
"RemoteCapabilities": "chrome"
30+
"RemoteCapabilities": "chrome",
31+
"Logging": false
3132
},
3233

3334
"ChromeDev": {
3435
"DriverTypeName": "OpenQA.Selenium.Chrome.DevChannelChromeDriver",
3536
"AssemblyName": "WebDriver.Common.Tests",
3637
"BrowserValue": "Chrome",
37-
"RemoteCapabilities": "chrome"
38+
"RemoteCapabilities": "chrome",
39+
"Logging": false
3840
},
3941

4042
"EdgeIEMode": {
4143
"DriverTypeName": "OpenQA.Selenium.IE.EdgeInternetExplorerModeDriver",
4244
"AssemblyName": "WebDriver.Common.Tests",
4345
"BrowserValue": "IE",
44-
"RemoteCapabilities": "internet explorer"
46+
"RemoteCapabilities": "internet explorer",
47+
"Logging": false
4548
},
4649

4750
"Edge": {
4851
"DriverTypeName": "OpenQA.Selenium.Edge.StableChannelEdgeDriver",
4952
"AssemblyName": "WebDriver.Common.Tests",
5053
"BrowserValue": "Edge",
51-
"RemoteCapabilities": "MicrosoftEdge"
54+
"RemoteCapabilities": "MicrosoftEdge",
55+
"Logging": false
5256
},
5357

5458
"EdgeDev": {
5559
"DriverTypeName": "OpenQA.Selenium.Edge.DevChannelEdgeDriver",
5660
"AssemblyName": "WebDriver.Common.Tests",
5761
"BrowserValue": "Edge",
58-
"RemoteCapabilities": "MicrosoftEdge"
62+
"RemoteCapabilities": "MicrosoftEdge",
63+
"Logging": false
5964
},
6065

6166
"Firefox": {
6267
"DriverTypeName": "OpenQA.Selenium.Firefox.StableChannelFirefoxDriver",
6368
"AssemblyName": "WebDriver.Common.Tests",
6469
"BrowserValue": "Firefox",
65-
"RemoteCapabilities": "firefox"
70+
"RemoteCapabilities": "firefox",
71+
"Logging": false
6672
},
6773

6874
"FirefoxNightly": {
6975
"DriverTypeName": "OpenQA.Selenium.Firefox.NightlyChannelFirefoxDriver",
7076
"AssemblyName": "WebDriver.Common.Tests",
7177
"BrowserValue": "Firefox",
72-
"RemoteCapabilities": "firefox"
78+
"RemoteCapabilities": "firefox",
79+
"Logging": false
7380
},
7481

7582
"Safari": {
7683
"DriverTypeName": "OpenQA.Selenium.Safari.DefaultSafariDriver",
7784
"AssemblyName": "WebDriver.Common.Tests",
7885
"BrowserValue": "Safari",
79-
"RemoteCapabilities": "safari"
86+
"RemoteCapabilities": "safari",
87+
"Logging": false
8088
},
8189

8290
"SafariTechPreview": {
8391
"DriverTypeName": "OpenQA.Selenium.Safari.SafariTechnologyPreviewDriver",
8492
"AssemblyName": "WebDriver.Common.Tests",
8593
"BrowserValue": "Safari",
86-
"RemoteCapabilities": "safari"
94+
"RemoteCapabilities": "safari",
95+
"Logging": false
8796
},
8897

8998
"Remote": {
9099
"DriverTypeName": "OpenQA.Selenium.Remote.StableChannelRemoteChromeDriver",
91100
"AssemblyName": "WebDriver.Common.Tests",
92101
"BrowserValue": "Remote",
93102
"RemoteCapabilities": "chrome",
94-
"AutoStartRemoteServer": true
103+
"AutoStartRemoteServer": true,
104+
"Logging": false
95105
}
96106
}
97107
}

0 commit comments

Comments
 (0)