예제 #1
0
        public void UpdateWheelData(int delta)
        {
            string wdata = ConstVariables.WHEEL;
            int    nPos1 = _strXmlNode.IndexOf("wheel=\"") + "wheel=\"".Length;
            int    nPos2 = _strXmlNode.IndexOf("\">", nPos1);

            if (nPos2 > nPos1)
            {
                wdata = _strXmlNode.Substring(nPos1, nPos2 - nPos1);
                int nCurData = 0;
                if (int.TryParse(wdata, out nCurData))
                {
                    delta += nCurData;
                }
            }

            _nDeltaX += 1;
            _nDeltaY  = delta;

            string strdelta = $"wheel=\"{delta}\"";

            wdata           = $"wheel=\"{wdata}\"";
            _strXmlNode     = _strXmlNode.Replace(wdata, strdelta);
            _uiTaskName     = UiTaskName.MouseWheel;
            _strDescription = null;
        }
예제 #2
0
        public void DragComplete(int deltaX, int deltaY)
        {
            _nDeltaX = deltaX;
            _nDeltaY = deltaY;

            string strDeltaX = deltaX.ToString();
            string strDeltaY = deltaY.ToString();

            string strUpdated = ReplaceLastWith(_strXmlNode, ConstVariables.DELTAX, strDeltaX);

            _strXmlNode     = ReplaceLastWith(strUpdated, ConstVariables.DELTAY, strDeltaY);
            _uiTaskName     = UiTaskName.Drag;
            _strDescription = null;
        }
예제 #3
0
 public RecordedUiTask(string strXmlNode, int nTick, UiTaskName taskName)
 {
     _uiTaskName = taskName;
     _strXmlNode = strXmlNode;
     _tickCount  = nTick == 0 ? Environment.TickCount : nTick;
 }
예제 #4
0
 public void ChangeClickToDoubleClick()
 {
     _strXmlNode     = ReplaceLastWith(_strXmlNode, UiTaskName.LeftClick.ToString(), UiTaskName.LeftDblClick.ToString());
     _uiTaskName     = UiTaskName.LeftDblClick;
     _strDescription = null;
 }
예제 #5
0
        public string GetDescription()
        {
            if (_strDescription == null)
            {
                XmlDocument xmlDocument = new XmlDocument();
                try
                {
                    xmlDocument.LoadXml(_strXmlNode);
                }
                catch (Exception ex)
                {
                    return(ex.ToString());
                }

                XmlNodeList uiTasks = xmlDocument.GetElementsByTagName("UiTask");
                if (uiTasks.Count == 1)
                {
                    string strTask = uiTasks[0].Attributes["task"].Value;

                    _uiTaskName = ConstVariables.FromStringTaskName(strTask);

                    if (_uiTaskName == UiTaskName.KeyboardInput)
                    {
                        _strBase64Text = uiTasks[0].Attributes["base64String"].Value;

                        var varCapLock = uiTasks[0].Attributes["CapsLock"].Value;
                        if (varCapLock != null)
                        {
                            _bCapsLock = Convert.ToBoolean(varCapLock);
                        }

                        var varNumLock = uiTasks[0].Attributes["NumLock"].Value;
                        if (varNumLock != null)
                        {
                            _bNumLock = Convert.ToBoolean(varNumLock);
                        }

                        var varScrollLock = uiTasks[0].Attributes["ScrollLock"].Value;
                        if (varScrollLock != null)
                        {
                            _bScrollLock = Convert.ToBoolean(varScrollLock);
                        }

                        var           keyboardTaskDescription = GenerateCSCode.GetDecodedKeyboardInput(_strBase64Text, _bCapsLock, _bNumLock, _bScrollLock);
                        StringBuilder sb = new StringBuilder();
                        foreach (var strLine in keyboardTaskDescription)
                        {
                            sb.Append(strLine);
                        }

                        _strDescription = $"{_uiTaskName} VirtualKeys=\"{sb.ToString()}\" CapsLock={_bCapsLock} NumLock={_bNumLock} ScrollLock={_bScrollLock}";
                    }
                    else
                    {
                        var vleft = uiTasks[0].Attributes["x"];
                        _strLeft = vleft != null ? vleft.Value : "";

                        var vtop = uiTasks[0].Attributes["y"];
                        _strTop = vtop != null ? vtop.Value : "";

                        string name = uiTasks[0].LastChild.Attributes[ConstVariables.Name].Value;
                        if (string.IsNullOrEmpty(name))
                        {
                            name = uiTasks[0].LastChild.Attributes[ConstVariables.AutomationId].Value;
                            if (string.IsNullOrEmpty(name))
                            {
                                name = uiTasks[0].Name;
                            }
                        }

                        if (_uiTaskName == UiTaskName.Drag || _uiTaskName == UiTaskName.MouseWheel)
                        {
                            _strDescription = $"{_uiTaskName} on \"{name}\" at ({_strLeft},{_strTop}) drag ({_nDeltaX},{_nDeltaY})";
                        }
                        else
                        {
                            _strDescription = $"{_uiTaskName} on \"{name}\" at ({_strLeft},{_strTop})";
                        }
                    }
                }
            }

            return(_strDescription);
        }