//Generic Function to click Button, Image or Link public static void ClickRadioOrCheckbox <T>(PropertyType type, string propertyValue, string strValue) where T : HtmlControl { HtmlControl genericControl = (T)Activator.CreateInstance(typeof(T), new object[] { ParentWindow }); if (type == PropertyType.Name) { genericControl.SearchProperties[HtmlControl.PropertyNames.Name] = propertyValue; } else if (type == PropertyType.ID) { genericControl.SearchProperties[HtmlControl.PropertyNames.Id] = propertyValue; } else if (type == PropertyType.InnerText) { genericControl.SearchProperties[HtmlControl.PropertyNames.InnerText] = propertyValue; } genericControl.SearchProperties[HtmlControl.PropertyNames.ValueAttribute] = strValue; genericControl.SetProperty("Selected", true); //Mouse.DoubleClick(genericControl); }
/// <summary> /// Extension method to clear existing text and enter a new string into an HTML edit control /// </summary> /// <param name="control"></param> /// <param name="text"></param> public static void EnterText(this HtmlControl control, string text) { control.SetProperty("Text", ""); // clear the control first before entering new text Keyboard.SendKeys(control, text); }
public static void personalInformation() { //Create BrowserWindow BrowserWindow Browind = new BrowserWindow(); Browind.SearchProperties[UITestControl.PropertyNames.Name] = "Personal Information"; //Verify Personal Information pane is available HtmlControl PersonalInformationPane = new HtmlControl(Browind); PersonalInformationPane.FilterProperties[HtmlDiv.PropertyNames.InnerText] = "Personal Information"; /*******************/ /* Personal Detail */ /*******************/ //Name section - FirstName HtmlControl FirstName = new HtmlControl(Browind); FirstName.SearchProperties[HtmlEdit.PropertyNames.Id] = "first_name"; //Compare FirstName between eReg & KSN string eRegFN = (string)FirstName.GetProperty(HtmlEdit.PropertyNames.Text); string KSNFn = PersonalInformation1.ReadData(1, "FIRSTNAME"); //Name section - MiddleName HtmlControl MiddleName = new HtmlControl(Browind); MiddleName.SearchProperties[HtmlEdit.PropertyNames.Id] = "middle_name"; //Compare Middle Name between KSN & eReg string eRegMN = (string)MiddleName.GetProperty(HtmlEdit.PropertyNames.Text); string KSNMn = PersonalInformation1.ReadData(1, "MIDDLENAME"); //Name section - LastName HtmlControl LastName = new HtmlControl(Browind); LastName.SearchProperties[HtmlEdit.PropertyNames.Id] = "last_name"; //Compare Last Name between KSN & eReg string eRegLN = (string)LastName.GetProperty(HtmlEdit.PropertyNames.Text); string KSNLn = PersonalInformation1.ReadData(1, "LASTNAME"); //Name section - PreferredName HtmlControl PreferredName = new HtmlControl(Browind); PreferredName.SearchProperties[HtmlEdit.PropertyNames.Id] = "prefname"; //Compare Preferred Name between KSN & eReg string eRegPN = (string)PreferredName.GetProperty(HtmlEdit.PropertyNames.Text); string KSNPn = PersonalInformation1.ReadData(1, "PREFERREDNAME"); //Name section - Social Security # HtmlControl SSNumber = new HtmlControl(Browind); SSNumber.SearchProperties[HtmlEdit.PropertyNames.Name] = "ssn"; //Get Social Security # from KSN string eRegTaxID = (string)SSNumber.GetProperty(HtmlEdit.PropertyNames.Text); string KSNTaxID = PersonalInformation1.ReadData(1, "TAXID"); //Name section - Social Security #-Re-type HtmlControl SSNumber2 = new HtmlControl(Browind); SSNumber2.SearchProperties[HtmlEdit.PropertyNames.Id] = "ssn_verify"; string eRegTaxIDVer = (string)SSNumber2.GetProperty(HtmlEdit.PropertyNames.Text); string TaxIDVer = PersonalInformation1.ReadData(1, "TAXID"); /********************/ /* Personal Address */ /********************/ //Address HtmlControl Add1 = new HtmlControl(Browind); Add1.SearchProperties[HtmlEdit.PropertyNames.Id] = "Address"; //Compare Address between KSN & eReg string eRegAdd1 = (string)Add1.GetProperty(HtmlEdit.PropertyNames.Text); string KSNAdd1 = PersonalInformation1.ReadData(1, "ADDRESS1"); // Apt./Lot # HtmlControl Add2 = new HtmlControl(Browind); Add2.SearchProperties[HtmlEdit.PropertyNames.Id] = "AptSuite"; //Compare Address between KSN & eReg string eRegAdd2 = (string)Add2.GetProperty(HtmlEdit.PropertyNames.Text); string KSNAdd2 = PersonalInformation1.ReadData(1, "ADDRESS2"); //City HtmlControl ct = new HtmlControl(Browind); ct.SearchProperties[HtmlEdit.PropertyNames.Id] = "city"; //Compare city between KSN & eReg string eRegCt = (string)ct.GetProperty(HtmlEdit.PropertyNames.Text); string KSNCt = PersonalInformation1.ReadData(1, "CITY"); //State HtmlComboBox st = new HtmlComboBox(Browind); st.SearchProperties[HtmlComboBox.PropertyNames.Id] = "state"; //Compare State between KSN & eReg string eRegSt = (string)st.GetProperty(HtmlComboBox.PropertyNames.SelectedItem); string KSNSt = PersonalInformation1.ReadData(1, "ESTATE"); //Zip HtmlEdit zp = new HtmlEdit(Browind); zp.SearchProperties[HtmlEdit.PropertyNames.Id] = "zip"; //Compare Zip between KSN & ereg string eRegZip = (string)zp.GetProperty(HtmlEdit.PropertyNames.Text); string KSNZip = PersonalInformation1.ReadData(1, "ZIP"); // Zip Last 4 digit HtmlEdit zp4 = new HtmlEdit(Browind); zp4.SearchProperties[HtmlEdit.PropertyNames.Id] = "zip_four"; //Compare Zip between KSN & ereg string eRegZip4 = (string)zp4.GetProperty(HtmlEdit.PropertyNames.Text); string KSNZip4 = PersonalInformation1.ReadData(1, "ZIP4"); //County HtmlEdit cty = new HtmlEdit(Browind); cty.SearchProperties[HtmlEdit.PropertyNames.Id] = "county"; //Compare Zip between KSN & ereg string eRegcty = (string)cty.GetProperty(HtmlEdit.PropertyNames.Text); string KSNcty = PersonalInformation1.ReadData(1, "COUNTY"); //Country HtmlComboBox crty = new HtmlComboBox(Browind); crty.SearchProperties[HtmlComboBox.PropertyNames.Id] = "country"; //Compare State between KSN & eReg string eRegcrty = (string)crty.GetProperty(HtmlComboBox.PropertyNames.SelectedItem); string KSNcrty = PersonalInformation1.ReadData(1, "COUNTRY"); /***************************/ /* Personal Contact Number */ /***************************/ // Primary Phone Area Code HtmlEdit areacode = new HtmlEdit(Browind); areacode.SearchProperties[HtmlEdit.PropertyNames.Id] = "phone_areacode"; //Compare phone area code between KSN & eReg string eRegAreaCode1 = (string)areacode.GetProperty(HtmlEdit.PropertyNames.Text); string KSNAreaCode1 = PersonalInformation1.ReadData(1, "HOMEAREACODE"); //Primary Phone HtmlEdit primaryphone = new HtmlEdit(Browind); primaryphone.SearchProperties[HtmlEdit.PropertyNames.Id] = "phone"; //Compare Primary Phone number between KSN & eReg string eRegPhone1 = (string)primaryphone.GetProperty(HtmlEdit.PropertyNames.Text); string KSNPhone1 = PersonalInformation1.ReadData(1, "HOMEPHONENUMBER"); //Secondary Phone Area Code HtmlEdit AreaCode2 = new HtmlEdit(Browind); AreaCode2.SearchProperties[HtmlEdit.PropertyNames.Id] = "mobilephone_areacode"; //Compare Second Phone number between KSN & eReg string eRegAreaCode2 = (string)AreaCode2.GetProperty(HtmlEdit.PropertyNames.Text); string KSNAreaCode2 = PersonalInformation1.ReadData(1, "CELLAREACODE"); //Secondary Phone HtmlEdit phone2 = new HtmlEdit(Browind); phone2.SearchProperties[HtmlEdit.PropertyNames.Id] = "mobilephone"; //Compare Second Phone number between KSN & eReg string eRegphone2 = (string)phone2.GetProperty(HtmlEdit.PropertyNames.Text); string KSNphone2 = PersonalInformation1.ReadData(1, "CELLAREANUMBER"); //Primary Email Address HtmlEdit email = new HtmlEdit(Browind); email.SearchProperties[HtmlEdit.PropertyNames.Id] = "EmpEmail"; //Compare emailAddress between KSN & eReg string eRegemail = (string)email.GetProperty(HtmlEdit.PropertyNames.Text); string KSNemail = PersonalInformation1.ReadData(1, "EMAILADDRESS"); // Alternate Email Address HtmlEdit email2 = new HtmlEdit(Browind); email2.SearchProperties[HtmlEdit.PropertyNames.Id] = "altemail"; //Compare Alternate Email Address between KSN & eReg string eRegemail2 = (string)email2.GetProperty(HtmlEdit.PropertyNames.Text); string KSNemail2 = PersonalInformation1.ReadData(1, "ALT_EMAILADDRESS"); // Preferred Method of Contact HtmlComboBox ContactMethod = new HtmlComboBox(Browind); ContactMethod.SearchProperties[HtmlComboBox.PropertyNames.Id] = "PrefContact"; //Get data from eReg and KSN string eRegCM = (string)ContactMethod.GetProperty(HtmlComboBox.PropertyNames.SelectedItem); string KSNCM = PersonalInformation1.ReadData(1, "PREFERMETHOD"); /******************************/ /* Button "Save And Continue" */ /******************************/ HtmlInputButton btnSaveNCont = new HtmlInputButton(Browind); btnSaveNCont.SearchProperties[HtmlInputButton.PropertyNames.Id] = "ForwardButton_button"; //If Mandatory field is null, verify SaveNContinue button is unable if (eRegFN == "" || eRegLN == "" || eRegTaxID == "" || eRegTaxIDVer == "" || eRegAdd1 == "" || eRegCt == "" || eRegSt == "" || eRegZip == "" || eRegcty == "" || eRegcrty == "" || eRegAreaCode1 == "" || eRegPhone1 == "" || eRegemail == "" || eRegCM == "") { Assert.IsFalse(btnSaveNCont.Enabled); } //Fill up Personal Information // if eRegFN != KSNFn, then insert KSNFn if (eRegFN != KSNFn) { Mouse.DoubleClick(FirstName); FirstName.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "FIRSTNAME")); } // if eRegMN != KSNMn, then insert KSNMn if (eRegMN != KSNMn) { Mouse.DoubleClick(MiddleName); MiddleName.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "MIDDLENAME")); } // if eRegLN != KSNLn, then insert KSNLn if (eRegLN != KSNLn) { Mouse.DoubleClick(LastName); LastName.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "LASTNAME")); } // if eRegPN != KSNPn, then insert KSNPn if (eRegPN != KSNPn) { Mouse.DoubleClick(PreferredName); PreferredName.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "PREFERREDNAME")); } if (KSNTaxID == "") { Keyboard.SendKeys(SSNumber, "123121234"); } else { Keyboard.SendKeys(SSNumber, KSNTaxID); } Keyboard.SendKeys("{Tab}"); //Pop Up window handler WinWindow pop = new WinWindow(null); pop.SearchProperties[WinWindow.PropertyNames.Name] = "Message from webpage"; Mouse.Click(pop); while (pop.Exists) { // Click "OK" button WinButton btnOK = new WinButton(pop); btnOK.SearchProperties[WinButton.PropertyNames.Name] = "OK"; btnOK.TechnologyName = "MSAA"; Mouse.Click(btnOK); } if (KSNTaxID == "") { Keyboard.SendKeys(SSNumber2, "123121234"); } else { Keyboard.SendKeys(SSNumber2, TaxIDVer); } // if eRegAdd1 != KSNAdd1, then insert KSNAdd1 if (eRegAdd1 != KSNAdd1) { Mouse.DoubleClick(Add1); Add1.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "ADDRESS1")); } // if eRegAdd2 != KSNAdd2, then insert KSNAdd2 if (eRegAdd2 != KSNAdd2) { Mouse.DoubleClick(Add2); Add2.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "ADDRESS2")); } //Mouse scroll to bottom page Mouse.MoveScrollWheel(-50); // if eRegCt != KSNCt, then insert KSNCt if (eRegCt != KSNCt) { Mouse.DoubleClick(ct); ct.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "CITY")); } //if eRegSt != KSNSt, then insert KSNSt if (eRegSt != KSNSt) { st.SetProperty(HtmlComboBox.PropertyNames.SelectedItem, PersonalInformation1.ReadData(1, "ESTATE")); } //if eRegZip != KSNZip, then insert KSNZip if (eRegZip != KSNZip) { zp.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "ZIP")); } //if eRegZip4 != KSNZip4, then insert KSNZip4 if (eRegZip4 != KSNZip4) { zp4.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "ZIP4")); } //if eRegcty != KSNcty, then insert KSNcty if (eRegcty != KSNcty) { cty.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "COUNTY")); } //if eRegcrty != KSNcrty, then insert KSNcrty if (eRegcrty != KSNcrty) { crty.SetProperty(HtmlComboBox.PropertyNames.SelectedItem, PersonalInformation1.ReadData(1, "COUNTRY")); } if (eRegAreaCode1 == "") { if (KSNAreaCode1 == "") { areacode.SetProperty(HtmlEdit.PropertyNames.Text, "999"); } else { areacode.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "HOMEAREACODE")); } } if (eRegPhone1 == "") { if (KSNPhone1 == "") { areacode.SetProperty(HtmlEdit.PropertyNames.Text, "12345678"); } else { areacode.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "HOMEPHONENUMBER")); } } if (eRegAreaCode2 != KSNAreaCode2) { AreaCode2.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "CELLAREACODE")); } if (eRegphone2 != KSNphone2) { phone2.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "CELLAREANUMBER")); } if (eRegemail == "") { email.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "EMAILADDRESS")); } if (eRegemail2 != KSNemail2) { email2.SetProperty(HtmlEdit.PropertyNames.Text, PersonalInformation1.ReadData(1, "ALT_EMAILADDRESS")); } if (eRegCM == "") { if (KSNCM == "") { ContactMethod.SetProperty(HtmlComboBox.PropertyNames.SelectedItem, "Cell Phone"); } else { ContactMethod.SetProperty(HtmlComboBox.PropertyNames.SelectedItem, PersonalInformation1.ReadData(1, "PREFERMETHOD")); } } /*****************/ /* Progress Meter*/ /*****************/ HtmlCustom progress = new HtmlCustom(Browind); progress.SearchProperties[HtmlCustom.PropertyNames.Id] = "progressmeter"; bool availabilty = (bool)progress.GetProperty(HtmlCustom.PropertyNames.Exists); string workflowEvent = PersonalInformation1.ReadData(1, "WORKFLOW"); if (workflowEvent == "S1PROSPECT") { Assert.IsTrue(availabilty, "Progress Meter is not showing"); HtmlSpan bar = new HtmlSpan(Browind); bar.SearchProperties[HtmlSpan.PropertyNames.Id] = "meterlabel"; string percentage = (string)bar.GetProperty(HtmlSpan.PropertyNames.InnerText); Assert.AreEqual(percentage, "10%"); } else { Assert.IsFalse(availabilty, "Progress Meter is showing"); } //Click button Save And Continue Assert.IsTrue(btnSaveNCont.Enabled); Mouse.Click(btnSaveNCont); Browind.WaitForControlReady(2000); }