public static void GoToMMPage(string eventid) { Report.Case("GMM MMPage", "Go to MM Page and search the event we created"); var gmmMenu = new GMMMenu(driver); var gmmMMPage = new GMMMMPage(driver); #region (1) Go to MM Page ElementVerify.Exist(driver, gmmMenu.MarketManagement).ClickOnIt("Market Management"); ElementVerify.Exist(driver, gmmMenu.MarketManagementNormal).ClickOnIt("Market Management (Normal)"); Thread.Sleep(1000); #endregion #region (2) Choose Sport / Competition / Event ... // Sport ElementVerify.Exist(driver, gmmMMPage.SportCriteria).ClickOnIt("Sport"); ElementVerify.Exist(driver, gmmMMPage.SportPopup); ElementVerify.Exist(driver, gmmMMPage.SportList); ElementVerify.Exist(driver, By.XPath("//label[contains(text() ,'" + sport + "')]")).ClickOnIt(sport); ElementVerify.Exist(driver, gmmMMPage.SportSubmit).ClickOnIt("SubmitSport"); // Odds Page (In-Play) ElementVerify.Exist(driver, gmmMMPage.OddsPageInPlay); Thread.Sleep(2000); ElementVerify.Exist(driver, gmmMMPage.OddsPageDropdown).SelectByText("All Market (In Play)", "All Market (In Play)"); // Competition wait.Until(ExpectedConditions.ElementToBeClickable(gmmMMPage.SearchButton)); ElementVerify.Exist(driver, gmmMMPage.CompetitionCriteria).ClickOnIt("Competition Filter"); ElementVerify.Exist(driver, gmmMMPage.ComptitionSelectAll).ClickOnIt("Deselect All"); ElementVerify.Exist(driver, By.XPath("//label[contains(text() , '" + competition + "')]")).ClickOnIt(competition); ElementVerify.Exist(driver, gmmMMPage.CompetitionSubmit).ClickOnIt("Confirm Competition"); // Event wait.Until(ExpectedConditions.ElementToBeClickable(gmmMMPage.SearchButton)); ElementVerify.Exist(driver, gmmMMPage.EventCriteria).ClickOnIt("Event Filter"); ElementVerify.Exist(driver, gmmMMPage.EventTextbox).EnterText("EventID Textbox", eventid); ElementVerify.Exist(driver, gmmMMPage.EventSelectAll).ClickOnIt("Deselect All"); ElementVerify.Exist(driver, By.Id("" + eventid + "")).ClickOnIt("Filter one event we created"); ElementVerify.Exist(driver, gmmMMPage.EventSubmit).ClickOnIt("Confirm Event"); // Filter Status (Skip for now) // Filter Date Range (Skip for now) // (1) Inplay events are no need to define range // (2) Pre Start events #endregion #region (3) Base on filters to search the event wait.Until(ExpectedConditions.ElementToBeClickable(gmmMMPage.SearchButton)); ElementVerify.Exist(driver, gmmMMPage.SearchButton).ClickOnIt("SearchEvent"); WriteConsole.Green(String.Format("Search Event id : {0} ({1})", eventid, sport)); #endregion ElementVerify.Exist(driver, By.Id("evt" + eventid)); Report.PrintScreen(driver); }
private static void PlaceBet(EventDay day) { IAlert alert; var wlRight = new WLRight(driver); var wlLeft = new WLLeft(driver); string eventid = String.Empty; switch (day) { case EventDay.Yesterday: eventid = "709369"; break; case EventDay.Today: eventid = ""; break; case EventDay.Tomorrow: eventid = ""; break; } By MoreBetButton = By.Id("mbb_" + eventid + ""); By MoreBetExpand = By.XPath("//*[@id='eventContainer'][@eid='" + eventid + "']"); By Odds = By.XPath("//*[@id='eventContainer']/div[2]/table/tbody/tr[2]/td[3]/div/a"); // Add selection to bet slip SwitchFrame(Frame.RightPanel); Thread.Sleep(1000); ElementVerify.PresenceAll(driver, MoreBetButton).ClickOnIt("Morebet"); if (ElementVerify.Visable(driver, MoreBetExpand) != null) { ElementVerify.Visable(driver, Odds).ClickOnIt("Odds"); } // Swtich to Bet Slip SwitchFrame(Frame.LeftPanel); ElementVerify.Visable(driver, wlLeft.BetSlipStake).EnterText("Stake", "20000"); ElementVerify.Visable(driver, wlLeft.PlaceBetButton).ClickOnIt("PlaceBetButton"); alert = driver.SwitchTo().Alert(); alert.Accept(); if (ElementVerify.Visable(driver, wlLeft.BetConfirm) != null) { WriteConsole.Green("Place bet successfully"); } //string[] wagers = ElementVerify.Visable(driver, wlLeft.WagerNumber).Text; }
public static void Login(TheEnvironment environment) { Report.Case("GMM Login", "Login to GMM"); string URL = String.Empty; string username = String.Empty; string password = String.Empty; var gmmLogin = new GMMLogin(driver); // Assign URL/user/pwd based on environment switch (environment) { case TheEnvironment.QAT: URL = System.Configuration.ConfigurationManager.AppSettings["qatGMMURL"]; username = System.Configuration.ConfigurationManager.AppSettings["qatGMMUser"]; password = System.Configuration.ConfigurationManager.AppSettings["qatGMMPwd"]; break; case TheEnvironment.UAT: URL = System.Configuration.ConfigurationManager.AppSettings["uatGMMURL"]; username = System.Configuration.ConfigurationManager.AppSettings["uatGMMUser"]; password = System.Configuration.ConfigurationManager.AppSettings["uatGMMPwd"]; break; } driver.Manage().Window.Maximize(); driver.Url = URL + "Login.aspx"; gmmLogin.UserName.EnterText("GMM Login User Textbox", username); gmmLogin.Password.EnterText("GMM Login Password Textbox", password); gmmLogin.Submit.ClickOnIt("GMM Login Button"); if (ElementVerify.Exist(driver, gmmLogin.SiteMenuAfterLogin) != null) { WriteConsole.Green("You successfully Login to GMM"); Report.Log(LogStatus.Pass, "Login GMM", "You successfully Login to GMM"); Report.PrintScreen(driver); } else { WriteConsole.Green("You successfully Login to GMM"); WriteConsole.Red(String.Format(ElementVerify.Exist(driver, gmmLogin.LoginErrorMessage).Text)); WriteConsole.Green("Suggested Solution: You can go to GMM Server, and restart DNS Client Sevice"); Report.Log(LogStatus.Fail, "Login GMM", String.Format(ElementVerify.Exist(driver, gmmLogin.LoginErrorMessage).Text)); Report.PrintScreen(driver); throw new Exception("GMM Login Failed"); } }
public static string CreateEvent() { Report.Case("GMM Create Event", "GMM Creates a fixture event and fetch the event id"); DateTime inplaytime = DateTime.Now.AddHours(-14); //2 hours before NOW ---- Local(GMT+8),Server(GMT-4) var gmmMenu = new GMMMenu(driver); var gmmCreateEvent = new GMMCreateEvent(driver); #region (1) Go to EventCreate Page ElementVerify.Exist(driver, gmmMenu.Sportsbook).ClickOnIt("Sportsbook"); ElementVerify.Exist(driver, gmmMenu.Event).MouseOver(driver, "Event"); ElementVerify.Exist(driver, gmmMenu.FixtureEvent).ClickOnIt("Fixture Event"); ElementVerify.Exist(driver, gmmCreateEvent.Create).ClickOnIt("Create Button"); #endregion #region (2) Select sport / competition / participant .. // Sport ElementVerify.Exist(driver, gmmCreateEvent.SportDropdown).SelectByText("CreateEventPage Sport", sport); // Competition in dynamic dropdownlist ElementVerify.Exist(driver, By.CssSelector("#mainContent_CompetitionDropDownList > option[title='" + competition + "']")); ElementVerify.Exist(driver, gmmCreateEvent.CompetitionDropdown).SelectByText("CreateEventPage Competition", competition); // Home Away ElementVerify.Exist(driver, By.CssSelector("#mainContent_HomeRunnerDropDownList > option[title='" + home + "']")); ElementVerify.Exist(driver, gmmCreateEvent.HomeDropdown).SelectByText("CreateEventPage Home", home); ElementVerify.Exist(driver, gmmCreateEvent.AwayDropdown).SelectByText("CreateEventPage Away", away); // In-Play ElementVerify.Exist(driver, gmmCreateEvent.InPlayCheckbox).ClickOnIt("IsInPlay"); // Event DateTime ElementVerify.Exist(driver, gmmCreateEvent.EventDatePicker).EnterText("CreateEventPage Date", inplaytime.ToString("dd/MM/yyyy")); ElementVerify.Exist(driver, gmmCreateEvent.EventHourDropdown).SelectByText("CreateEventPage Hour", inplaytime.ToString("HH")); ElementVerify.Exist(driver, gmmCreateEvent.EventMinuteDropdown).SelectByText("CreateEventPage Minute", inplaytime.ToString("mm")); // Ground Type = Neutral(2) ElementVerify.Exist(driver, gmmCreateEvent.GroundTypeDropdown).SelectByValue("CreateEventPage GroundType", "2"); // GameType try { ElementVerify.Exist(driver, gmmCreateEvent.GroundTypeDropdown).SelectByText("CreateEventPage GameType", gametype); } catch (NoSuchElementException) { WriteConsole.Yellow("This sport has no GameType"); } #endregion #region (3) Save and Get Eevnt ID ElementVerify.Exist(driver, gmmCreateEvent.SaveButton).ClickOnIt("Button_Save"); if (ElementVerify.Exist(driver, gmmCreateEvent.CreateFailMsg, 60).GetAttribute("class") != "hide") { WriteConsole.DarkRed(ElementVerify.Exist(driver, gmmCreateEvent.CreateFailMsg).Text); Report.Log(LogStatus.Fail, "Get Event id", ElementVerify.Exist(driver, gmmCreateEvent.CreateFailMsg).Text); Report.PrintScreen(driver); throw new Exception("GMM CreateEvent Failed"); } if (ElementVerify.Exist(driver, gmmCreateEvent.CreateSuccessMsg, 60) != null) { WriteConsole.Green(String.Format("Create Event Successfully! Event id : {0} ({1})", eventid, sport)); Report.Log(LogStatus.Pass, "Get event id", String.Format("Create Event Successfully! Event id : {0} ({1})", ElementVerify.Exist(driver, gmmCreateEvent.ParentEventId, 60).GetAttribute("Value").Trim(), sport)); Report.PrintScreen(driver); return(ElementVerify.Exist(driver, gmmCreateEvent.ParentEventId, 60).GetAttribute("Value").Trim()); //eventid } else { Report.Log(LogStatus.Fail, "Get event id", "Cannot find eventid"); Report.PrintScreen(driver); throw new Exception("GMM CreateEvent Failed"); } Thread.Sleep(2000); #endregion }
public static void CheckReport(string BetNo) { Report.Case("GMM Wager Enquiry", "Verify wager numbers in Wager Enquiry"); DateTime eventDayFrom = DateTime.Now.AddDays(-2); var gmmMenu = new GMMMenu(driver); var wagerEnquiry = new WagerEnquiry(driver); #region (1) Access Wager Enquiry ElementVerify.Exist(driver, gmmMenu.Report).ClickOnIt("Report"); ElementVerify.Exist(driver, gmmMenu.WagerEnquiry).ClickOnIt("Wager Enquiry"); #endregion #region (2) Switch to iframe and Select Wager No. //Switch to iframe driver.SwitchTo().Frame(driver.FindElement(By.TagName("iframe"))); //Select Wager No. ElementVerify.Exist(driver, wagerEnquiry.UserWagerOption).ClickOnIt("User Code or Wager No."); ElementVerify.Exist(driver, wagerEnquiry.UserWagerOption).SelectByText("select wager no", "Wager No."); #endregion #region (3) Pick Event Date From if (ElementVerify.Exist(driver, wagerEnquiry.StartDate) != null) { //Click on calendar icon ElementVerify.Exist(driver, wagerEnquiry.StartDate).ClickOnIt("Event Date From"); ElementVerify.Exist(driver, wagerEnquiry.CalendarPicker); ICollection <IWebElement> columns = driver.FindElement(wagerEnquiry.CalendarPicker).FindElements(By.TagName("td")); //Click on the number if cell = today's date-2 foreach (IWebElement cell in columns) { if (cell.Text.Equals(eventDayFrom.ToString("dd"))) { cell.ClickOnIt("date"); break; } } } #endregion #region (4) Fetch All Bet Number from TouTou char[] delimiterChars = { ',' }; BetNo = BetNo.Remove(BetNo.Length - 1); // Reomove the last comma (,) string[] wagers = BetNo.Split(delimiterChars); foreach (string wager in wagers) { // Key in wager number in textbox Thread.Sleep(2000); ElementVerify.Exist(driver, wagerEnquiry.UserWagerValue).EnterText("Wager No.", wager); ElementVerify.Exist(driver, wagerEnquiry.SearchButton).ClickOnIt("Search"); // Wait for data displayed, then fetch wager number if (ElementVerify.Exist(driver, wagerEnquiry.WagerToVerify) == null) { WriteConsole.DarkRed("Unable to find the wager"); continue; } if (wager == driver.FindElement(wagerEnquiry.WagerToVerify).Text) { WriteConsole.Green("Wager Verified"); } else { WriteConsole.DarkRed("Unable to find the wager"); } } #endregion Report.PrintScreen(driver); }