public static string GetStringFromCustomSettings(string key) { AQALogger logger = new AQALogger(); AutomationSet keyVal = settings.Configs.Find(x => x.Key == key); if (keyVal == default(AutomationSet) || string.IsNullOrEmpty(keyVal.Key)) { logger.LogError($"Key requested ({key}) which is not defined in the settings file or is invalid.{(hostPlatform == HostPlatform.Cloud ? " Make sure you are supplying the expected settings config file name to DeviceFarmConfig." : string.Empty)}"); } return(keyVal.Value); }
public static bool GetBooleanFromCustomSettings(string key) { AQALogger logger = new AQALogger(); AutomationSet keyVal = settings.Configs.Find(x => x.Key == key); bool returnVal = false; if (keyVal == default(AutomationSet) || !bool.TryParse(keyVal.Value, out returnVal)) { logger.LogError($"Key requested ({key}) which is not defined in the settings file or is invalid.{(hostPlatform == HostPlatform.Cloud ? " Make sure you are supplying the expected settings config file name to DeviceFarmConfig." : string.Empty)}"); } return(returnVal); }
static AutomatedQARuntimeSettings() { #if UNITY_EDITOR if (!Directory.Exists(Path.Combine(Application.dataPath, AutomatedQASettingsResourcesPath))) { Directory.CreateDirectory(Path.Combine(Application.dataPath, AutomatedQASettingsResourcesPath)); } #endif // Handle required configs. Re-add them if deleted from config settings file. List <AutomationSet> setsToReAddToConfigSettingsFile = new List <AutomationSet>(); string settingKey = Keys.RecordingFolderName; AutomationSet set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, RecordingFolderName); setsToReAddToConfigSettingsFile.Add(set); } RecordingFolderName = set.Value.ToString(); settingKey = Keys.ActivatePlaybackVisualFx; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, ActivatePlaybackVisualFx.ToString()); setsToReAddToConfigSettingsFile.Add(set); } ActivatePlaybackVisualFx = bool.Parse(set.Value.ToString()); settingKey = Keys.ActivateClickFeedbackFx; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, ActivateClickFeedbackFx.ToString()); setsToReAddToConfigSettingsFile.Add(set); } ActivateClickFeedbackFx = bool.Parse(set.Value.ToString()); settingKey = Keys.ActivateDragFeedbackFx; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, ActivateDragFeedbackFx.ToString()); setsToReAddToConfigSettingsFile.Add(set); } ActivateDragFeedbackFx = bool.Parse(set.Value.ToString()); settingKey = Keys.ActivateHighlightFeedbackFx; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, ActivateHighlightFeedbackFx.ToString()); setsToReAddToConfigSettingsFile.Add(set); } ActivateHighlightFeedbackFx = bool.Parse(set.Value.ToString()); settingKey = Keys.EnableScreenshots; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, EnableScreenshots.ToString()); setsToReAddToConfigSettingsFile.Add(set); } EnableScreenshots = bool.Parse(set.Value.ToString()); settingKey = Keys.PostActionScreenshotDelay; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, PostActionScreenshotDelay.ToString()); setsToReAddToConfigSettingsFile.Add(set); } PostActionScreenshotDelay = float.Parse(set.Value.ToString()); settingKey = Keys.UseDynamicWaits; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, UseDynamicWaits.ToString()); setsToReAddToConfigSettingsFile.Add(set); } UseDynamicWaits = bool.Parse(set.Value.ToString()); settingKey = Keys.DynamicWaitTimeout; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, DynamicWaitTimeout.ToString()); setsToReAddToConfigSettingsFile.Add(set); } DynamicWaitTimeout = float.Parse(set.Value.ToString()); settingKey = Keys.DynamicLoadSceneTimeout; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, DynamicLoadSceneTimeout.ToString()); setsToReAddToConfigSettingsFile.Add(set); } DynamicLoadSceneTimeout = float.Parse(set.Value.ToString()); settingKey = Keys.LogLevel; set = settings.Configs.Find(c => c.Key == settingKey); if (set == null || set == default(AutomationSet)) { set = new AutomationSet(settingKey, ((int)LogLevel).ToString()); setsToReAddToConfigSettingsFile.Add(set); } LogLevel = Enum.TryParse <AQALogger.LogLevel>(set.Value.ToString(), out AQALogger.LogLevel i) ? i : AQALogger.LogLevel.Info; #if UNITY_EDITOR // Add back any required configs that were deleted by the user. if (setsToReAddToConfigSettingsFile.Any()) { AutomatedQASettingsData newConfig = new AutomatedQASettingsData(); newConfig.Configs.AddRange(setsToReAddToConfigSettingsFile); newConfig.Configs.AddRange(settings.Configs); File.WriteAllText(Path.Combine(Application.dataPath, AutomatedQASettingsResourcesPath, AutomatedQaSettingsFileName), JsonUtility.ToJson(newConfig)); } #endif }