Exemplo n.º 1
0
 private static void AnimateMouseThroughPoints(IEnumerable <Point> points)
 {
     foreach (var point in points)
     {
         Mouse.MoveTo(point);
         Delay(5);
     }
 }
        public void Set_focus_on_empty_grid()
        {
            WpfTestHelper.WithWindow2(async w => {
                var grid  = new DataGrid2();
                w.Content = grid;
                await grid.WaitLoaded();

                Assert.IsFalse(grid.IsKeyboardFocusWithin);
                var point = grid.PointToScreen(new Point(3, 3));
                Mouse.MoveTo(new System.Drawing.Point((int)point.X, (int)point.Y));
                Mouse.Click(MouseButton.Left);
                await w.WaitIdle();
                Assert.IsTrue(grid.IsKeyboardFocusWithin);
            });
        }
Exemplo n.º 3
0
        public static void ScrambleAround(bool withMainWindow = true)
        {
            DocumentHelper.ReadIndexFile();
            ElementsInScrambleAround.Clear();
            var allAutomationElementsNames = DocumentHelper.HashFileDict.Values;

            foreach (var name in allAutomationElementsNames)
            {
                ElementsInScrambleAround.Add(GetElementByHierarchy(name, withMainWindow));
            }

            var validElementsToScramble = ElementsInScrambleAround.Where(x => x != null);

            ElementsInScrambleAround = validElementsToScramble.ToList();

            foreach (var elem in ElementsInScrambleAround)
            {
                if (elem != null && elem.Current.IsEnabled == true && elem.Current.IsKeyboardFocusable == true)
                {
                    if (ElementsInScrambleAround.Where(x => x.Current.IsEnabled).Count() == 0)
                    {
                        var activeWindows = GetElementCollectionAsList(FindAllControlsOfType(MainWindow, ControlType.Window)).Where(x => x.Current.IsEnabled);

                        foreach (var window in activeWindows)
                        {
                            RecordElements(window, GetHierarchyOfElement(window));
                            ScrambleAround();
                        }
                    }

                    //TakeStep(elem);

                    // Just placeholder junk
                    try
                    {
                        if (elem.GetClickablePoint() != null)
                        {
                            Mouse.MoveTo(elem.GetClickablePoint().ToDrawingPoint());
                            Mouse.Click(MouseButton.Left);
                        }
                    }
                    catch (Exception)
                    {
                        //throw;
                    }
                }
            }
        }
Exemplo n.º 4
0
        private static void DrawSpirographWaveOnCanvas(AutomationElement canvasElement)
        {
            var bounds = canvasElement.Current.BoundingRectangle;

            var centerX = (int)(bounds.X + bounds.Width / 2);
            int centerY = (int)(bounds.Y + bounds.Height / 2);

            var points = GetPointsForSpirograph(centerX, centerY, 1.02, 5, 2, 0, 300);

            Mouse.MoveTo(points.First());
            Mouse.Down(MouseButton.Left);

            AnimateMouseThroughPoints(points);

            Mouse.Up(MouseButton.Left);
        }
Exemplo n.º 5
0
        private static void AutomateMainWindow(AutomationElement mainWindow)
        {
            // find the Paint.Net drawing Canvas
            var descendentPath = new[] { "tileModules" };
            var canvas         = mainWindow.FindDescendentByIdPath(descendentPath);// new[] { "tileModules", "workspacePanel", "DocumentView", "scrollableCanvasControl", "canvasView" });

            DrawSpirographWaveOnCanvas(canvas);

            // the the audience appreciate the masterpiece!
            Delay(5000);

            var closeButton = mainWindow.FindDescendentByIdPath(new[] { "TitleBar", "Close" });

            closeButton.GetInvokePattern().Invoke();

            // give chance for the close dialog to open
            Delay();

            var dontSaveButton = mainWindow.FindDescendentByNamePath(new[] { "Unsaved Changes", "Don't Save" });

            Mouse.MoveTo(dontSaveButton.GetClickablePoint().ToDrawingPoint());
            Mouse.Click(MouseButton.Left);
        }