public void PlaceOrderTest() { var start = new TestBase(this.driver); var stop = new TestBase(this.driver); var signin = new HomePage(this.driver); var signout = new HomePage(this.driver); var createEmail = new LoginPage(this.driver); var createNewUser = new RegisterPage(this.driver); var clickTile = new OrderPage(this.driver); int randomInt = this.randomGenerator.Next(10000); start.Start("http://automationpractice.com/index.php"); signin.SignIn(); createEmail.GoToRegisterPage("username" + randomInt + "@gmail.com"); WebDriverWait wait = new WebDriverWait(this.driver, TimeSpan.FromSeconds(10)); wait.Until(d => d.Url.Equals("http://automationpractice.com/index.php?controller=authentication&back=my-account#account-creation")); createNewUser.CreateNewUser("Adam", "Nowak", "12345", "1", "January", "2000", "somestreet", "somecity", "Texas", "11111", "United States", "123-456-789"); wait.Until(d => d.Url.Equals("http://automationpractice.com/index.php?controller=my-account")); IWebElement isUser = this.driver.FindElement(By.ClassName("account")); Assert.AreEqual("Adam Nowak", isUser.Text); clickTile.ClickOnTileTShirts(); // place order Actions builder = new Actions(this.driver); IWebElement quickview = this.driver.FindElement(By.XPath("//*[@id='center_column']/ul/li")); IWebElement addtocart = this.driver.FindElement(By.XPath("//*[@id='center_column']/ul/li/div/div[2]/div[2]/a[1]/span")); builder.MoveToElement(quickview).Perform(); builder.MoveToElement(addtocart).Click().Perform(); this.driver.SwitchTo().Window(this.driver.WindowHandles.Last()); IWebElement proceedtocheckout = this.driver.FindElement(By.XPath("//*[@id='layer_cart']/div[1]/div[2]/div[4]/a/span")); proceedtocheckout.Click(); IWebElement proceedtocheckoutsummary = this.driver.FindElement(By.XPath("//*[@id='center_column']/p[2]/a[1]/span")); proceedtocheckoutsummary.Click(); IWebElement proceedtocheckoutaddress = this.driver.FindElement(By.XPath("//*[@id='center_column']/form/p/button/span")); proceedtocheckoutaddress.Click(); IWebElement checkbox = this.driver.FindElement(By.ClassName("checker")); checkbox.Click(); IWebElement proceedtocheckoutshipping = this.driver.FindElement(By.XPath("//*[@id='form']/p/button/span")); proceedtocheckoutshipping.Click(); IWebElement paybybankwire = this.driver.FindElement(By.ClassName("bankwire")); paybybankwire.Click(); IWebElement orderconfirm = this.driver.FindElement(By.XPath("//*[@id='cart_navigation']/button/span")); orderconfirm.Click(); IWebElement ordercomplete = this.driver.FindElement(By.ClassName("cheque-indent")); // assert if order is placed Assert.AreEqual("Your order on My Store is complete.", ordercomplete.Text); Console.WriteLine("Expected: Your order on My Store is complete. \nActual: {0}", ordercomplete.Text); signout.SignOut(); stop.Stop(); }