//********************************************************************** /// <summary> /// Form action: VerifyProperty equal, Contains, NotContains. /// </summary> public static void VerifyProperty(LxScriptItem item) { if (item.getArg2Text() == "Equal") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), item.getArg3Text()); } if (item.getArg2Text() == "Contains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex(Regex.Escape(item.getArg3Text()))); } if (item.getArg2Text() == "NotContains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex("^((?!(" + Regex.Escape(item.getArg3Text()) + ")).)*$")); } }
//********************************************************************** /// <summary> /// Send command to simulator, sent traps, change data OID values. /// </summary> public static void SendCommandToSimulator(LxScriptItem item) { string strDestination = item.getArgText(); string IP = ""; string port = "163"; if (strDestination.IndexOf(":") != -1) { string[] spilt = strDestination.Split(':'); //IP = strDestination.Substring(0,strDestination.IndexOf(":")); //port = strDestination.Substring(strDestination.IndexOf(":")+1,strDestination.Length - strDestination.IndexOf(":")); IP = spilt[0]; port = spilt[1]; } else { IP = strDestination; } int circle = Convert.ToInt32(item.getArg2Text()); string message = item.getArg3Text(); IPAddress GroupAddress = IPAddress.Parse(IP); int GroupPort = Convert.ToInt32(port); UdpClient sender = new UdpClient(); IPEndPoint groupEP = new IPEndPoint(GroupAddress, GroupPort); for (int i = 0; i < circle; i++) { byte[] bytes = StrToByteArray(message); sender.Send(bytes, bytes.Length, groupEP); Delay.Milliseconds(50); } sender.Close(); }
//********************************************************************** /// <summary> /// Open txt file, verify content contains or not contains given string. /// </summary> public static void VerifyTxtfileValues(LxScriptItem item) { string strPath = item.getArgText(); string strFileName = strPath.Substring(strPath.LastIndexOf("/") + 1, strPath.Length - strPath.LastIndexOf("/") - 1); string flag = item.getArg3Text(); // flag=true, contains; flag=false, not contains. System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); //startInfo.CreateNoWindow = true; startInfo.FileName = "notepad.exe"; //startInfo.UseShellExecute = false; //startInfo.RedirectStandardOutput = true; //startInfo.RedirectStandardInput = true; startInfo.Arguments = " " + strPath; System.Diagnostics.Process process = System.Diagnostics.Process.Start(startInfo); bool bContains = repo.ExternalApp.NotePad.MainContext.TextValue.IndexOf(item.getArg2Text()) == -1?false:true; Delay.Milliseconds(6000); process.Kill(); if (flag.Equals("True")) { Validate.AreEqual(bContains, true); } else { Validate.AreEqual(bContains, false); } }
//********************************************************************** /// <summary> /// Form action: Add device. /// </summary> public static void Add_Device(LxScriptItem item) { repo.NFormApp.NformG2Window.FormMain.Configure.Click(); repo.NFormApp.NformG2Window.FormMain.Devices.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Add.Click(); if(item.getArgText() == "SingleAuto") { repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Hostname_or_IP_address.PressKeys(item.getArg2Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Obtain_setting_from_device.Check(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Finish.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device_Results.OK.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); } if(item.getArgText() == "SingleManual") { repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Hostname_or_IP_address.PressKeys(item.getArg2Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Obtain_setting_from_device.Uncheck(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Name.PressKeys(item.getArg3Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Description.PressKeys(item.getArg4Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Device_type.SelectedItemText = item.getArg5Text(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Device_protocol.SelectedItemText = item.getArg6Text(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Finish.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device_Results.OK.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); } if(item.getArgText() == "MultiSearch") { repo.NFormApp.AddDeviceWizard.FormAdd_Device.Discover_devices.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.DeleteRow.Click(); while(repo.NFormApp.AddDeviceWizard.FormAdd_Device.DeleteRow.Enabled==true) { repo.NFormApp.AddDeviceWizard.FormAdd_Device.DeleteRow.Click(); } repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[0].Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[1].Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[1].Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[1].PressKeys(item.getArg2Text() + "{TAB}{CONTROL down}{Akey}{CONTROL up}" +item.getArg3Text()); Delay.Duration(1000); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); Delay.Duration(40000); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Select_all.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Finish.Click(); Delay.Duration(10000); repo.NFormApp.AddDeviceWizard.FormAdd_Device_Results.OK.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); } }
//********************************************************************** /// <summary> /// Click to the Cell by given index in the Table. /// </summary> public static void Click_Cell(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); if (objType.Name.ToString() == "Table") { Ranorex.Table tb = (Ranorex.Table)objComponet; tb.Rows[Convert.ToInt32(item.getArgText())].Cells[Convert.ToInt32(item.getArg2Text())].Click(); } }
//********************************************************************** /// <summary> /// Input Cell by given index in the Table. /// </summary> public static void Input_Cell(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); if (objType.Name.ToString() == "Table") { Ranorex.Table tb = (Ranorex.Table)objComponet; tb.Rows[Convert.ToInt32(item.getArgText())].Cells[Convert.ToInt32(item.getArg2Text())].DoubleClick(); Keyboard.Press("{CONTROL down}{Akey}{CONTROL up}" + item.getArg3Text()); } }
//********************************************************************** /// <summary> /// Form action: Del device. /// </summary> public static void Del_Device(LxScriptItem item) { repo.NFormApp.NformG2Window.FormMain.Configure.Click(); repo.NFormApp.NformG2Window.FormMain.Devices.Click(); if (item.getArgText() == "SingleDel") { repo.myCustom = item.getArg2Text(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.CellVariables.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Delete.Click(); repo.NFormApp.ManagedDevicesWindow.FormConfirm_Device_Delete.Yes.Click(); } if (item.getArgText() == "AllDel") { repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Managed_device_table.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Managed_device_table.PressKeys("{CONTROL down}{Akey}{CONTROL up}"); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Delete.Click(); repo.NFormApp.ManagedDevicesWindow.FormConfirm_Device_Delete.Yes.Click(); Delay.Duration(5000); } repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); }
//********************************************************************** /// <summary> /// Form action: VerifyProperty equal, Contains, NotContains. /// </summary> public static void VerifyProperty(LxScriptItem item) { //MessageBox.Show(item.getComponent().ToString()); // The component is lable string testtemp = item.getComponent().ToString(); if (item.getComponent().ToString().IndexOf("Lbl") != -1) { Ranorex.NativeWindow nativeWnd = item.getComponentInfo().CreateAdapter <Ranorex.NativeWindow>(false); string lableText = nativeWnd.WindowText; if (item.getArg2Text() == "Equal") { string abc = item.getArg3Text(); Validate.AreEqual(lableText, item.getArg3Text()); } if (item.getArg2Text() == "Contains") { int iFlag = lableText.IndexOf(item.getArg3Text()); Validate.IsTrue(iFlag != -1); } if (item.getArg2Text() == "NotContains") { int iFlag = lableText.IndexOf(item.getArg3Text()); Validate.IsTrue(iFlag == -1); } return; } if (item.getArg2Text() == "Equal") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), item.getArg3Text()); } if (item.getArg2Text() == "Contains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex(Regex.Escape(item.getArg3Text()))); } if (item.getArg2Text() == "NotContains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex("^((?!(" + Regex.Escape(item.getArg3Text()) + ")).)*$")); } if (item.getArg2Text() == "ListContains") { bool Resultflag = false; object objComponet = item.getComponent(); Ranorex.ComboBox myComboBox = (Ranorex.ComboBox)(objComponet); Ranorex.Button btn = myComboBox.FindSingle("./button"); btn.Click(); List lst = "/list"; foreach (ListItem lst_item in lst.FindChildren <ListItem>()) { if ((lst_item.Text).Equals(item.getArg3Text())) { Resultflag = true; break; } } btn.Click(); Validate.AreEqual(Resultflag, true); } }
//********************************************************************** /// <summary> /// Form action: Add device. /// </summary> public static void Add_Device(LxScriptItem item) { repo.NFormApp.NformG2Window.FormMain.Configure.Click(); repo.NFormApp.NformG2Window.FormMain.Devices.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Add.Click(); if (item.getArgText() == "SingleAuto") { repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Hostname_or_IP_address.PressKeys(item.getArg2Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Obtain_setting_from_device.Check(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Finish.Click(); Delay.Milliseconds(5000); repo.NFormApp.AddDeviceWizard.FormAdd_Device_Results.OK.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); } if (item.getArgText() == "SingleManual") { repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Hostname_or_IP_address.PressKeys(item.getArg2Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Obtain_setting_from_device.Uncheck(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Name.PressKeys(item.getArg3Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Description.PressKeys(item.getArg4Text()); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Device_type.SelectedItemText = item.getArg5Text(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Device_protocol.SelectedItemText = item.getArg6Text(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Finish.Click(); Delay.Milliseconds(5000); repo.NFormApp.AddDeviceWizard.FormAdd_Device_Results.OK.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); } if (item.getArgText() == "MultiSearch") { repo.NFormApp.AddDeviceWizard.FormAdd_Device.Discover_devices.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.DeleteRow.Click(); while (repo.NFormApp.AddDeviceWizard.FormAdd_Device.DeleteRow.Enabled == true) { repo.NFormApp.AddDeviceWizard.FormAdd_Device.DeleteRow.Click(); } repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[0].Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[1].Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[1].Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Search_device_table.Rows[1].Cells[1].PressKeys(item.getArg2Text() + "{TAB}{CONTROL down}{Akey}{CONTROL up}" + item.getArg3Text()); Delay.Duration(1000); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); Delay.Duration(4000); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Next.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Select_all.Click(); repo.NFormApp.AddDeviceWizard.FormAdd_Device.Finish.Click(); Delay.Duration(2000); repo.NFormApp.AddDeviceWizard.FormAdd_Device_Results.OK.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); } }
//********************************************************************** /// <summary> /// DoubleClick to given items in the comoponet like List, Table and Tree. /// </summary> public static void DoubleClick_Item(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); //MessageBox.Show(objType.Name.ToString()); if(objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.ListItem targetListItem = targetListItemInfo.CreateAdapter<Ranorex.ListItem>(true); targetListItem.DoubleClick(); } if(objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.Cell targetCell = targetCellInfo.CreateAdapter<Ranorex.Cell>(true); targetCell.DoubleClick(); } if(objType.Name.ToString() == "Tree") { int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; for(int i = 1 ; i <= treeLevel; i++) { strTreelevel += "/treeitem"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel +"[@accessiblename='"+ item.getArg2Text() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.TreeItem targetTreeItem = targetTreeItemInfo.CreateAdapter<Ranorex.TreeItem>(true); targetTreeItem.DoubleClick(); /* Ranorex.Control treeViewControl = targetTreeItem.Element.As<Ranorex.Control>(); System.Windows.Forms.TreeNode node = treeViewControl.InvokeMethod( "GetNodeAt", new object[] { targetTreeItem.Element.ClientRectangle.Location + new Size(1, 1) }) as System.Windows.Forms.TreeNode; object mynode = node.GetLifetimeService(); Ranorex.CheckBox mycheckbox = (Ranorex.CheckBox)mynode; mycheckbox.Check(); */ } }
//********************************************************************** /// <summary> /// Click to given items in the comoponet like List, Table and Tree. /// </summary> public static void Select_Item(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); //MessageBox.Show(objType.Name.ToString()); if (objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.ListItem targetListItem = targetListItemInfo.CreateAdapter <Ranorex.ListItem>(true); targetListItem.Click(); } if (objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.Cell targetCell = targetCellInfo.CreateAdapter <Ranorex.Cell>(true); targetCell.Click(); } if (objType.Name.ToString() == "Tree") { String Xpos = " "; String Ypos = " "; String sPoint = "0;0"; if ((!(item.getArg3Text().Trim().Equals(""))) && (!(item.getArg4Text().Trim().Equals("")))) { Xpos = item.getArg3Text(); Ypos = item.getArg4Text(); sPoint = Xpos + ";" + Ypos; } int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; string strTreelevelCkb = ""; for (int i = 1; i <= treeLevel; i++) { strTreelevel += "/treeitem"; strTreelevelCkb += "/checkbox"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel + "[@accessiblename='" + item.getArg2Text() + "']", 10000, null, System.Guid.NewGuid().ToString()); if (targetTreeItemInfo.Exists()) { Ranorex.TreeItem targetTreeItem = targetTreeItemInfo.CreateAdapter <Ranorex.TreeItem>(true); targetTreeItem.Click(sPoint); } else { targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem1", objComponetInfo.Path + strTreelevelCkb + "[@accessiblename='" + item.getArg2Text() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.CheckBox targetTreeItemCkb = targetTreeItemInfo.CreateAdapter <Ranorex.CheckBox>(true); targetTreeItemCkb.Click(sPoint); } } }
//********************************************************************** /// <summary> /// Verify the comoponet like List, Table and Tree not contains given items. /// </summary> public static void VerifyNotContains(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); if (objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Validate.AreEqual(targetListItemInfo.Exists(), false); } if (objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Validate.AreEqual(targetCellInfo.Exists(), false); } if (objType.Name.ToString() == "Tree") { int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; for (int i = 1; i <= treeLevel; i++) { strTreelevel += "/treeitem"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel + "[@accessiblename='" + item.getArg2Text() + "']", 10000, null, System.Guid.NewGuid().ToString()); Validate.AreEqual(targetTreeItemInfo.Exists(), false); } }
//********************************************************************** /// <summary> /// Form action: VerifyProperty equal, Contains, NotContains. /// </summary> public static void VerifyProperty(LxScriptItem item) { if(item.getArg2Text() == "Equal") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), item.getArg3Text()); } if(item.getArg2Text() == "Contains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex(Regex.Escape(item.getArg3Text()))); } if(item.getArg2Text() == "NotContains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex("^((?!("+Regex.Escape(item.getArg3Text())+")).)*$")); } }
//********************************************************************** /// <summary> /// Open excel file, verify content contains or not contains given string. /// </summary> public static void VerifyExcelfileValues(LxScriptItem item) { string strPath = item.getArgText(); string strFileName = strPath.Substring(strPath.LastIndexOf("/") + 1,strPath.Length - strPath.LastIndexOf("/") -1); string mark = item.getArg3Text(); // flag=true, contains; flag=false, not contains. System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.FileName = "excel.exe"; startInfo.Arguments = " " + strPath; System.Diagnostics.Process process = System.Diagnostics.Process.Start(startInfo); RepoItemInfo targetCellInfo = new RepoItemInfo(repo.ExternalApp.FormExcel.TableEntityInfo.ParentFolder, "variableCell", repo.ExternalApp.FormExcel.TableEntityInfo.Path + "/row/cell[@text='"+ item.getArg2Text() +"']", 10000, null, System.Guid.NewGuid().ToString()); Delay.Milliseconds(6000); bool bExists = targetCellInfo.Exists(); process.Kill(); if(mark.Equals("True")) Validate.AreEqual(bExists,true); else Validate.AreEqual(bExists,false); }
//********************************************************************** /// <summary> /// Send command to simulator, sent traps, change data OID values. /// </summary> public static void SendCommandToSimulator(LxScriptItem item) { string strDestination = item.getArgText(); string IP = ""; string port = "163"; if(strDestination.IndexOf(":") != -1) { string[] spilt = strDestination.Split(':'); //IP = strDestination.Substring(0,strDestination.IndexOf(":")); //port = strDestination.Substring(strDestination.IndexOf(":")+1,strDestination.Length - strDestination.IndexOf(":")); IP = spilt[0]; port = spilt[1]; } else { IP = strDestination; } int circle = Convert.ToInt32(item.getArg2Text()); string message = item.getArg3Text(); IPAddress GroupAddress = IPAddress.Parse(IP); int GroupPort = Convert.ToInt32(port); UdpClient sender = new UdpClient(); IPEndPoint groupEP = new IPEndPoint(GroupAddress, GroupPort); for(int i = 0;i < circle; i++) { byte[] bytes = StrToByteArray(message); sender.Send(bytes, bytes.Length, groupEP); Delay.Milliseconds(50); } sender.Close(); }
//********************************************************************** /// <summary> /// Click to given items in the comoponet like List, Table and Tree. /// </summary> public static void Select_Item(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); //MessageBox.Show(objType.Name.ToString()); if(objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.ListItem targetListItem = targetListItemInfo.CreateAdapter<Ranorex.ListItem>(true); targetListItem.Click(); } if(objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.Cell targetCell = targetCellInfo.CreateAdapter<Ranorex.Cell>(true); targetCell.Click(); } if(objType.Name.ToString() == "Tree") { String Xpos = " "; String Ypos = " "; String sPoint ="0;0"; if((!(item.getArg3Text().Trim().Equals("")))&&(!(item.getArg4Text().Trim().Equals("")))) { Xpos = item.getArg3Text(); Ypos = item.getArg4Text(); sPoint =Xpos+";"+Ypos; } int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; string strTreelevelCkb = ""; for(int i = 1 ; i <= treeLevel; i++) { strTreelevel += "/treeitem"; strTreelevelCkb += "/checkbox"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel +"[@accessiblename='"+ item.getArg2Text() +"']", 10000, null, System.Guid.NewGuid().ToString()); if(targetTreeItemInfo.Exists()) { Ranorex.TreeItem targetTreeItem = targetTreeItemInfo.CreateAdapter<Ranorex.TreeItem>(true); targetTreeItem.Click(sPoint); } else { targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem1", objComponetInfo.Path + strTreelevelCkb +"[@accessiblename='"+ item.getArg2Text() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.CheckBox targetTreeItemCkb = targetTreeItemInfo.CreateAdapter<Ranorex.CheckBox>(true); targetTreeItemCkb.Click(sPoint); } } }
//********************************************************************** /// <summary> /// Move mouse to given items in the comoponet like List, Table and Tree. /// </summary> public static void MoveTo(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); //MessageBox.Show(objType.Name.ToString()); if(objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.ListItem targetListItem = targetListItemInfo.CreateAdapter<Ranorex.ListItem>(true); targetListItem.MoveTo(); } if(objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.Cell targetCell = targetCellInfo.CreateAdapter<Ranorex.Cell>(true); targetCell.MoveTo(); } if(objType.Name.ToString() == "Tree") { int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; for(int i = 1 ; i <= treeLevel; i++) { strTreelevel += "/treeitem"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel +"[@accessiblename='"+ item.getArg2Text() +"']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.TreeItem targetTreeItem = targetTreeItemInfo.CreateAdapter<Ranorex.TreeItem>(true); targetTreeItem.MoveTo(); } }
//********************************************************************** /// <summary> /// Form action: Login in. /// </summary> public static void Login(LxScriptItem item) { repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.Username.PressKeys(item.getArgText()); repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.Password.PressKeys(item.getArg2Text()); repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.ServerCombo.PressKeys(item.getArg3Text()); repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.Login.Click(); Delay.Milliseconds(3000); // if(repo.NFormApp.LogintoLiebertNformWindow.FormEvaluation_Period_Expiration.OKInfo.Exists()) // { // repo.NFormApp.LogintoLiebertNformWindow.FormEvaluation_Period_Expiration.OK.Click(); // } // if(repo.NFormApp.LicensesWindow.FormReminder.RawTextNoInfo.Exists()) // { // repo.NFormApp.LicensesWindow.FormReminder.RawTextNo.Click("53;10"); // } }
//********************************************************************** /// <summary> /// Input Cell by given index in the Table. /// </summary> public static void Input_Cell(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); if(objType.Name.ToString() == "Table") { Ranorex.Table tb = (Ranorex.Table)objComponet; tb.Rows[Convert.ToInt32(item.getArgText())].Cells[Convert.ToInt32(item.getArg2Text())].DoubleClick(); Keyboard.Press("{CONTROL down}{Akey}{CONTROL up}"+item.getArg3Text()); } }
//********************************************************************** /// <summary> /// DoubleClick to given items in the comoponet like List, Table and Tree. /// </summary> public static void DoubleClick_Item(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); //MessageBox.Show(objType.Name.ToString()); if (objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.ListItem targetListItem = targetListItemInfo.CreateAdapter <Ranorex.ListItem>(true); targetListItem.DoubleClick(); } if (objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.Cell targetCell = targetCellInfo.CreateAdapter <Ranorex.Cell>(true); targetCell.DoubleClick(); } if (objType.Name.ToString() == "Tree") { int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; for (int i = 1; i <= treeLevel; i++) { strTreelevel += "/treeitem"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel + "[@accessiblename='" + item.getArg2Text() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.TreeItem targetTreeItem = targetTreeItemInfo.CreateAdapter <Ranorex.TreeItem>(true); targetTreeItem.DoubleClick(); /* * Ranorex.Control treeViewControl = targetTreeItem.Element.As<Ranorex.Control>(); * System.Windows.Forms.TreeNode node = treeViewControl.InvokeMethod( * "GetNodeAt", * new object[] { targetTreeItem.Element.ClientRectangle.Location + new Size(1, 1) }) * as System.Windows.Forms.TreeNode; * object mynode = node.GetLifetimeService(); * Ranorex.CheckBox mycheckbox = (Ranorex.CheckBox)mynode; * mycheckbox.Check(); */ } }
//********************************************************************** /// <summary> /// Open txt file, verify content contains or not contains given string. /// </summary> public static void VerifyTxtfileValues(LxScriptItem item) { string strPath = item.getArgText(); string strFileName = strPath.Substring(strPath.LastIndexOf("/") + 1,strPath.Length - strPath.LastIndexOf("/") -1); string flag = item.getArg3Text(); // flag=true, contains; flag=false, not contains. System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); //startInfo.CreateNoWindow = true; startInfo.FileName = "notepad.exe"; //startInfo.UseShellExecute = false; //startInfo.RedirectStandardOutput = true; //startInfo.RedirectStandardInput = true; startInfo.Arguments = " " + strPath; System.Diagnostics.Process process = System.Diagnostics.Process.Start(startInfo); bool bContains = repo.ExternalApp.NotePad.MainContext.TextValue.IndexOf(item.getArg2Text())==-1?false:true; Delay.Milliseconds(6000); process.Kill(); if(flag.Equals("True")) Validate.AreEqual(bContains,true); else Validate.AreEqual(bContains,false); }
//********************************************************************** /// <summary> /// Verify the comoponet like List, Table and Tree not contains given items. /// </summary> public static void VerifyNotContains(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); if(objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Validate.AreEqual(targetListItemInfo.Exists(),false); } if(objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='"+ item.getArgText() +"']", 10000, null, System.Guid.NewGuid().ToString()); Validate.AreEqual(targetCellInfo.Exists(),false); } if(objType.Name.ToString() == "Tree") { int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; for(int i = 1 ; i <= treeLevel; i++) { strTreelevel += "/treeitem"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel +"[@accessiblename='"+ item.getArg2Text() +"']", 10000, null, System.Guid.NewGuid().ToString()); Validate.AreEqual(targetTreeItemInfo.Exists(),false); } }
//********************************************************************** /// <summary> /// Open excel file, verify content contains or not contains given string. /// </summary> public static void VerifyExcelfileValues(LxScriptItem item) { string strPath = item.getArgText(); string strFileName = strPath.Substring(strPath.LastIndexOf("/") + 1, strPath.Length - strPath.LastIndexOf("/") - 1); string mark = item.getArg3Text(); // flag=true, contains; flag=false, not contains. System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.FileName = "excel.exe"; startInfo.Arguments = " " + strPath; System.Diagnostics.Process process = System.Diagnostics.Process.Start(startInfo); RepoItemInfo targetCellInfo = new RepoItemInfo(repo.ExternalApp.FormExcel.TableEntityInfo.ParentFolder, "variableCell", repo.ExternalApp.FormExcel.TableEntityInfo.Path + "/row/cell[@text='" + item.getArg2Text() + "']", 10000, null, System.Guid.NewGuid().ToString()); Delay.Milliseconds(6000); bool bExists = targetCellInfo.Exists(); process.Kill(); if (mark.Equals("True")) { Validate.AreEqual(bExists, true); } else { Validate.AreEqual(bExists, false); } }
//********************************************************************** /// <summary> /// Click to the Cell by given index in the Table. /// </summary> public static void Click_Cell(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); if(objType.Name.ToString() == "Table") { Ranorex.Table tb = (Ranorex.Table)objComponet; tb.Rows[Convert.ToInt32(item.getArgText())].Cells[Convert.ToInt32(item.getArg2Text())].Click(); } }
//********************************************************************** /// <summary> /// Move mouse to given items in the comoponet like List, Table and Tree. /// </summary> public static void MoveTo(LxScriptItem item) { object objComponet = item.getComponent(); RepoItemInfo objComponetInfo = item.getComponentInfo(); Type objType = objComponet.GetType(); //MessageBox.Show(objType.Name.ToString()); if (objType.Name.ToString() == "List") { RepoItemInfo targetListItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableListItem", objComponetInfo.Path + "/listitem[@accessiblename='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.ListItem targetListItem = targetListItemInfo.CreateAdapter <Ranorex.ListItem>(true); targetListItem.MoveTo(); } if (objType.Name.ToString() == "Table") { RepoItemInfo targetCellInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableCell", objComponetInfo.Path + "/row/cell[@text='" + item.getArgText() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.Cell targetCell = targetCellInfo.CreateAdapter <Ranorex.Cell>(true); targetCell.MoveTo(); } if (objType.Name.ToString() == "Tree") { int treeLevel = Convert.ToInt32(item.getArgText()); string strTreelevel = ""; for (int i = 1; i <= treeLevel; i++) { strTreelevel += "/treeitem"; } RepoItemInfo targetTreeItemInfo = new RepoItemInfo(objComponetInfo.ParentFolder, "variableTreeItem", objComponetInfo.Path + strTreelevel + "[@accessiblename='" + item.getArg2Text() + "']", 10000, null, System.Guid.NewGuid().ToString()); Ranorex.TreeItem targetTreeItem = targetTreeItemInfo.CreateAdapter <Ranorex.TreeItem>(true); targetTreeItem.MoveTo(); } }
//********************************************************************** /// <summary> /// Form action: Login in. /// </summary> public static void Login(LxScriptItem item) { repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.Username.PressKeys(item.getArgText()); repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.Password.PressKeys(item.getArg2Text()); repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.ServerCombo.PressKeys(item.getArg3Text()); repo.NFormApp.LogintoLiebertNformWindow.FormLogin_to_LiebertR_Nform.Login.Click(); Delay.Milliseconds(3000); if (repo.NFormApp.LogintoLiebertNformWindow.FormEvaluation_Period_Expiration.OKInfo.Exists()) { repo.NFormApp.LogintoLiebertNformWindow.FormEvaluation_Period_Expiration.OK.Click(); } }
//********************************************************************** /// <summary> /// Form action: VerifyProperty equal, Contains, NotContains. /// </summary> public static void VerifyProperty(LxScriptItem item) { //MessageBox.Show(item.getComponent().ToString()); // The component is lable string testtemp = item.getComponent().ToString(); if(item.getComponent().ToString().IndexOf("Lbl") != -1) { Ranorex.NativeWindow nativeWnd = item.getComponentInfo().CreateAdapter<Ranorex.NativeWindow>(false); string lableText = nativeWnd.WindowText; if(item.getArg2Text() == "Equal") {string abc = item.getArg3Text(); Validate.AreEqual(lableText, item.getArg3Text()); } if(item.getArg2Text() == "Contains") { int iFlag = lableText.IndexOf(item.getArg3Text()); Validate.IsTrue(iFlag != -1); } if(item.getArg2Text() == "NotContains") { int iFlag = lableText.IndexOf(item.getArg3Text()); Validate.IsTrue(iFlag == -1); } return; } if(item.getArg2Text() == "Equal") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), item.getArg3Text()); } if(item.getArg2Text() == "Contains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex(Regex.Escape(item.getArg3Text()))); } if(item.getArg2Text() == "NotContains") { Validate.Attribute(item.getComponentInfo(), item.getArgText(), new Regex("^((?!("+Regex.Escape(item.getArg3Text())+")).)*$")); } if(item.getArg2Text() == "ListContains") { bool Resultflag = false; object objComponet = item.getComponent(); Ranorex.ComboBox myComboBox = (Ranorex.ComboBox)(objComponet); Ranorex.Button btn = myComboBox.FindSingle("./button"); btn.Click(); List lst = "/list"; foreach (ListItem lst_item in lst.FindChildren<ListItem>()) { if((lst_item.Text).Equals(item.getArg3Text())) { Resultflag = true; break; } } btn.Click(); Validate.AreEqual(Resultflag,true); } }
//********************************************************************** /// <summary> /// Form action: Del device. /// </summary> public static void Del_Device(LxScriptItem item) { repo.NFormApp.NformG2Window.FormMain.Configure.Click(); repo.NFormApp.NformG2Window.FormMain.Devices.Click(); if(item.getArgText() == "SingleDel") { repo.myCustom = item.getArg2Text(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.CellVariables.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Delete.Click(); repo.NFormApp.ManagedDevicesWindow.FormConfirm_Device_Delete.Yes.Click(); } if(item.getArgText() == "AllDel") { repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Managed_device_table.Click(); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Managed_device_table.PressKeys("{CONTROL down}{Akey}{CONTROL up}"); repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Delete.Click(); repo.NFormApp.ManagedDevicesWindow.FormConfirm_Device_Delete.Yes.Click(); Delay.Duration(5000); } repo.NFormApp.ManagedDevicesWindow.FormManaged_Devices.Close.Click(); }