Example #1
0
 // Initializes the cache against a local file.
 // If the file is already present, it loads its content in the ADAL cache
 public SettingsFileTokenCache(ISettingsFile settingsFile)
 {
     _settingsFile = settingsFile;
     AfterAccess   = AfterAccessNotification;
     BeforeAccess  = BeforeAccessNotification;
     Deserialize(_settingsFile.ReadAllBytes());
 }
 public NLPImportHandler(
     IBlipClientFactory blipClientFactory,
     IInternalLogger logger) : base(logger)
 {
     _settingsFile      = new SettingsFile();
     _blipClientFactory = blipClientFactory;
 }
Example #3
0
        /// <summary>
        /// Instantiates class using <see cref="ISettingsFile"/> with general settings.
        /// </summary>
        /// <param name="settingsFile">Settings file.</param>
        public RetryConfiguration(ISettingsFile settingsFile)
        {
            this.settingsFile = settingsFile;

            Number          = GetIntFromSettings(nameof(Number).ToLowerInvariant());
            PollingInterval = TimeSpan.FromMilliseconds(GetIntFromSettings("pollingInterval"));
        }
Example #4
0
 /// <summary>
 /// Instantiates class using <see cref="ISettingsFile"/> with general settings.
 /// </summary>
 /// <param name="settingsFile">Settings file.</param>
 public TimeoutConfiguration(ISettingsFile settingsFile)
 {
     this.settingsFile = settingsFile;
     Implicit          = GetTimeoutFromSeconds(nameof(Implicit));
     Condition         = GetTimeoutFromSeconds(nameof(Condition));
     PollingInterval   = TimeSpan.FromMilliseconds(GetIntFromTimeoutSettings(nameof(PollingInterval)));
     Command           = GetTimeoutFromSeconds(nameof(Command));
 }
Example #5
0
        public LocalizationManager(ILoggerConfiguration loggerConfiguration, Logger logger, Assembly assembly = null)
        {
            var language = loggerConfiguration.Language;

            localizationFile     = GetLocalizationFile(language, assembly ?? Assembly.GetExecutingAssembly());
            coreLocalizationFile = GetLocalizationFile(language, Assembly.GetExecutingAssembly());
            this.logger          = logger;
        }
Example #6
0
 private static void InitProperties()
 {
     Logger.Info("Initialization driver properties");
     SettingsFile        = Settings.GetSettings();
     PageLoadTimeout     = TimeSpan.FromSeconds(double.Parse(SettingsFile.GetValue <string>(".timeouts.timeoutPageLoad")));
     ImplicitWaitTimeout = TimeSpan.FromSeconds(double.Parse(SettingsFile.GetValue <string>(".timeouts.timeoutImplicit")));
     ConditionTimeout    = TimeSpan.FromSeconds(double.Parse(SettingsFile.GetValue <string>(".timeouts.timeoutCondition")));
     webDriver           = GetNewDriver();
 }
        private void SaveSettings(ISettingsFile settingsFile, XmlDocument document, string settingsPath)
        {
            Type settingsClass = settingsFile.GetType();

            Logging.Debug(LogOptions.MethodAndClassName, "Saving settings document {0} to location {1}", settingsClass.Name, settingsPath);

            //add declaration
            document.AppendChild(document.CreateXmlDeclaration("1.0", "UTF-8", "yes"));

            //create root settings holder
            XmlElement settingsHolder = document.CreateElement(settingsClass.Name);

            settingsHolder.SetAttribute("documentVersion", "1.1");
            document.AppendChild(settingsHolder);

            //add setting values from fields and properties
            List <MemberInfo> memberInfos = new List <MemberInfo>();

            memberInfos.AddRange(settingsClass.GetFields().ToList());
            memberInfos.AddRange(settingsClass.GetProperties().ToList());

            //filter out components from exclude list
            Logging.Debug("Components to save before exclude list: {0}", memberInfos.Count);
            memberInfos = memberInfos.FindAll(meme => !settingsFile.MembersToExclude.Contains(meme.Name));
            Logging.Debug("Components to save after exclude list: {0}", memberInfos.Count);

            //loop through each member
            foreach (MemberInfo member in memberInfos)
            {
                XmlElement element = document.CreateElement(member.Name);

                if (member is FieldInfo fieldInfo)
                {
                    element.InnerText = fieldInfo.GetValue(settingsFile).ToString();
                }
                else if (member is PropertyInfo propertyInfo)
                {
                    element.InnerText = propertyInfo.GetValue(settingsFile).ToString();
                }
                else
                {
                    Logging.Error("Failed to save property {0} from settings type {1}", member.Name, settingsClass.Name);
                    continue;
                }

                settingsHolder.AppendChild(element);
            }

            //save to disk
            if (File.Exists(settingsPath))
            {
                File.Delete(settingsPath);
            }
            document.Save(settingsPath);

            Logging.Debug(LogOptions.MethodAndClassName, "Saved settings document {0} to location {1}", settingsClass.Name, settingsPath);
        }
Example #8
0
 public ExportHandler(
     IBlipClientFactory blipClientFactory,
     IExcelGeneratorService excelGeneratorService,
     IExportServiceFactory exportServiceFactory)
 {
     _settingsFile         = new SettingsFile();
     BlipClientFactory     = blipClientFactory;
     ExcelGeneratorService = excelGeneratorService;
     _exportServiceFactory = exportServiceFactory;
 }
Example #9
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MainForm"/> class.
        /// </summary>
        /// <param name="settingsFile">
        /// An instance of a settings file
        /// </param>
        public MainForm(ISettingsFile settingsFile)
        {
            if (settingsFile == null)
            {
                throw new ArgumentNullException(nameof(settingsFile));
            }

            this.settingsFile = settingsFile;

            this.InitializeComponent();
        }
 /// <summary>
 /// Load the settings object with values from the given xml file path
 /// </summary>
 /// <param name="settingsFile">The instance of the settings class object to load settings into</param>
 public void LoadSettings(ISettingsFile settingsFile)
 {
     if (!File.Exists(settingsFile.Filename))
     {
         Logging.Info(LogOptions.MethodName, "Settings document {0} does not exist, loading defaults", settingsFile.Filename);
         return;
     }
     Logging.Debug(LogOptions.MethodAndClassName, "Loading settings document {0} from location {1}", settingsFile.GetType().Name, settingsFile.Filename);
     LoadSettings(settingsFile, XmlUtils.LoadXDocument(settingsFile.Filename, XmlLoadType.FromFile));
     Logging.Debug(LogOptions.MethodAndClassName, "Loaded settings document {0} from location {1}", settingsFile.GetType().Name, settingsFile.Filename);
 }
 public ExportHandler(
     IBlipClientFactory blipClientFactory,
     IExcelGeneratorService excelGeneratorService,
     IExportServiceFactory exportServiceFactory,
     IInternalLogger logger) : base(logger)
 {
     _settingsFile         = new SettingsFile();
     BlipClientFactory     = blipClientFactory;
     ExcelGeneratorService = excelGeneratorService;
     _exportServiceFactory = exportServiceFactory;
 }
Example #12
0
 public override IServiceCollection ConfigureServices(IServiceCollection services, Func <IServiceProvider, IApplication> applicationProvider,
                                                      ISettingsFile settings = null)
 {
     settings = settings ?? GetSettings();
     base.ConfigureServices(services, applicationProvider, settings);
     services.AddTransient <IElementFactory, ElementFactory>();
     services.AddTransient <ICoreElementFactory, ElementFactory>();
     services.AddSingleton <ITimeoutConfiguration>(serviceProvider => new TimeoutConfiguration(settings));
     services.AddSingleton <ICoreTimeoutConfiguration>(serviceProvider => new TimeoutConfiguration(settings));
     services.AddSingleton <IBrowserProfile>(serviceProvider => new BrowserProfile(settings));
     services.AddSingleton <ILocalizationManager>(serviceProvider => new LocalizationManager(serviceProvider.GetRequiredService <ILoggerConfiguration>(), serviceProvider.GetRequiredService <Logger>(), Assembly.GetExecutingAssembly()));
     services.AddTransient(serviceProvider => AqualityServices.BrowserFactory);
     return(services);
 }
 public override IServiceCollection ConfigureServices(IServiceCollection services, Func <IServiceProvider, IApplication> applicationProvider,
                                                      ISettingsFile settings = null)
 {
     settings = settings ?? GetSettings();
     base.ConfigureServices(services, applicationProvider, settings);
     services.AddTransient <IElementFactory, ElementFactory>();
     services.AddTransient <CoreElementFactory, ElementFactory>();
     services.AddSingleton <IApplicationProfile, ApplicationProfile>();
     services.AddSingleton <ILocalServiceSettings, LocalServiceSettings>();
     services.AddSingleton <ITouchActionsSettings, TouchActionsSettings>();
     services.AddSingleton <IScreenFactory, ScreenFactory>();
     services.AddSingleton <ITouchActions, TouchActions>();
     services.AddSingleton <ILocalizationManager>(serviceProvider => new LocalizationManager(serviceProvider.GetRequiredService <ILoggerConfiguration>(), serviceProvider.GetRequiredService <Logger>(), Assembly.GetExecutingAssembly()));
     services.AddTransient(serviceProvider => AqualityServices.ApplicationFactory);
     services.AddScoped(serviceProvider => applicationProvider(serviceProvider) as IMobileApplication);
     return(services);
 }
 public override IServiceCollection ConfigureServices(IServiceCollection services, Func <IServiceProvider, IApplication> applicationProvider,
                                                      ISettingsFile settings = null)
 {
     settings = settings ?? GetSettings();
     base.ConfigureServices(services, applicationProvider, settings);
     services.AddTransient <IElementFactory, ElementFactory>();
     services.AddTransient <CoreElementFactory, ElementFactory>();
     services.AddSingleton <IDriverSettings, DriverSettings>();
     services.AddSingleton <IApplicationProfile, ApplicationProfile>();
     services.AddSingleton <ILocalizationManager>(serviceProvider => new LocalizationManager(serviceProvider.GetRequiredService <ILoggerConfiguration>(), serviceProvider.GetRequiredService <Logger>(), Assembly.GetExecutingAssembly()));
     services.AddSingleton <IKeyboardActions>(serviceProvider => new KeyboardActions(serviceProvider.GetRequiredService <ILocalizedLogger>(), () => AqualityServices.Application.Driver));
     services.AddSingleton <IMouseActions>(serviceProvider => new MouseActions(serviceProvider.GetRequiredService <ILocalizedLogger>(), () => AqualityServices.Application.Driver));
     services.AddTransient(serviceProvider => AqualityServices.ApplicationFactory);
     services.AddTransient <IProcessManager, ProcessManager>();
     services.AddTransient <IWinAppDriverLauncher, WinAppDriverLauncher>();
     services.AddScoped(serviceProvider => applicationProvider(serviceProvider) as IWindowsApplication);
     return(services);
 }
Example #15
0
        /// <summary>
        /// Used to configure dependencies for services of the current library
        /// </summary>
        /// <param name="services">Collection of service descriptors</param>
        /// <param name="applicationProvider">function that provides an instance of <see cref="IApplication"/></param>
        /// <param name="settings">File with settings for configuration of dependencies.
        /// Pass the result of <see cref="GetSettings"/> if you need to get settings from the embedded resource of your project.</param>
        public virtual IServiceCollection ConfigureServices(IServiceCollection services, Func <IServiceProvider, IApplication> applicationProvider, ISettingsFile settings = null)
        {
            settingsFile = settings ?? GetSettings();
            services.AddScoped(applicationProvider);

            services.AddSingleton(settingsFile);
            services.AddSingleton(Logger.Instance);
            services.AddSingleton <IElementCacheConfiguration, ElementCacheConfiguration>();
            services.AddSingleton <ILoggerConfiguration, LoggerConfiguration>();
            services.AddSingleton <ITimeoutConfiguration, TimeoutConfiguration>();
            services.AddSingleton <IRetryConfiguration, RetryConfiguration>();
            services.AddSingleton <IVisualizationConfiguration, VisualizationConfiguration>();
            services.AddSingleton <IImageComparator, ImageComparator>();
            services.AddSingleton <ILocalizationManager, LocalizationManager>();
            services.AddSingleton <ILocalizedLogger, LocalizedLogger>();
            services.AddSingleton <IActionRetrier, ActionRetrier>();
            services.AddSingleton <IElementActionRetrier, ElementActionRetrier>();

            services.AddTransient <IConditionalWait, ConditionalWait>();
            services.AddTransient <IElementFinder, ElementFinder>();
            services.AddTransient <IElementFactory, ElementFactory>();
            return(services);
        }
Example #16
0
 /// <summary>
 /// Instantiates class using JSON file with general settings.
 /// </summary>
 /// <param name="settingsFile">JSON settings file.</param>
 public DriverSettings(ISettingsFile settingsFile)
 {
     this.settingsFile = settingsFile;
 }
Example #17
0
 public TestTimeoutConfiguration(ISettingsFile settingsFile) : base(settingsFile)
 {
     CustomTimeout = SpecialTimeoutValue;
 }
        /// <summary>
        /// Instantiates class using <see cref="ISettingsFile"/> with general settings.
        /// </summary>
        /// <param name="settingsFile">Settings file.</param>
        public ElementCacheConfiguration(ISettingsFile settingsFile)
        {
            var jPath = ".elementCache.isEnabled";

            IsEnabled = settingsFile.IsValuePresent(jPath) && settingsFile.GetValue <bool>(jPath);
        }
Example #19
0
 public CopyHandler(IBlipClientFactory blipAIClientFactory)
 {
     _settingsFile        = new SettingsFile();
     _blipAIClientFactory = blipAIClientFactory;
 }
Example #20
0
            public override IServiceCollection ConfigureServices(IServiceCollection services, Func <IServiceProvider, IApplication> applicationProvider, ISettingsFile settings = null)
            {
                var settingsFile = new JsonSettingsFile($"Resources.settings.{SpecialSettingsFile}.json", Assembly.GetExecutingAssembly());

                base.ConfigureServices(services, applicationProvider, settingsFile);
                services.AddSingleton <ILoggerConfiguration>(new CustomLoggerConfiguration(settingsFile));
                return(services);
            }
 /// <summary>
 /// Instantiates class using <see cref="ISettingsFile"/> with visualization settings.
 /// </summary>
 /// <param name="settingsFile">Settings file.</param>
 public VisualizationConfiguration(ISettingsFile settingsFile)
 {
     this.settingsFile = settingsFile;
 }
 /// <summary>
 /// Instantiates class using <see cref="ISettingsFile"/> with general settings.
 /// </summary>
 /// <param name="settingsFile">Settings file</param>
 public LoggerConfiguration(ISettingsFile settingsFile)
 {
     Language      = settingsFile.GetValueOrDefault(".logger.language", DefaultLanguage);
     LogPageSource = settingsFile.GetValueOrDefault(".logger.logPageSource", true);
 }
 public DeviceSettings(string deviceKey)
 {
     settingsFile   = GetDevicesSettings();
     this.deviceKey = deviceKey;
 }
Example #24
0
 /// <summary>
 /// Instantiates class using JSON file with general settings.
 /// </summary>
 /// <param name="settingsFile">JSON settings file.</param>
 public TimeoutConfiguration(ISettingsFile settingsFile) : base(settingsFile)
 {
     this.settingsFile = settingsFile;
     Script            = GetTimeoutFromSeconds(nameof(Script));
     PageLoad          = GetTimeoutFromSeconds(nameof(PageLoad));
 }
Example #25
0
 /// <summary>
 /// Instantiates class using JSON file with general settings.
 /// </summary>
 /// <param name="settingsFile">JSON settings file.</param>
 /// <param name="driverSettings">Instance of <see cref="IDriverSettings"/></param>
 public ApplicationProfile(ISettingsFile settingsFile, IDriverSettings driverSettings)
 {
     SettingsFile   = settingsFile;
     DriverSettings = driverSettings;
 }
Example #26
0
 public LocalServiceSettings(ISettingsFile settingsFile)
 {
     this.settingsFile = settingsFile;
 }
Example #27
0
 public ProtectedSettingsFile(ISettingsFile file)
 {
     _file = file;
 }
Example #28
0
 public ExportHandler(IBlipClientFactory blipClientFactory)
 {
     _settingsFile     = new SettingsFile();
     BlipClientFactory = blipClientFactory;
 }
 /// <summary>
 /// Instantiates class using JSON file with general settings.
 /// </summary>
 /// <param name="settingsFile">JSON settings file.</param>
 protected DriverSettings(ISettingsFile settingsFile)
 {
     SettingsFile = settingsFile;
 }
Example #30
0
 public CustomLoggerConfiguration(ISettingsFile settingsFile) : base(settingsFile)
 {
     CustomLogger = SpecialLogger;
 }