/// <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);
        }
Example #6
0
        /// <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));
 }
Example #12
0
        /// <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);
        }
Example #13
0
        /// <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);
        }