private void AddExtraDataMaintainConfigData(GlobalConfigData globalConfigData) { string databaseName = globalConfigData.GetConfigValue <string>(Constants.DataMaintain, "DatabaseName"); string testflowHome = globalConfigData.GetConfigValue <string>(Constants.GlobalConfig, "TestflowHome"); string dataDirPath = $"{testflowHome}{CommonConst.DataDir}"; if (!Directory.Exists(dataDirPath)) { Directory.CreateDirectory(dataDirPath); } string databaseFilePath = $"{testflowHome}{CommonConst.DataDir}{Path.DirectorySeparatorChar}{databaseName}"; globalConfigData.SetConfigItem(Constants.DataMaintain, "DatabaseName", databaseFilePath); }
private void AddExtraGlobalConfigData(GlobalConfigData configData) { // 更新TestflowHome字段 string homeDir = Environment.GetEnvironmentVariable(CommonConst.EnvironmentVariable); if (null != homeDir && !homeDir.EndsWith(Path.DirectorySeparatorChar.ToString())) { homeDir += Path.DirectorySeparatorChar; } configData.AddConfigItem(Constants.GlobalConfig, "TestflowHome", homeDir); // 更新WorkspaceDir字段 // 更新.NET运行时目录 string dotNetVersion = configData.GetConfigValue <string>(Constants.GlobalConfig, "DotNetVersion"); string runtimeDirectory = GetDotNetDir(dotNetVersion); configData.AddConfigItem(Constants.GlobalConfig, "DotNetLibDir", runtimeDirectory); // 更新.NET安装根目录 string dotNetRootDir = GetDotNetRootDir(); configData.AddConfigItem(Constants.GlobalConfig, "DotNetRootDir", dotNetRootDir); // 更新Testflow平台默认库目录 string platformDir = configData.GetConfigValue <string>(Constants.GlobalConfig, "PlatformLibDir"); string libDir = $"{homeDir}{platformDir}"; if (libDir.EndsWith(Path.DirectorySeparatorChar.ToString())) { libDir += Path.DirectorySeparatorChar; } configData.SetConfigItem(Constants.GlobalConfig, "PlatformLibDir", libDir); // 更新Testflow工作空间目录 string workspaceDirs = Environment.GetEnvironmentVariable(CommonConst.WorkspaceVariable); if (string.IsNullOrWhiteSpace(workspaceDirs) || !Directory.Exists(workspaceDirs)) { TestflowRunner.GetInstance().LogService.Print(LogLevel.Fatal, CommonConst.PlatformLogSession, $"Invalid environment variable:{CommonConst.WorkspaceVariable}"); I18N i18N = I18N.GetInstance(Constants.I18nName); throw new TestflowRuntimeException(ModuleErrorCode.InvalidEnvDir, i18N.GetStr("InvalidHomeVariable")); } string[] workSpaceDirElems = workspaceDirs.Split(';'); List <string> workspaceDirList = new List <string>(workSpaceDirElems.Length); foreach (string workSpaceDir in workSpaceDirElems) { if (string.IsNullOrWhiteSpace(workSpaceDir)) { continue; } string dirPath = workSpaceDir; if (!workSpaceDir.EndsWith(Path.DirectorySeparatorChar.ToString())) { dirPath += Path.DirectorySeparatorChar; } workspaceDirList.Add(dirPath); } configData.SetConfigItem(Constants.GlobalConfig, "WorkspaceDir", workspaceDirList.ToArray()); }