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"); } }
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"); } }
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"); }
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; } }