Пример #1
0
        public static void ClickListViewItemByIndex(string name, int index)
        {
            WinList     list = (WinList)Robot.FindWinControl(typeof(WinList), name, _root);
            WinListItem item = list.Items[index] as WinListItem;

            Mouse.Click(item);
        }
Пример #2
0
 public static void ClickMenuItem(string[] path)
 {
     foreach (string item in path)
     {
         Mouse.Click((WinMenuItem)Robot.FindWinControl(typeof(WinMenuItem), item, _root));
     }
 }
Пример #3
0
        /// <summary>
        /// 尋找DataGridView 裡的NumericUpDown Cell控制項
        /// </summary>
        /// <param name="dataGridViewName">DatGridView的AccessibleName</param>
        /// <param name="rowIndex">Row的Index,從0開始</param>
        /// <param name="columnIndex">Column的Index,從0開始</param>
        /// <param name="direct">欲按的NumericUpDown的增加或減少鍵(增加=NumericDirect.UP,減少=NumericDirect.DOWN)(</param>
        public static void ClickNumericUpDownButtonInDataGridView(string dataGridViewName, int rowIndex, int columnIndex, NumericDirect direct, int times)
        {
            const int HALF_BUTTON_WIDTH           = 8;
            const int SPINBUTTON_HEIGHT_FINE_TUNE = 3;

            //Win window
            WinWindow sec = Robot.FindWinControl(typeof(WinWindow), "CustomerSideForm", null) as WinWindow;
            //
            WinTable table = Robot.FindWinControl(typeof(WinTable), dataGridViewName, sec) as WinTable;
            WinRow   row   = table.Rows[rowIndex] as WinRow;
            WinCell  cell  = row.Cells[columnIndex] as WinCell;

            Rectangle boundingRectangle = cell.BoundingRectangle;
            int       halfHeightOfCell  = cell.BoundingRectangle.Height / 2;
            int       upperPartYOffset  = halfHeightOfCell - SPINBUTTON_HEIGHT_FINE_TUNE;
            int       lowerPartYOffset  = halfHeightOfCell + SPINBUTTON_HEIGHT_FINE_TUNE;

            switch (direct)
            {
            case NumericDirect.UP:
                Mouse.Click(new Point(boundingRectangle.X + boundingRectangle.Width - HALF_BUTTON_WIDTH, boundingRectangle.Y + upperPartYOffset));
                break;

            case NumericDirect.DOWN:
                Mouse.Click(new Point(boundingRectangle.X + boundingRectangle.Width - HALF_BUTTON_WIDTH, boundingRectangle.Y + lowerPartYOffset));
                break;
            }
            Keyboard.SendKeys("{F2}");
            for (int i = 0; i < times; i++)
            {
                Mouse.Click();
            }
            Keyboard.SendKeys("{Enter}");
        }
Пример #4
0
        public static void SendKeyEnterToOpenFileDialog()
        {
            WinControl control = (WinControl)Robot.FindWinControl(typeof(WinControl), "開啟", null);

            Mouse.Click(control);
            Keyboard.SendKeys("{Enter}");
        }
Пример #5
0
        public static void AssertWindow(string name)
        {
            const string KEY_TEXT = "\n";
            WinWindow    window   = (WinWindow)Robot.FindWinControl(typeof(WinWindow), name, null);

            Keyboard.SendKeys(window, KEY_TEXT);
        }
Пример #6
0
        /// <summary>
        /// 檢測Label的顏色是否正確
        /// </summary>
        /// <param name="labelName">標籤的AccessibleName</param>
        /// <param name="color">待測顏色</param>
        public static void AssertLabelColor(string labelName, Color color)
        {
            WinText label  = (WinText)Robot.FindWinControl(typeof(WinText), labelName, _root);
            Bitmap  bitmap = new Bitmap(label.CaptureImage());

            Assert.AreEqual(color.ToArgb(), bitmap.GetPixel(0, 0).ToArgb());
        }
Пример #7
0
        public static void AssertListViewItemByIndex(string name, int index, string text)
        {
            WinList     list = (WinList)Robot.FindWinControl(typeof(WinList), name, _root);
            WinListItem item = list.Items[index] as WinListItem;

            Assert.AreEqual(item.DisplayText, text);
        }
Пример #8
0
        public static void DeleteDataGridViewByIndex(string[] data)
        {
            WinTable table = (WinTable)Robot.FindWinControl(typeof(WinTable), data[0], _root);
            WinRow   row   = new WinRow(table);

            if (data[3] == string.Empty)
            {
                Mouse.Click(table, System.Windows.Forms.MouseButtons.Right);
            }
            else
            {
                row.SearchProperties.Add(WinRow.PropertyNames.RowIndex, data[3]);
                row.Find();
                UITestControlCollection collection = row.GetChildren();
                Mouse.Click(collection[0]);
                Mouse.Click(collection[0], System.Windows.Forms.MouseButtons.Right);
            }
            WinWindow window = new WinWindow();
            WinMenu   menu   = new WinMenu(window);

            menu.SearchProperties[WinMenu.PropertyNames.Name] = data[1];
            WinMenuItem item = new WinMenuItem(menu);

            item.SearchProperties[WinMenuItem.PropertyNames.Name] = data[2];
            Mouse.Click(item);
        }
Пример #9
0
        /// <summary>
        /// 測試一DataGridView裡的NumericUpDown Cell的值
        /// </summary>
        /// <param name="dataGridViewName">DataGridView 的 AccesibleName</param>
        /// <param name="rowIndex">NumericUpDown cell所在的row index </param>
        /// <param name="columnIndex">NumericUpDown cell 所在的 column index</param>
        /// <param name="value">欲測值</param>
        public static void AssertDataGridViewNumericUpDownCellValue(string dataGridViewName, int rowIndex, int columnIndex, int value)
        {
            WinTable table = Robot.FindWinControl(typeof(WinTable), dataGridViewName, _root) as WinTable;
            WinRow   row   = table.Rows[rowIndex] as WinRow;
            WinCell  cell  = row.Cells[columnIndex] as WinCell;

            Assert.AreEqual(cell.Value, value.ToString());
        }
Пример #10
0
        public static void AssertDateTimePicker(string[] data)
        {
            WinDateTimePicker dateTimePicker = (WinDateTimePicker)Robot.FindWinControl(typeof(WinDateTimePicker), data[0], _root);

            Assert.AreEqual(dateTimePicker.DateTime.Year, int.Parse(data[1]));
            Assert.AreEqual(dateTimePicker.DateTime.Month, int.Parse(data[2]));
            Assert.AreEqual(dateTimePicker.DateTime.Day, int.Parse(data[3]));
        }
Пример #11
0
        public static UITestControl SetForm(string formName)
        {
            WinWindow window = (WinWindow)Robot.FindWinControl(typeof(WinWindow), formName, null);

            window.SearchProperties[WinWindow.PropertyNames.Name] = formName;
            window.WindowTitles.Add(formName);
            _root = window;
            return(_root);
        }
Пример #12
0
        public static void SetComboBox(string name, string targetName)
        {
            WinComboBox comboBox = (WinComboBox)Robot.FindWinControl(typeof(WinComboBox), name, _root);

            if (comboBox.SelectedItem != targetName)
            {
                comboBox.SelectedItem = targetName;
            }
        }
Пример #13
0
        public static void SetCheckBox(string name, bool isChecked)
        {
            WinCheckBox checkBox = (WinCheckBox)Robot.FindWinControl(typeof(WinCheckBox), name, _root);

            if (checkBox.Checked != isChecked)
            {
                checkBox.Checked = isChecked;
            }
        }
Пример #14
0
        public static void SetNumericUpDown(string name, string keys)
        {
            WinComboBox spinner = (WinComboBox)Robot.FindWinControl(typeof(WinComboBox), name, _root);

            if (spinner.SelectedItem != keys)
            {
                spinner.SelectedItem = keys;
            }
        }
Пример #15
0
        public static void SetEdit(string name, string keys)
        {
            WinEdit edit = (WinEdit)Robot.FindWinControl(typeof(WinEdit), name, _root);

            if (edit.Text != keys)
            {
                edit.Text = keys;
            }
        }
Пример #16
0
        public static void DeleteDataGridViewRowByIndex(string name, string index)
        {
            WinTable table = (WinTable)Robot.FindWinControl(typeof(WinTable), name, _root);
            WinRow   row   = new WinRow(table);

            row.SearchProperties.Add(WinRow.PropertyNames.RowIndex, index);
            UITestControlCollection collection = row.GetChildren();

            Mouse.Click(collection[0]);
        }
Пример #17
0
        public static void ClickDeleteButtonInDataGridView(string dataGridViewName, int rowIndex, int columnIndex)
        {
            WinWindow sec = Robot.FindWinControl(typeof(WinWindow), "CustomerSideForm", null) as WinWindow;
            //
            WinTable table = Robot.FindWinControl(typeof(WinTable), dataGridViewName, sec) as WinTable;
            WinRow   row   = table.Rows[rowIndex] as WinRow;
            WinCell  cell  = row.Cells[columnIndex] as WinCell;

            Mouse.Click(cell);
        }
Пример #18
0
        /// <summary>
        /// Assert DataGridView所選Cell顯示的顏色(請勿讓Cell反白,否則可能會錯誤)
        /// </summary>
        /// <param name="dataGridViewName">DataGridView的AccessibleName</param>
        /// <param name="rowIndex">Row的Index,以0開始</param>
        /// <param name="columnIndex">Column的Index,以0開始</param>
        /// <param name="color">待測顏色</param>
        public static void AssertCellColor(string dataGridViewName, int rowIndex, int columnIndex, Color color)
        {
            WinTable table      = (WinTable)Robot.FindWinControl(typeof(WinTable), dataGridViewName, _root);
            WinRow   row        = (WinRow)table.Rows[rowIndex];
            WinCell  cell       = (WinCell)row.Cells[columnIndex];
            Image    image      = cell.CaptureImage();
            Bitmap   bitmap     = new Bitmap(image);
            Color    pixelColor = bitmap.GetPixel(image.Width / 2, image.Height / 2);

            Assert.AreEqual(pixelColor.ToArgb(), color.ToArgb());
        }
Пример #19
0
        /// <summary>
        /// 在ColorDialog顯示的情況下點擊確定
        /// </summary>
        public static void ClickColorDialogOk()
        {
            WinWindow colorDialog = (WinWindow)Robot.FindWinControl(typeof(WinWindow), "色彩", null);

            colorDialog.SearchProperties[WinWindow.PropertyNames.ClassName] = "#32770";
            WinWindow okWindow = new WinWindow(colorDialog);

            okWindow.SearchProperties[WinWindow.PropertyNames.ControlId] = "1";
            WinButton okButton = (WinButton)Robot.FindWinControl(typeof(WinButton), "確定", okWindow);

            Mouse.Click(okButton);
        }
Пример #20
0
        public static void SetDataGridViewQuantity(string name, string index, string qty)
        {
            WinTable table   = (WinTable)Robot.FindWinControl(typeof(WinTable), name, _root);
            WinRow   _Winrow = new WinRow(table);

            _Winrow.SearchProperties.Add(WinRow.PropertyNames.RowIndex, index);
            _Winrow.Find();
            UITestControlCollection collection = _Winrow.GetChildren();
            WinCell cell = collection[4] as WinCell;

            cell.Value = qty;
        }
Пример #21
0
        /// <summary>
        /// 判斷視窗是否存在
        /// </summary>
        /// <param name="name">Form的AccessibleName</param>
        /// <param name="isExist">存在與否</param>
        public static void AssertWindowExist(string name, bool isExist)
        {
            WinWindow form  = (WinWindow)Robot.FindWinControl(typeof(WinWindow), name, null);
            int       count = form.FindMatchingControls().Count;

            if (isExist)
            {
                Assert.IsTrue(count > 0);
            }
            else
            {
                Assert.AreEqual(0, count);
            }
        }
Пример #22
0
        public static void AssertDataGridViewByIndex(string name, string index, string[] data)
        {
            WinTable table   = (WinTable)Robot.FindWinControl(typeof(WinTable), name, _root);
            WinRow   _Winrow = new WinRow(table);

            _Winrow.SearchProperties.Add(WinRow.PropertyNames.RowIndex, index);
            _Winrow.Find();
            UITestControlCollection collection = _Winrow.GetChildren();

            for (int i = 0; i < collection.Count; i++)
            {
                WinCell cell = collection[i] as WinCell;
                Assert.AreEqual(data[i], cell.Value);
            }
        }
Пример #23
0
        public static void SelectFileByOpenFileDialog(string formName, string[] fileName)
        {
            WinWindow UIMealpicturepathWindow = (WinWindow)Robot.FindWinControl(typeof(WinWindow), formName, null);
            WinWindow UIItemWindow            = (WinWindow)Robot.FindWinControl(typeof(WinWindow), "項目檢視", UIMealpicturepathWindow);

            foreach (var file in fileName)
            {
                WinListItem UIResourcesListItem = new WinListItem(UIItemWindow);
                UIResourcesListItem.SearchProperties[WinListItem.PropertyNames.Name] = file;

                WinEdit ItemEdit = new WinEdit(UIResourcesListItem);
                ItemEdit.SearchProperties[WinEdit.PropertyNames.Name] = "名稱";

                Mouse.DoubleClick(ItemEdit);
            }
        }
Пример #24
0
        public static void ClickDateTimePicker(string[] data)
        {
            WinDateTimePicker dateTimePicker = (WinDateTimePicker)Robot.FindWinControl(typeof(WinDateTimePicker), data[0], _root);

            dateTimePicker.SetProperty("DateTime", data[1] + "/" + data[2] + "/" + data[3]);
        }
Пример #25
0
        public static void ClickButton(string name)
        {
            WinButton button = (WinButton)Robot.FindWinControl(typeof(WinButton), name, _root);

            Mouse.Click(button);
        }
Пример #26
0
        public static void AssertDataItemsInDataGridView(string name, int items)
        {
            WinTable table = (WinTable)Robot.FindWinControl(typeof(WinTable), name, _root);

            Assert.AreEqual(table.Rows.Count, items);
        }
Пример #27
0
        public static void ClickHyperlink(string name)
        {
            WinHyperlink hyperink = (WinHyperlink)Robot.FindWinControl(typeof(WinHyperlink), name, _root);

            Mouse.Click(hyperink);
        }
Пример #28
0
        public static void ClickRadioButton(string name)
        {
            WinRadioButton radio = (WinRadioButton)Robot.FindWinControl(typeof(WinRadioButton), name, _root);

            Mouse.Click(radio);
        }
Пример #29
0
        public static void SendKeyEnterToMessageBox(string caption)
        {
            WinControl control = (WinControl)Robot.FindWinControl(typeof(WinControl), caption, null);

            Keyboard.SendKeys("{Enter}");
        }
Пример #30
0
        public static void AssertButtonEnable(string name, bool state)
        {
            WinButton button = (WinButton)Robot.FindWinControl(typeof(WinButton), name, _root);

            Assert.AreEqual(button.Enabled, state);
        }