public void EditServices() { //Wait for the Page to be loaded to edit by waiting for the title field to be visible Wait.ElementIsVisible(driver, "XPath", "//*[@id='service-listing-section']/div[2]/div/form/div[1]/div/div[2]/div/div[1]/input"); //Clear the title Title.Clear(); //Enter the updated data into the title field Title.SendKeys(ServiceData.TitleData(RowNum)); //Clear the description field Description.Clear(); //Enter the updated description Description.SendKeys(ServiceData.DescriptionData(RowNum)); //Identify the Category SelectElement CategorySelect = new SelectElement(Category); //Select the required Category from the dropdown CategorySelect.SelectByText(ServiceData.CategData(RowNum)); //Identify the SubCategory SelectElement SubCategorySelect = new SelectElement(SubCategory); //Select the required SubCategory from the dropdown SubCategorySelect.SelectByText(ServiceData.SubCategData(RowNum)); //Enter the additional tag to be added Tags.SendKeys(ServiceData.TagsData(RowNum)); Tags.SendKeys(Keys.Enter); //Convert the count of Skill Exchange Tags from String to integer int Count = Int32.Parse(ServiceData.TagsCntData(RowNum)); //Invoke the function to choose the Service Type ChooseServiceType(ServiceData.SrvcTypeData(RowNum)); //Invoke the function to choose the Location Type ChooseLocationType(ServiceData.LocatnTypeData(RowNum)); //Invoke the function to choose the Skills Trade Type ChooseSkillTrade(ServiceData.SkillTrdeData(RowNum), Count); //Clear the field before adding the date StartDate.Clear(); //Enter the data for 'Start date' from excel StartDate.SendKeys(ServiceData.StrtDateData(RowNum)); //Click on the 'End date' field EndDate.Click(); //Clear the 'End date' EndDate.Clear(); //Enter the data for 'End date' from excel EndDate.SendKeys(ServiceData.EndDateData(RowNum)); //Click on the Save button SaveButton.Click(); }
public void ValidateServiceDetail() { //Wait until the page loads and description is visible Wait.ElementIsVisible(driver, "XPath", "//*[@id='service-detail-section']/div[2]/div/div[2]/div[1]/div[1]/div[2]/div[2]/div/div/div[1]/div/div/div/div[1]"); //Read the Skill exchange tag count from the excel var SkillExchngCount = ServiceData.TagsCntData(RowNum); //Convert the count of the skill exchange tags from String to integer int Count = Int32.Parse(SkillExchngCount); //Convert the Start Date and End Data format from (dd/mm/yyyy to yyyy-mm-dd) String StartDate = (ServiceData.StrtDateData(RowNum).Substring(4, 4)) + "-" + (ServiceData.StrtDateData(RowNum).Substring(2, 2)) + "-" + (ServiceData.StrtDateData(RowNum).Substring(0, 2)); String EndDate = (ServiceData.EndDateData(RowNum).Substring(4, 4)) + "-" + (ServiceData.EndDateData(RowNum).Substring(2, 2)) + "-" + (ServiceData.EndDateData(RowNum).Substring(0, 2)); //Validate the expected and actual values of the different fields in the services Assert.Multiple(() => { Assert.That(titleServiceDetail.Text, Is.EqualTo(ServiceData.TitleData(RowNum))); Assert.That(DescServiceDetail.Text, Is.EqualTo(ServiceData.DescriptionData(RowNum))); Assert.That(CategoryServiceDetail.Text, Is.EqualTo(ServiceData.CategData(RowNum))); Assert.That(SubCategoryServiceDetail.Text, Is.EqualTo(ServiceData.SubCategData(RowNum))); Assert.That(ServTypeServiceDetail.Text, Is.EqualTo(ServiceData.SrvcTypeData(RowNum))); Assert.That(StartDateServiceDetail.Text, Is.EqualTo(StartDate)); Assert.That(EndDateServiceDetail.Text, Is.EqualTo(EndDate)); Assert.That(LocationTypeServiceDetail.Text, Is.EqualTo(ServiceData.LocatnTypeData(RowNum))); }); //If the skill trade is chosen as "Skill-exchange" then need to validate the Skill exchange tags if (ServiceData.SkillTrdeData(RowNum) == "Skill-exchange") { String[] SkillsTradeData = new String[Count]; String[] SkillExchangeData = ServiceData.SkillExchangeData(RowNum); for (int Counter = 0; Counter < Count; Counter++) { SkillsTradeData[Counter] = driver.FindElement(By.XPath("//*[@id='service-detail-section']/div[2]/div/div[2]/div[1]/div[1]/div[2]/div[2]/div/div/div[4]/div[2]/div/div/div[2]/span[" + (Counter + 1) + "]")).Text; TestContext.WriteLine(SkillsTradeData[Counter]); Assert.That(SkillsTradeData[Counter], Is.EqualTo(SkillExchangeData[Counter])); } //Click on the Manage Listings ManageLstings.Click(); //Wait until the Listings are available in the Manage Listing page Wait.ElementIsVisible(driver, "XPath", "//*[@id='listing-management-section']/div[2]/div[1]/div[1]/table/tbody/tr/td[4]"); } //If the Skill Exchange is chosen as 'Credit' then validate the credit charge value displayed else if (ServiceData.SkillTrdeData(RowNum) == "Credit") { try { String SkillsTrade = SkillsTradeDisplay.Text; //Enter the title in the serach Box SearchBox.SendKeys(ServiceData.TitleData(RowNum)); //Press enter key to search for the skill SearchBox.SendKeys(Keys.Enter); //Implicit wait for the registeration pop up to be available Wait.wait(2, driver); String CreditCharge = "Charge is :$" + ServiceData.CreditValue(RowNum); String CreditActualVal = Charge.Text; Assert.Multiple(() => { Assert.That(CreditActualVal, Is.EqualTo(CreditCharge)); Assert.That(SkillsTrade, Is.EqualTo("None Specified")); }); //Click on the Manage Listings MngLstngs.Click(); //Wait until the Listings are available in the Manage Listing page Wait.ElementIsVisible(driver, "XPath", "//*[@id='listing-management-section']/div[2]/div[1]/div[1]/table/tbody/tr/td[4]"); }catch (Exception e) { Assert.Fail("One or more webelements could not be found", e.Message); } } }
public void FillDetailsOfServiceProvided() { //Wait for the share skill page to be loaded and until title field text box is visible Wait.ElementIsVisible(driver, "XPath", "//*[@id='service-listing-section']/div[2]/div/form/div[1]/div/div[2]/div/div[1]/input"); //Read the data for Title from excel and enter the data into the Title Textbox Title.SendKeys(ServiceData.TitleData(RowNum)); //Read the data for Description from excel and enter the data into the Description Textbox Description.SendKeys(ServiceData.DescriptionData(RowNum)); //Read the Category name from the excel var CategoryData = ServiceData.CategData(RowNum); //Read the Subcategory name from the excel var SubCategoryData = ServiceData.SubCategData(RowNum); SelectElement CategorySelect = new SelectElement(Category); //Select the required Category from the dropdown CategorySelect.SelectByText(CategoryData); SelectElement SubCategorySelect = new SelectElement(SubCategory); //Select the required SubCategory from the dropdown SubCategorySelect.SelectByText(SubCategoryData); //Read the Skill exchange tag count from the excel var SkillExchngCount = ServiceData.TagsCntData(RowNum); int Count = Int32.Parse(SkillExchngCount); int TagsCount = Int32.Parse(ServiceData.TagsDataCount(RowNum)); int DaysCnt = Int32.Parse(ServiceData.AvailableDaysCnt(RowNum)); //Fill in the Start and End times for all days for (int TagCount = 0; TagCount < TagsCount; TagCount++) { //Read the data for Tags from excel and enter the data into the Tags field Tags.SendKeys(ExcelLibHelpers.ReadData((TagCount + RowNum), "Tags")); //Press ENTER key to add the tag Tags.SendKeys(Keys.Enter); } //Read the Service Type data from excel into a variable var ServiceTypeData = ServiceData.SrvcTypeData(RowNum); //Read the Location Type data from excel into a variable var LocationTypeData = ServiceData.LocatnTypeData(RowNum); //Read the Skill Trade data from excel into a variable var SkillTradeData = ServiceData.SkillTrdeData(RowNum); //Read the Active Status data from excel into a variable var ActiveStatusData = ServiceData.ActvStatusData(RowNum); //Choose Service Type ChooseServiceType(ServiceTypeData); //Choose Location Type ChooseLocationType(LocationTypeData); //Choose Skill Trade ChooseSkillTrade(SkillTradeData, Count); //Click on the 'Start date' field StartDate.Click(); //Read the Start Date data from the excel var StartDateData = ServiceData.StrtDateData(RowNum); //Read the End Date data from the excel var EndDateData = ServiceData.EndDateData(RowNum); //Initialse the variable that hold StartTime and EndTime var StartTimeData = "000000"; var EndTimeData = "000000"; //Clear the field before adding the date StartDate.Clear(); //Enter the data for 'Start date' from excel StartDate.SendKeys(StartDateData); Wait.wait(1, driver); //Click on the 'End date' field EndDate.Click(); //Clear the 'End date' EndDate.Clear(); //Enter the data for 'End date' from excel EndDate.SendKeys(EndDateData); //Select the Start time, End time, Available Days for (int DaysCount = 0; DaysCount < DaysCnt; DaysCount++) { if (ServiceData.AvailableDays(RowNum) == "Sun") { CheckBox[0].Click(); StartTimeData = ServiceData.StrtTimeData(RowNum); EndTimeData = ServiceData.EndTimeData(RowNum); StartTime[0].Click(); StartTime[0].SendKeys(StartTimeData); EndTime[0].Click(); EndTime[0].SendKeys(EndTimeData); } else if (ServiceData.AvailableDays(RowNum) == "Mon") { StartTimeData = ServiceData.StrtTimeData(RowNum); EndTimeData = ServiceData.EndTimeData(RowNum); CheckBox[1].Click(); StartTime[1].Click(); StartTime[1].SendKeys(StartTimeData); EndTime[1].Click(); EndTime[1].SendKeys(EndTimeData); } else if (ServiceData.AvailableDays(RowNum) == "Tue") { StartTimeData = ServiceData.StrtTimeData(RowNum); EndTimeData = ServiceData.EndTimeData(RowNum); CheckBox[2].Click(); StartTime[2].Click(); StartTime[2].SendKeys(StartTimeData); EndTime[2].Click(); EndTime[2].SendKeys(EndTimeData); } else if (ServiceData.AvailableDays(RowNum) == "Wed") { StartTimeData = ServiceData.StrtTimeData(RowNum); EndTimeData = ServiceData.EndTimeData(RowNum); CheckBox[3].Click(); StartTime[3].Click(); StartTime[3].SendKeys(StartTimeData); EndTime[3].Click(); EndTime[3].SendKeys(EndTimeData); } else if (ServiceData.AvailableDays(RowNum) == "Thu") { StartTimeData = ServiceData.StrtTimeData(RowNum); EndTimeData = ServiceData.EndTimeData(RowNum); CheckBox[4].Click(); StartTime[4].Click(); StartTime[4].SendKeys(StartTimeData); EndTime[4].Click(); EndTime[4].SendKeys(EndTimeData); } else if (ServiceData.AvailableDays(RowNum) == "Fri") { StartTimeData = ServiceData.StrtTimeData(RowNum); EndTimeData = ServiceData.EndTimeData(RowNum); CheckBox[5].Click(); StartTime[5].Click(); StartTime[5].SendKeys(StartTimeData); EndTime[5].Click(); EndTime[5].SendKeys(EndTimeData); } else { StartTimeData = ServiceData.StrtTimeData(RowNum); EndTimeData = ServiceData.EndTimeData(RowNum); CheckBox[6].Click(); StartTime[6].Click(); StartTime[6].SendKeys(StartTimeData); EndTime[6].Click(); EndTime[6].SendKeys(EndTimeData); } RowNum++; } //Choose the Active status button ChooseActiveStatus(ActiveStatusData); //Click on the save button SaveButton.Click(); //Implicit wait Wait.wait(1, driver); }