Exemple #1
0
        private void btnRecord_Click(object sender, RoutedEventArgs e)
        {
            SelectChangedSource = UiSelectChangedSource.SelectChangeFinished;

            if (IsRecording == false)
            {
                MouseKeyboardEventHandler.Init();

                btnRecord.Content            = "Pause";
                textBoxRecording.Text        = "Recording";
                gridTextRecording.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0));

                IsRecording = true;
                AppInsights.LogEvent("Record");
            }
            else
            {
                IsRecording = false;

                MouseKeyboardEventHandler.UnInit();

                btnRecord.Content            = "Record";
                textBoxRecording.Text        = "";
                gridTextRecording.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF));

                AddInspectUi(null); // remove last Inspect node
                AppInsights.LogEvent("Pause");
            }
        }
Exemple #2
0
        private void btnRecord_Click(object sender, RoutedEventArgs e)
        {
            SelectChangedSource = UiSelectChangedSource.SelectChangeFinished;

            if (IsRecording == false)
            {
                try
                {
                    //Start Application Under Test
                    var app = new Winium.Cruciatus.Application(txtAppAddress.Text);
                    app.Start();

                    //******

                    MouseKeyboardEventHandler.Init();

                    btnRecord.Content            = "Pause";
                    textBoxRecording.Text        = "Recording";
                    gridTextRecording.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0));

                    IsRecording = true;
                    AppInsights.LogEvent("Record");
                }
                catch (Exception)
                {
                    MessageBox.Show("The application under test does not exists");
                }
            }
            else
            {
                IsRecording = false;

                MouseKeyboardEventHandler.UnInit();

                btnRecord.Content            = "Start";
                textBoxRecording.Text        = "";
                gridTextRecording.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF));

                AddInspectUi(null); // remove last Inspect node
                AppInsights.LogEvent("Pause");
            }
        }
Exemple #3
0
        private void treeUiPath_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            if (SelectChangedSource == UiSelectChangedSource.TreeViewItemSelected)
            {
                return;
            }

            var selectedItem = treeUiPath.SelectedItem as UiTreeNode;

            if (selectedItem == null)
            {
                return;
            }

            if (SelectChangedSource != UiSelectChangedSource.ComboBoxSelected)
            {
                SelectChangedSource = UiSelectChangedSource.TreeViewItemSelected;
            }

            RecordedUiTask leafUiTask = selectedItem.UiTask;

            if (leafUiTask == null)
            {
                if (treeUiPath.Items != null && treeUiPath.Items.Count > 0)
                {
                    var x = (TreeViewItem)treeUiPath.ItemContainerGenerator.ContainerFromItem(treeUiPath.Items[0]);
                    if (x != null)
                    {
                        TreeViewItem tvi = UiTreeNode2TreeViewItem(x, UiTreeNode.s_uiTreeNodes.First(), selectedItem);
                        if (tvi != null)
                        {
                            // sync xpath with last selected tree view leaf if a parent node is selected
                            // and the selected parent has more than 1 expanded leaf children
                            leafUiTask = GetExpandedLeafNode(tvi, selectedItem, selectedTreeViewItem);
                            {
                                leafUiTask           = GetExpandedLeafNode(tvi, selectedItem, null);
                                selectedTreeViewItem = leafUiTask;
                            }
                        }
                    }
                }
            }

            if (leafUiTask == null)
            {
                if (SelectChangedSource != UiSelectChangedSource.ComboBoxSelected)
                {
                    SelectChangedSource = UiSelectChangedSource.SelectChangeFinished;
                }

                return;
            }
            else
            {
                selectedTreeViewItem = leafUiTask;
            }

            if (leafUiTask != comboBoxRecordedUi.SelectedItem)
            {
                comboBoxRecordedUi.SelectedItem = leafUiTask;
            }

            int childCount = selectedItem.Items.Count;

            if (childCount > 0)
            {
                treeUiPath.ContextMenu = treeUiPath.Resources["UiNode"] as System.Windows.Controls.ContextMenu;
            }
            else
            {
                treeUiPath.ContextMenu = treeUiPath.Resources["LeafNode"] as System.Windows.Controls.ContextMenu;
            }

            int nNodeCount = 1;
            var pParent    = selectedItem.Parent;

            while (pParent != null)
            {
                nNodeCount++;
                pParent = pParent.Parent;
            }

            HighlightPath(nNodeCount, true);

            if (SelectChangedSource != UiSelectChangedSource.ComboBoxSelected)
            {
                SelectChangedSource = UiSelectChangedSource.SelectChangeFinished;
            }

            AppInsights.LogEvent("treeUiPath_SelectedItemChanged");
        }
Exemple #4
0
        private void comboBoxRecordedUi_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (SelectChangedSource == UiSelectChangedSource.ComboBoxSelected)
            {
                return;
            }

            var selectedItem = (comboBoxRecordedUi.SelectedItem as RecordedUiTask);

            if (selectedItem == null)
            {
                return;
            }

            if (SelectChangedSource != UiSelectChangedSource.TreeViewItemSelected)
            {
                SelectChangedSource = UiSelectChangedSource.ComboBoxSelected;
            }

            // C# code
            var focusedElementName = "PreviousLeftClickElement";

            if (selectedItem.UiTaskName == EnumUiTaskName.KeyboardInput)
            {
                lock (RecordedUiTask.s_lockRecordedUi)
                {
                    foreach (var uiTask in RecordedUiTask.s_listRecordedUi)
                    {
                        if (uiTask.UiTaskName == EnumUiTaskName.LeftClick)
                        {
                            focusedElementName = uiTask.VariableName;
                        }

                        if (uiTask == selectedItem)
                        {
                            break;
                        }
                    }
                }
            }

            textBoxCode.Text = selectedItem.GetCSCode(focusedElementName);

            if (selectedItem.UiTaskName != EnumUiTaskName.KeyboardInput)
            {
                // xpath
                TextRange tr = new TextRange(rtbXPath.Document.ContentStart, rtbXPath.Document.ContentEnd);
                tr.Text = selectedItem.GetXPath(false);

                // TreeView
                HighlightPath(0, true /*highlight session path*/);

                if (treeUiPath.Items != null && treeUiPath.Items.Count > 0)
                {
                    var tvi = (TreeViewItem)treeUiPath.ItemContainerGenerator.ContainerFromItem(treeUiPath.Items[0]);
                    if (tvi != null)
                    {
                        tvi = ExpandSelectedTreeNode(UiTreeNode.s_uiTreeNodes.First(), tvi, selectedItem);
                        if (tvi != null)
                        {
                            // select to highlight leaf tree view node
                            tvi.IsSelected = true;
                            tvi.BringIntoView();
                        }
                    }
                }
            }

            if (SelectChangedSource != UiSelectChangedSource.TreeViewItemSelected)
            {
                SelectChangedSource = UiSelectChangedSource.SelectChangeFinished;
            }
        }