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); }
public static void ClickMenuItem(string[] path) { foreach (string item in path) { Mouse.Click((WinMenuItem)Robot.FindWinControl(typeof(WinMenuItem), item, _root)); } }
/// <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}"); }
public static void SendKeyEnterToOpenFileDialog() { WinControl control = (WinControl)Robot.FindWinControl(typeof(WinControl), "開啟", null); Mouse.Click(control); Keyboard.SendKeys("{Enter}"); }
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); }
/// <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()); }
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); }
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); }
/// <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()); }
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])); }
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); }
public static void SetComboBox(string name, string targetName) { WinComboBox comboBox = (WinComboBox)Robot.FindWinControl(typeof(WinComboBox), name, _root); if (comboBox.SelectedItem != targetName) { comboBox.SelectedItem = targetName; } }
public static void SetCheckBox(string name, bool isChecked) { WinCheckBox checkBox = (WinCheckBox)Robot.FindWinControl(typeof(WinCheckBox), name, _root); if (checkBox.Checked != isChecked) { checkBox.Checked = isChecked; } }
public static void SetNumericUpDown(string name, string keys) { WinComboBox spinner = (WinComboBox)Robot.FindWinControl(typeof(WinComboBox), name, _root); if (spinner.SelectedItem != keys) { spinner.SelectedItem = keys; } }
public static void SetEdit(string name, string keys) { WinEdit edit = (WinEdit)Robot.FindWinControl(typeof(WinEdit), name, _root); if (edit.Text != keys) { edit.Text = keys; } }
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]); }
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); }
/// <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()); }
/// <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); }
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; }
/// <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); } }
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); } }
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); } }
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]); }
public static void ClickButton(string name) { WinButton button = (WinButton)Robot.FindWinControl(typeof(WinButton), name, _root); Mouse.Click(button); }
public static void AssertDataItemsInDataGridView(string name, int items) { WinTable table = (WinTable)Robot.FindWinControl(typeof(WinTable), name, _root); Assert.AreEqual(table.Rows.Count, items); }
public static void ClickHyperlink(string name) { WinHyperlink hyperink = (WinHyperlink)Robot.FindWinControl(typeof(WinHyperlink), name, _root); Mouse.Click(hyperink); }
public static void ClickRadioButton(string name) { WinRadioButton radio = (WinRadioButton)Robot.FindWinControl(typeof(WinRadioButton), name, _root); Mouse.Click(radio); }
public static void SendKeyEnterToMessageBox(string caption) { WinControl control = (WinControl)Robot.FindWinControl(typeof(WinControl), caption, null); Keyboard.SendKeys("{Enter}"); }
public static void AssertButtonEnable(string name, bool state) { WinButton button = (WinButton)Robot.FindWinControl(typeof(WinButton), name, _root); Assert.AreEqual(button.Enabled, state); }