/// <summary> /// Closes any DTM function by its name and validates if the action was successful /// </summary> /// <param name="functionName">The name of the DTM function</param> /// <returns>True if the action was successful</returns> public bool Run(string functionName) { // instanciate all necessary modules var selectDeviceFunction = new Functions.Helpers.InterfaceHelpers.DTMFunctions(); var devScreen = new Functions.ApplicationArea.Page_DeviceScreen.Page_DeviceScreen_Functions(); // set module variables devScreen.DeviceFunctionName = functionName; Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Current task: Close " + functionName + " function tab"); // check if tab exists if (devScreen.IsTabOpen()) { // close desired function tab devScreen.CloseFunctionTab(); // check if tab is really closed if (devScreen.IsTabClosed()) { return(true); } } return(false); }
/// <summary> /// The run. /// </summary> /// <param name="filePath"> /// The file path. /// </param> /// <param name="fileName"> /// The file name. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool Run(string filePath, string fileName) { // instantiate all necessary modules var connectionStatus = new Functions.StatusArea.Statusbar.Statusbar_Functions(); var execFunction = new Functions.Helpers.InterfaceHelpers.DTMFunctions(); var devScreen = new Functions.ApplicationArea.Page_DeviceScreen.Page_DeviceScreen_Functions(); string fileLocation; string basePath; // set all necessary parameters devScreen.IsRestoreRequest = false; // check if device is online if (connectionStatus.IsDeviceConnected()) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Device is connected. Saving device data..."); // click button "program functions" devScreen.OpenProgramFunctionsMenu(); // check if menu is open if (devScreen.IsDTMFunctionMenuShown()) { // select "save device data" devScreen.RunDTMFunction(); // wait until process is finished if (connectionStatus.IsActionFinished()) { // get event message text string msg = connectionStatus.GetStatusMessage(); // check if saving was successful if (msg.Contains("set has been saved")) { // get file path and extract basepath fileLocation = connectionStatus.GetFileLocationFromStatusMessage(msg); basePath = connectionStatus.GetBasePath(fileLocation); // construct the destination path string finalizedPath = filePath + "\\" + fileName + ".dcdtm"; // rename the file execFunction.MoveFile(fileLocation, finalizedPath); // check if renaming was successful if (File.Exists(finalizedPath)) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "The file was successfully created. File location: " + finalizedPath); return(true); } } } } } return(false); }
/// <summary> /// /// </summary> /// <returns></returns> public bool Run() { //instantiate all modules var connectionStatus = new Functions.StatusArea.Statusbar.Statusbar_Functions(); var execFunction = new Functions.Helpers.InterfaceHelpers.DTMFunctions(); var devScreen = new Functions.ApplicationArea.Page_DeviceScreen.Page_DeviceScreen_Functions(); devScreen.IsAdditionalFunction = false; devScreen.DeviceFunctionName = "OfflineParameterization"; Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Current task: Read data from device"); //check if device is connected if (connectionStatus.IsDeviceConnected()) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Device is connected. Checking if device supports offline functionality..."); //check if device supports offline functionality //else return false and user warning devScreen.ClickFunctionMenu(); if (devScreen.IsDTMFunctionMenuShown()) { if (devScreen.IsOfflineSupported()) { //device supports offline functionality Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Device supports offline functionality. Uploading device data..."); if (devScreen.ReadFromDevice()) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Reading of the device data was successful"); } } else { //device does not support offline //report a warning and return false Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "The device does not support offline functionality. Cancelling the read request."); return(false); } } } return(false); }
/// <summary> /// /// </summary> public bool Run() { //instantiate all modules var connectionStatus = new EH.PCPS.TestAutomation.DeviceCare.V10107.Functions.StatusArea.Statusbar.Statusbar_Functions(); var execFunction = new Functions.Helpers.InterfaceHelpers.DTMFunctions(); var devScreen = new EH.PCPS.TestAutomation.DeviceCare.V10107.Functions.ApplicationArea.Page_DeviceScreen.Page_DeviceScreen_Functions(); devScreen.IsAdditionalFunction = false; devScreen.DeviceFunctionName = "OfflineParameterization"; Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Current task: Disconnect device (toggle offline)"); //check if device is connected and store value bool isConnected = connectionStatus.IsDeviceConnected(); if (isConnected) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Device is in online state. Checking if device supports offline functionality..."); //check if device supports offline functionality //else return false and user warning devScreen.ClickFunctionMenu(); if (devScreen.IsDTMFunctionMenuShown()) { if (devScreen.IsOfflineSupported()) { //device supports offline functionality Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Device supports offline functionality. Toggling offline..."); //toggle online devScreen.ToggleOnline(); Delay.Milliseconds(2500); if (connectionStatus.IsDeviceDisconnected()) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Successfully disconnected the device"); return(true); } else { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Could not disconnect the device"); return(false); } } else { //device does not support offline //report a warning and return false Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "The device does not support offline functionality. Cancel disconnecting the device..."); return(false); } } } else { //device is already connected -> do nothing and return Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "The device is already in offline state"); return(true); } return(false); }
/// <summary> /// The run. /// </summary> /// <param name="filePath"> /// The file path. /// </param> /// <param name="fileName"> /// The file name. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool Run(string filePath, string fileName) { // instantiate all necessary modules var execFunction = new Functions.Helpers.InterfaceHelpers.DTMFunctions(); var connectionStatus = new Functions.StatusArea.Statusbar.Statusbar_Functions(); var devScreen = new Functions.ApplicationArea.Page_DeviceScreen.Page_DeviceScreen_Functions(); var dialog = new Functions.Helpers.DialogFunctions(); // set all necessary parameters devScreen.IsRestoreRequest = true; Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Current task: Restore device data"); if (connectionStatus.IsDeviceConnected()) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Device is connected. Restoring device data..."); // click button "program functions" devScreen.OpenProgramFunctionsMenu(); // check if menu is open if (devScreen.IsDTMFunctionMenuShown()) { // select "restore device data" and then "browse" devScreen.RunDTMFunction(); // check if browse dialog is open if (dialog.IsBrowseDialogOpen()) { // construct the destination path string finalizedPath = filePath + "\\" + fileName + ".dcdtm"; // set filepath in the browse dialog dialog.SetFilePath(finalizedPath); // check if path is set if (dialog.IsFilePathSet(finalizedPath)) { // select "go" and then "ok" dialog.AckDialog(); // check if pop up dialog is open if (dialog.IsPopupOpen()) { // select yes in the pop up dialog dialog.AckPopup(); // wait for completion and check status area message for success/failure if (devScreen.IsRestoreFinished()) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Restoring DTM data was successful"); return(true); } } } } } } return(false); }