Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.78 KB | None | 0 0
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using OpenQA.Selenium;
  3. using OpenQA.Selenium.Chrome;
  4. using System.Threading;
  5. using System.Collections.ObjectModel;
  6. using System.Linq;
  7.  
  8. namespace OpenCartTestMladenVarbev
  9. {
  10.     [TestClass]
  11.     public class AdminPageTests
  12.     {
  13.         IWebDriver driver;
  14.  
  15.         [TestInitialize]
  16.         public void TestSetup()
  17.         {            
  18.             driver = new ChromeDriver();
  19.             driver.Manage().Window.Maximize();
  20.             LoginAsAdmin();
  21.         }
  22.  
  23.         [TestCleanup]
  24.         public void TestTeardown()
  25.         {
  26.             driver.Quit();
  27.         }
  28.  
  29.         [TestCategory("AdminTests")]
  30.         [TestMethod]
  31.         public void Test01LoginAsAdmin()
  32.         {
  33.             var loggedUserName = driver.FindElement(By.XPath("//a[contains(text(),'demo demo ')]"));
  34.  
  35.             Assert.AreEqual("demo demo", loggedUserName.Text);
  36.         }
  37.  
  38.         [TestCategory("AdminTests")]
  39.         [TestMethod]
  40.         public void Test02LogoutAsAdmin()
  41.         {
  42.             var logoutButton = driver.FindElement(By.XPath("//*[@id='header']/div/ul/li[2]/a/span"));
  43.             logoutButton.Click();
  44.  
  45.             Thread.Sleep(1000); ;
  46.  
  47.             var logoutPanelTitle = driver.FindElement(By.XPath("//*[@id='content']/div/div/div/div/div[1]/h1"));
  48.  
  49.             Assert.AreEqual("Please enter your login details.", logoutPanelTitle.Text);
  50.         }
  51.  
  52.         [TestCategory("AdminTests")]
  53.         [TestMethod]
  54.         public void Test03DeclineNameChange()
  55.         {
  56.             var profileDropdown = driver.FindElement(By.XPath("//*[@id='header']/div/ul/li[1]/a"));
  57.  
  58.             profileDropdown.Click();
  59.  
  60.             Thread.Sleep(1000);
  61.  
  62.             var profileSettings = driver.FindElement(By.XPath("//*[@id='header']/div/ul/li[1]/ul/li[1]/a"));
  63.  
  64.             profileSettings.Click();
  65.  
  66.             Thread.Sleep(1000);
  67.  
  68.             var firstNameField = driver.FindElement(By.XPath("//*[@id='input-firstname']"));
  69.             var lastNameField = driver.FindElement(By.XPath("//*[@id='input-lastname']"));
  70.  
  71.             firstNameField.Clear();
  72.             firstNameField.SendKeys("Mladen");
  73.  
  74.             lastNameField.Clear();
  75.             lastNameField.SendKeys("Varbev");
  76.  
  77.             Thread.Sleep(1000);
  78.  
  79.             var saveChanges = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div/div/button"));
  80.             saveChanges.Click();
  81.  
  82.             Thread.Sleep(1000);
  83.  
  84.             var throwWarningMessage = driver.FindElement(By.XPath("//*[@id='content']/div[2]/div[1]"));
  85.             var expectedMessage = @"Warning: You do not have permission to modify your profile!
  86. ×";
  87.  
  88.             Assert.AreEqual(expectedMessage, throwWarningMessage.Text);
  89.         }
  90.  
  91.         [TestCategory("AdminTests")]
  92.         [TestMethod]
  93.         public void Test04FilterOrdersByName()
  94.         {
  95.             var totalOrdersMenu = driver.FindElement(By.XPath("//*[@id='content']/div[2]/div[1]/div[1]/div/div[3]/a"));
  96.             totalOrdersMenu.Click();
  97.  
  98.             Thread.Sleep(1000);
  99.  
  100.             var customerFilter = driver.FindElement(By.Id("input-customer"));
  101.  
  102.             Thread.Sleep(1000);
  103.  
  104.             customerFilter.Clear();
  105.             customerFilter.SendKeys("Bob Smith");
  106.  
  107.             var filterButton = driver.FindElement(By.XPath("//*[@id='button-filter']/i"));
  108.  
  109.             filterButton.Click();
  110.  
  111.             Thread.Sleep(1000);
  112.  
  113.             var filteredCustomer = driver.FindElement(By.XPath("//*[@id='form-order']/table/tbody/tr[1]/td[3]"));
  114.  
  115.             Assert.AreEqual("Bob Smith", filteredCustomer.Text);
  116.         }
  117.  
  118.         [TestCategory("AdminTests")]
  119.         [TestMethod]
  120.         public void Test05OpenSupportForum()
  121.         {
  122.             var profileDropDown = driver.FindElement(By.XPath("//*[@id='header']/div/ul/li[1]/a"));
  123.  
  124.             profileDropDown.Click();
  125.  
  126.             Thread.Sleep(1000);
  127.  
  128.             var supportForumRef = driver.FindElement(By.XPath("//*[@id='header']/div/ul/li[1]/ul/li[9]/a"));
  129.  
  130.             supportForumRef.Click();
  131.  
  132.             Thread.Sleep(1000);
  133.  
  134.             ReadOnlyCollection<string> windowHandles = driver.WindowHandles;
  135.  
  136.             string firstTab = windowHandles.First();
  137.             string lastTab = windowHandles.Last();
  138.  
  139.             driver.SwitchTo().Window(lastTab);
  140.  
  141.             Thread.Sleep(1000);
  142.  
  143.             var forumBanner = driver.FindElement(By.XPath("//*[@id='forum']/div[1]/div/h1"));
  144.             var expectedBanner = "Community Forum";
  145.  
  146.             Assert.AreEqual(expectedBanner, forumBanner.Text);
  147.         }
  148.                
  149.         private void LoginAsAdmin()
  150.         {        
  151.             driver.Navigate().GoToUrl(@"https://demo.opencart.com/admin/");
  152.  
  153.             var userName = driver.FindElement(By.Id("input-username"));
  154.             var password = driver.FindElement(By.Id("input-password"));
  155.             var loginButton = driver.FindElement(By.CssSelector("button.btn"));
  156.  
  157.             userName.Clear();
  158.             userName.SendKeys("demo");
  159.  
  160.             password.Clear();
  161.             password.SendKeys("demo");
  162.  
  163.             loginButton.Click();
  164.  
  165.             Thread.Sleep(2000);
  166.         }
  167.     }
  168. }
  169.  
  170. //[TestCategory("OtherTests")]
  171. //[TestMethod]
  172. //public void Test00NavigateToDemoPage()
  173. //{
  174. //    driver.Navigate().GoToUrl(@"https://www.opencart.com");
  175. //
  176. //    Thread.Sleep(1000);
  177. //
  178. //    var viewDemoButton = driver.FindElement(By.XPath("//*[@id='hero']/div[1]/div[1]/div/p[2]/a[2]"));
  179. //
  180. //    Thread.Sleep(1000);
  181. //
  182. //    viewDemoButton.Click();
  183. //
  184. //    Thread.Sleep(1000);
  185. //
  186. //    var demoPageHeading = driver.FindElement(By.XPath("//*[@id='cms-demo']/div[1]/div/h1"));
  187. //    var expectedPageHeadingText = "OpenCart Demonstration";
  188. //
  189. //    Assert.AreEqual(expectedPageHeadingText, demoPageHeading.Text);
  190. //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement