New way of reading configurations from file and deserializing
This commit is contained in:
@ -15,6 +15,7 @@ namespace EATestFramework.Driver
|
||||
_testSettings = testSettings;
|
||||
_browserDriver = browserDriver;
|
||||
driver = GetWebDriver();
|
||||
driver.Navigate().GoToUrl(_testSettings.ApplicationUrl);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,20 +1,39 @@
|
||||
using EATestFramework.Driver;
|
||||
using EATestFramework.Settings;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace EATestFramework.Extensions;
|
||||
public static class WebDriverInitializerExtension
|
||||
{
|
||||
public static IServiceCollection UseWebDriverInitializer(
|
||||
this IServiceCollection services,
|
||||
BrowserType browserType)
|
||||
this IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton(new TestSettings
|
||||
{
|
||||
BrowserType = browserType
|
||||
});
|
||||
services.AddSingleton(ReadConfig());
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
private static TestSettings ReadConfig()
|
||||
{
|
||||
var configFile = File
|
||||
.ReadAllText(Path.GetDirectoryName(
|
||||
Assembly.GetExecutingAssembly().Location)
|
||||
+ "/appsettings.json");
|
||||
|
||||
var jsonSerializeOptions = new JsonSerializerOptions()
|
||||
{
|
||||
PropertyNameCaseInsensitive = true
|
||||
};
|
||||
|
||||
jsonSerializeOptions.Converters.Add(new JsonStringEnumConverter());
|
||||
|
||||
var testSettings = JsonSerializer.Deserialize<TestSettings>(configFile, jsonSerializeOptions);
|
||||
|
||||
return testSettings;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,9 +1,13 @@
|
||||
using EATestFramework.Driver;
|
||||
using System;
|
||||
|
||||
namespace EATestFramework.Settings
|
||||
{
|
||||
public class TestSettings
|
||||
{
|
||||
public BrowserType BrowserType { get; set; }
|
||||
public Uri ApplicationUrl { get; set; }
|
||||
|
||||
public int TimeoutInterval { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,7 +8,6 @@ namespace EATestFramework
|
||||
{
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.UseWebDriverInitializer(BrowserType.Firefox);
|
||||
services.AddScoped<IBrowserDriver, BrowserDriver>();
|
||||
services.AddScoped<IDriverFixture, DriverFixture>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user