Skip to content

Commit 0716d8f

Browse files
#68 Add driverInitializationStage configuration property
1 parent d6f4a3c commit 0716d8f

File tree

6 files changed

+14
-1
lines changed

6 files changed

+14
-1
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,8 @@ string sectionBoolValue = AppConfig.Current.Section.BoolProperty;
378378
"commandTimeout": 60, // Sets the command timeout in seconds.
379379
"portsToIgnore": [ 60001, 60002 ] // Sets the ports to ignore while creating driver service.
380380
},
381+
"driverInitializationStage": "string", // Supports: "none", "build" and "onDemand".
382+
381383
"baseUrl": "string",
382384
"culture": "string", // For example: "en-US".
383385
"timeZone": "string", // For example: "UTC".

src/Atata.Configuration.Json.Tests/Configs/Chrome+NUnit.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"driverPath": "{basedir}",
99
"driverExecutableFileName": "chromedriver.exe"
1010
},
11-
"portsToIgnore": [ 60999, 60998]
11+
"portsToIgnore": [ 60999, 60998 ]
1212
},
1313
"baseUrl": "https://demo.atata.io/",
1414
"culture": "en-US",

src/Atata.Configuration.Json.Tests/Configs/StandardSettings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"arguments": [ "headless" ]
66
}
77
},
8+
"driverInitializationStage": "OnDemand",
89
"baseUrl": "https://demo.atata.io/",
910
"artifactsPath": "{basedir}/artifacts/{build-start:yyyy}{test-suite-name-sanitized:/*}{test-name-sanitized:/*}",
1011
"timeZone": "UTC",

src/Atata.Configuration.Json.Tests/StandardSettingsTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public void Regular()
1515
.Build()
1616
.ToResultSubject();
1717

18+
result.ValueOf(x => x.DriverInitializationStage).Should.Equal(AtataContextDriverInitializationStage.OnDemand);
19+
1820
result.ValueOf(x => x.BaseUrl).Should.Equal("https://demo.atata.io/");
1921

2022
result.ValueOf(x => x.Artifacts.FullName.Value).Should.Equal(

src/Atata.Configuration.Json/JsonConfig`1.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ public DriverJsonSection Driver
7878
}
7979
}
8080

81+
/// <summary>
82+
/// Gets or sets the driver initialization stage.
83+
/// The default value is <see cref="AtataContextDriverInitializationStage.Build"/>.
84+
/// </summary>
85+
public AtataContextDriverInitializationStage DriverInitializationStage { get; set; } = AtataContextDriverInitializationStage.Build;
86+
8187
public List<LogConsumerJsonSection> LogConsumers { get; set; }
8288

8389
public List<ScreenshotConsumerJsonSection> ScreenshotConsumers { get; set; }

src/Atata.Configuration.Json/Mapping/JsonConfigMapper.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ public static class JsonConfigMapper
1010
public static AtataContextBuilder Map<TConfig>(TConfig config, AtataContextBuilder builder)
1111
where TConfig : JsonConfig<TConfig>
1212
{
13+
builder.UseDriverInitializationStage(config.DriverInitializationStage);
14+
1315
if (config.BaseUrl != null)
1416
builder.UseBaseUrl(config.BaseUrl);
1517

0 commit comments

Comments
 (0)