/// <summary> /// The set dt mstudio test data. /// </summary> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> public void SetDTMstudioTestData(DTMstudioTestData dtmStudioTestData) { FrameworkHelper.SetDeviceTypeProject(dtmStudioTestData.DeviceTypeProject); FrameworkHelper.SetTestEnvironment(dtmStudioTestData.TestEnvironment); FrameworkHelper.SetReportData(dtmStudioTestData.ReportData); FrameworkHelper.SaveConfiguration(this.TestFrameworkConfigFile); }
/// <summary> /// The load temp data. /// </summary> public void LoadTestData() { var deviceTypeProjectTempDataPath = Path.Combine(Environment.CurrentDirectory, DeviceTypeProjectDataFile); this.GetDTMstudioTestData(deviceTypeProjectTempDataPath); this.dtMstudioTestData = this.TestFrameworkManager.LoadData(this.dtMstudioTestData); this.dtMstudioTestData = this.DTMstudioDataManager.LoadData(this.dtMstudioTestData); }
public DTMstudioTestData GetDTMstudioTestDataTest(DTMstudioTestData dtmStudioTestData) { //dtmStudioTestData.TestLibrary.DeviceFunctions = FrameworkHelper.GetDeviceFunctions(Path.Combine(this.TestFrameworkAssemblyPath, FrameworkHelper.TestFrameworkAssemblyFile)); dtmStudioTestData.TestEnvironment = FrameworkHelper.GetTestEnvironment(dtmStudioTestData.TestEnvironment); dtmStudioTestData.ReportData = FrameworkHelper.GetReportData(dtmStudioTestData.ReportData); dtmStudioTestData.DeviceTypeProject = FrameworkHelper.GetDeviceTypeProject(dtmStudioTestData.DeviceTypeProject); return(dtmStudioTestData); }
public ExecutionObject(string fileName, DTMstudioTestData dtmStudioTestData) { Log.Enter(this, MethodBase.GetCurrentMethod().Name); this.TestConfiguration = new TestConfiguration(); this.TestConfiguration = this.TestConfiguration.GetTestConfiguration(fileName); this.ExecutionData = new ExecutionData(); this.TestReportInfos = new List <TestReportInfo>(); this.DtmStudioTestData = dtmStudioTestData; this.CurrentTestCaseInfo = new TestCaseInfo(); }
/// <summary> /// The load data for execution. /// </summary> /// <param name="currentDirectory"> /// The current directory. /// </param> public void LoadDataForExecution(string currentDirectory) { this.TestFrameworkManager.InitializeConfiguration(Environment.CurrentDirectory); FrameworkHelper.SetDeviceTypeProject(this.DTMstudioTestData.DeviceTypeProject); var deviceTypeProjectTempDataPath = Path.Combine(this.DTMstudioTestData.DeviceTypeTestProject.ExecutionPath, DeviceTypeProjectDataFile); this.GetDTMstudioTestData(deviceTypeProjectTempDataPath); this.DTMstudioTestData.DeviceTypeTestProject.ExecutionPath = Environment.CurrentDirectory; this.dtMstudioTestData = this.TestFrameworkManager.LoadDataTest(this.dtMstudioTestData); this.dtMstudioTestData = this.DTMstudioDataManager.LoadData(this.dtMstudioTestData); }
/// <summary> /// The insert report data. /// </summary> /// <param name="reportFile"> /// The report file. /// </param> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> public static void InsertReportData(string reportFile, DTMstudioTestData dtmStudioTestData) { var reportFileData = reportFile + ".data"; if (File.Exists(reportFileData)) { var reader = File.OpenText(reportFileData); var fileString = reader.ReadToEnd(); reader.Close(); var startIndex = fileString.IndexOf("<activity", StringComparison.Ordinal) + "<activity".Length; fileString = fileString.Insert(startIndex, ReportVariableData); fileString = ParseVariablen(fileString, dtmStudioTestData); var writer = new StreamWriter(reportFileData); writer.Write(fileString); writer.Close(); } }
/// <summary> /// The getdevice function mapping. /// </summary> /// <param name="coDIADeviceFunctionName"> /// The co dia device function name. /// </param> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> /// <returns> /// The <see cref="DeviceFunctionMapping"/>. /// </returns> private DeviceFunctionMapping GetdeviceFunctionMapping(string coDIADeviceFunctionName, DTMstudioTestData dtmStudioTestData) { foreach (var deviceFunctionMapping in dtmStudioTestData.TestLibrary.DeviceFunctionMappingList.DeviceFunctionList) { if (deviceFunctionMapping.CoDIADeviceFunctionName == coDIADeviceFunctionName) { return(deviceFunctionMapping); } } return(new DeviceFunctionMapping()); }
/// <summary> /// The save data. /// </summary> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> public void SaveData(DTMstudioTestData dtmStudioTestData) { this.SetTestResult(dtmStudioTestData.DeviceTypeProject.DeviceTypeProjectPath); }
/// <summary> /// The load data. /// </summary> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> /// <returns> /// The <see cref="DTMstudioTestData"/>. /// </returns> public DTMstudioTestData LoadData(DTMstudioTestData dtmStudioTestData) { return(this.GetDeviceTypeProjectData(dtmStudioTestData.DeviceTypeProject.DeviceTypeProjectPath, dtmStudioTestData)); }
/// <summary> /// The export test result. /// </summary> /// <param name="assemblyLocation"> /// The assembly location. /// </param> /// <param name="pathToReport"> /// The path to report. /// </param> /// <param name="testName"> /// The test name. /// </param> /// <param name="dtMstudioTestTempData"> /// The dt mstudio test temp data. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool ExportTestResult(FileInfo assemblyLocation, string pathToReport, string testName, DTMstudioTestData dtMstudioTestTempData) { var loader = this.LoadAppDomain(assemblyLocation); if (assemblyLocation.Directory != null) { return(loader.ExportTestResult(assemblyLocation, pathToReport, testName, dtMstudioTestTempData)); } return(false); }
public DTMstudioTestData LoadDataTest(DTMstudioTestData dtmStudioTestData) { return(this.GetDTMstudioTestDataTest(dtmStudioTestData)); }
/// <summary> /// The parse report. /// </summary> /// <param name="fileStream"> /// The file stream. /// </param> /// <param name="dtmStudioTestTempData"> /// The dtm studio test temp data. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public static string ParseVariablen(string fileStream, DTMstudioTestData dtmStudioTestTempData) { fileStream = fileStream.Replace("$(DeviceTypeTestProjectName)", !string.IsNullOrEmpty(dtmStudioTestTempData.DeviceTypeTestProject.Name) ? dtmStudioTestTempData.DeviceTypeTestProject.Name : "-"); fileStream = fileStream.Replace("$(DeviceTypeProjectName)", !string.IsNullOrEmpty(dtmStudioTestTempData.DeviceTypeTestProject.Name) ? dtmStudioTestTempData.DeviceTypeProject.Name : "-"); fileStream = fileStream.Replace("$(FDTDeviceTypeName)", !string.IsNullOrEmpty(dtmStudioTestTempData.DeviceTypeProject.FDTDeviceTypeName) ? dtmStudioTestTempData.DeviceTypeProject.FDTDeviceTypeName : "-"); fileStream = fileStream.Replace("$(FirmwareName)", !string.IsNullOrEmpty(dtmStudioTestTempData.ReportData.FirmwareInformation.Name) ? dtmStudioTestTempData.ReportData.FirmwareInformation.Name : "-"); fileStream = fileStream.Replace("$(FirmwareVersion)", !string.IsNullOrEmpty(dtmStudioTestTempData.ReportData.FirmwareInformation.Version) ? dtmStudioTestTempData.ReportData.FirmwareInformation.Version : "-"); fileStream = fileStream.Replace("$(FirmwareBuildNumber)", !string.IsNullOrEmpty(dtmStudioTestTempData.ReportData.FirmwareInformation.BuildNumber) ? dtmStudioTestTempData.ReportData.FirmwareInformation.BuildNumber : "-"); fileStream = fileStream.Replace("$(TestLibrary)", !string.IsNullOrEmpty(dtmStudioTestTempData.TestLibrary.TestLibraryVersion) ? dtmStudioTestTempData.TestLibrary.TestLibraryVersion : "-"); fileStream = fileStream.Replace("$(TestFramework)", !string.IsNullOrEmpty(dtmStudioTestTempData.TestLibrary.TestPackageVersion) ? dtmStudioTestTempData.TestLibrary.TestPackageVersion : "-"); fileStream = fileStream.Replace("$(NameOfTester)", !string.IsNullOrEmpty(dtmStudioTestTempData.ReportData.NameOfTester) ? dtmStudioTestTempData.ReportData.NameOfTester : "-"); fileStream = fileStream.Replace("$(ResultOfTest)", !string.IsNullOrEmpty(dtmStudioTestTempData.ReportData.ResultOfTest) ? dtmStudioTestTempData.ReportData.ResultOfTest : "-"); fileStream = fileStream.Replace("$(TotalTestCaseFailedCount)", !string.IsNullOrEmpty(dtmStudioTestTempData.ReportData.TotalFailedCount.ToString()) ? dtmStudioTestTempData.ReportData.TotalFailedCount.ToString() : "0"); fileStream = fileStream.Replace("$(TotalTestCaseSuccessCount)", !string.IsNullOrEmpty(dtmStudioTestTempData.ReportData.TotalSuccessCount.ToString()) ? dtmStudioTestTempData.ReportData.TotalSuccessCount.ToString() : "0"); //string durationOld = "duration=" + (char)34 + "0ms" + (char)34; //string durationNew = "duration=" + (char)34 + executionObject.Duration + (char)34; var coDIAFramework = false; var cwComponents = false; var ehEHComponents = false; foreach (var components in dtmStudioTestTempData.DeviceTypeProject.DeviceTypeFramework.FrameworkComponents) { if (components.Name == "CoDIAFramework") { fileStream = fileStream.Replace("$(CoDIAFrameworkVersion)", !string.IsNullOrEmpty(components.VersionString) ? components.VersionString : "-"); coDIAFramework = true; } if (components.Name == "CWComponents") { fileStream = fileStream.Replace("$(CWComponentsVersion)", !string.IsNullOrEmpty(components.VersionString) ? components.VersionString : "-"); cwComponents = true; } if (components.Name == "EHComponents") { fileStream = fileStream.Replace("$(EHComponentsVersion)", !string.IsNullOrEmpty(components.VersionString) ? components.VersionString : "-"); ehEHComponents = true; } } if (coDIAFramework == false) { fileStream = fileStream.Replace("$(CoDIAFrameworkVersion)", "-"); } if (cwComponents == false) { fileStream = fileStream.Replace("$(CWComponentsVersion)", "-"); } if (ehEHComponents == false) { fileStream = fileStream.Replace("$(EHComponentsVersion)", "-"); } return(fileStream); }
/// <summary> /// The export test result. /// </summary> /// <param name="currentMainReportFolder"> /// The current main report folder. /// </param> /// <param name="testName"> /// The test name. /// </param> /// <param name="dtMstudioTestTempData"> /// The dtm studio test temp data. /// </param> public static void ExportTestResult(string currentMainReportFolder, string testName, DTMstudioTestData dtMstudioTestTempData) { if (File.Exists(dtMstudioTestTempData.DeviceTypeTestProject.ExportTestResultAssembly)) { try { var assemblyLoader = new AppDomainAssemblyLoader(); assemblyLoader.ExportTestResult(new FileInfo(dtMstudioTestTempData.DeviceTypeTestProject.ExportTestResultAssembly), currentMainReportFolder, testName, dtMstudioTestTempData); assemblyLoader.UnloadAppDomain(); } catch (Exception exception) { Report.Error("Critical Error: ExportTestResult: " + exception.Message); } } }
/// <summary> /// The save data. /// </summary> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> public void SaveData(DTMstudioTestData dtmStudioTestData) { this.SetDTMstudioTestData(dtmStudioTestData); }
/// <summary> /// The get device type project data. /// </summary> /// <param name="projectFile"> /// The project file. /// </param> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> public DTMstudioTestData GetDeviceTypeProjectData(string projectFile, DTMstudioTestData dtmStudioTestData) { if (File.Exists(projectFile)) { var commonTaskInfrastructure = new CommonTaskInfrastructure(projectFile, new NoLoggingLogger()); try { var fdtDeviceTypeName = commonTaskInfrastructure.Information.GetDeviceTypeName(); Trace.Assert(fdtDeviceTypeName != string.Empty, "FDTDeviceTypeName == null"); dtmStudioTestData.DeviceTypeProject.FDTDeviceTypeName = fdtDeviceTypeName; } catch (Exception ex) { Log.ErrorEx(this, ex, "GetDeviceTypeProjectData GetDeviceTypeProjectGuid " + ex.Message); } try { var guid = commonTaskInfrastructure.Information.GetDeviceTypeProjectGuid(); Trace.Assert(guid.ToString() != string.Empty, "FDTDeviceType guid == null"); dtmStudioTestData.DeviceTypeProject.Guid = guid; } catch (Exception ex) { Log.ErrorEx(this, ex, "GetDeviceTypeProjectData GetDeviceTypeProjectGuid " + ex.Message); } var version = new Version(); try { var versionString = commonTaskInfrastructure.Information.GetDeviceTypeVersion(); Trace.Assert(versionString != string.Empty, "Device Type Version == string.Empty"); if (versionString != string.Empty) { version = new Version(versionString); } var deviceTypeFramework = new DeviceTypeFramework { VersionString = versionString, Version = version }; Trace.Assert(deviceTypeFramework != null, "deviceTypeFramework == null"); dtmStudioTestData.DeviceTypeProject.DeviceTypeFramework = deviceTypeFramework; } catch (Exception ex) { Log.ErrorEx(this, ex, "GetDeviceTypeProjectData GetDeviceTypeVersion " + ex.Message); } try { dtmStudioTestData.DeviceTypeProject.DeviceTypeFramework.FrameworkComponents = new List <FrameworkComponent>(); foreach (var projectPackage in commonTaskInfrastructure.Information.GetProjectPackages()) { var frameworkComponent = new FrameworkComponent { Name = projectPackage.Value.Name, DisplayName = projectPackage.Value.Title, VersionString = projectPackage.Value.Version, Version = new Version(projectPackage.Value.Version) }; dtmStudioTestData.DeviceTypeProject.DeviceTypeFramework.FrameworkComponents.Add(frameworkComponent); } } catch (Exception ex) { Log.ErrorEx(this, ex, "GetDeviceTypeProjectData GetProjectPackages " + ex.Message); } try { dtmStudioTestData.DeviceTypeProject.DeviceFunctions.Clear(); Dictionary <string, IModuleInfo> moduleInfos = commonTaskInfrastructure.Information.GetCodiaModuleInfos(0); foreach (var modulInfo in moduleInfos) { if (modulInfo.Value.Version.Split('.').Length == 4) { var deviceFunctionMapping = this.GetdeviceFunctionMapping(modulInfo.Value.Name, dtmStudioTestData); var deviceFunction = new DeviceFunction { Active = ((modulInfo.Value.Flags & ModuleState.Enabled) == ModuleState.Enabled), DisplayName = deviceFunctionMapping.DisplayName != string.Empty ? deviceFunctionMapping.DisplayName : modulInfo.Value.Name, Name = modulInfo.Value.Name, FrameworkMappingName = deviceFunctionMapping.TestFrameworkDeviceFunctionName, CompilerVariable = modulInfo.Value.Name.ToUpper().Replace(".", string.Empty), VersionString = modulInfo.Value.Version, Version = new Version(modulInfo.Value.Version) }; dtmStudioTestData.DeviceTypeProject.DeviceFunctions.Add(deviceFunction); } } } catch (Exception ex) { Log.ErrorEx(this, ex, "GetDeviceTypeProjectData GetCodiaModuleInfos " + ex.Message); } } return(dtmStudioTestData); }
/// <summary> /// The set DTM studio test data. /// </summary> /// <param name="dtmStudioTestData"> /// The DTM studio test data. /// </param> public void SetDTMstudioTestData(DTMstudioTestData dtmStudioTestData) { this.DTMstudioTestData = dtmStudioTestData; }
/// <summary> /// The export test result. /// </summary> /// <param name="assemblyLocation"> /// The assembly location. /// </param> /// <param name="pathToReport"> /// The path to report. /// </param> /// <param name="testName"> /// The test name. /// </param> /// <param name="dtmStudioTestTempData"> /// The dt mstudio test temp data. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool ExportTestResult(FileInfo assemblyLocation, string pathToReport, string testName, DTMstudioTestData dtmStudioTestTempData) { var directory = new DirectoryInfo(assemblyLocation.Directory.FullName); var result = false; ResolveEventHandler resolveEventHandler = (s, e) => { return(this.OnResolve(e, directory)); }; AppDomain.CurrentDomain.AssemblyResolve += resolveEventHandler; Assembly.LoadFrom(assemblyLocation.FullName); var assemblies = AppDomain.CurrentDomain.GetAssemblies(); var assembly = assemblies.First(a => a.Location == assemblyLocation.FullName); var instances = from t in assembly.GetTypes() where t.GetInterfaces().Contains(typeof(IExportResultToTestManagement)) && t.GetConstructor(Type.EmptyTypes) != null select Activator.CreateInstance(t) as IExportResultToTestManagement; foreach (var instance in instances) { try { result = instance.ExportTestResult(pathToReport, testName, dtmStudioTestTempData); break; } catch (Exception ex) { Log.ErrorEx(this, ex, MethodBase.GetCurrentMethod().Name); return(result); } } AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve -= resolveEventHandler; return(result); }