Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #region Copyright
- // ==================================================================================================
- // This file is part of the Navitaire dotREZ application.
- // Copyright ©2018 Navitaire LLC An Amadeus company. All rights reserved.
- // ==================================================================================================
- #endregion
- using System;
- using NUnit.Framework;
- using Navitaire.Automation.Framework;
- using Navitaire.Automation.DotRezMobility;
- using Navitaire.DotRez.Mobile.UITests.Utilities.Config;
- using TestData = Navitaire.DotRez.Mobile.UITests.Utilities.TestData.MemberRegistrationSmoke;
- namespace Navitaire.DotRez.Mobile.UITests.SmokeTests
- {
- /// <summary>
- /// Smoketest Scenario 1 for DotRez Mobile
- /// </summary>
- [TestFixture]
- public class MemberRegistrationSmoke
- {
- /// <summary>
- /// Smoketest for Member Registration using Home Page
- /// </summary>
- [Test]
- [Category("Smoke Tests")]
- public void MemberRegistrationHomePageSmokeTest()
- {
- MobileApp.Close();
- AssertManager assertManager = new AssertManager();
- Logger.Register(new TraceLogger());
- Logger.Register(new XmlLogger(@"TestResults\MemberRegistrationHomePageSmokeTest_Log_" + DateTime.Now.ToString("ddMMMyyyyHHmmss")));
- Logger.StartTest();
- Logger.StartIteration(1);
- //Unique Username generated at runtime
- string Username = string.Format(TestDataHelper.GetTestValue(TestDataType.Member, "Username"),
- DateTime.Now.ToString("MMddyyHHmmss"));
- string Email = $"{ Username }{ TestDataHelper.GetTestValue(TestDataType.Member, "EmailSuffix") }";
- /// 1. Launch the App and Register a Member account.
- using (var DotRezMobilePage = UIViews.Get<DotRezMobilePage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- DotRezMobilePage.Open();
- DotRezMobilePage.LoginRegister();
- DotRezMobilePage.Screenshot("Tap Login/Register");
- }
- using (var SignInPage = UIViews.Get<SignInPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- SignInPage.Open();
- /// 2. Click Create Account button on Sign in Page.
- SignInPage.CreateAnAccount();
- SignInPage.Screenshot("Tap CREATE AN ACCOUNT");
- }
- using (var RegisterPage = UIViews.Get<RegisterPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- RegisterPage.Open();
- RegisterPage.Username = Username.Substring(0, 1);
- RegisterPage.Title = TestDataHelper.GetTestValue(TestDataType.Member, "Title");
- RegisterPage.FirstName = TestDataHelper.GetTestValue(TestDataType.Member, "FirstName");
- RegisterPage.LastName = TestDataHelper.GetTestValue(TestDataType.Member, "LastName");
- RegisterPage.DateOfBirth(TestDataHelper.GetTestDataAge(TestDataType.Member, "Age"));
- RegisterPage.Email = Email;
- RegisterPage.Password = TestDataHelper.GetTestValue(TestDataType.Member, "Password").Substring(0, 2);//Invalid password length
- RegisterPage.CreateAccount();
- RegisterPage.ClearPassword();
- // ~ - Invalid field input will not be processed
- assertManager.Record(() => Assert.True(RegisterPage.RequiredFieldsWarningExists),
- "Invalid field input was not processed.",
- "Invalid field input was processed.");
- RegisterPage.ClearUsername();
- RegisterPage.Username = Username;
- RegisterPage.Password = TestDataHelper.GetTestValue(TestDataType.Member, "Password");
- RegisterPage.Screenshot("Fill up Register details");
- RegisterPage.CreateAccount();
- RegisterPage.Screenshot("Tap Create Account");
- }
- using (var DotRezMobilePage = UIViews.Get<DotRezMobilePage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- bool AutomaticallyLoggedIn = DotRezMobilePage.AutomaticallyLoggedIn;
- bool RegisterSuccessful = DotRezMobilePage.RegisterSuccessful;
- DotRezMobilePage.Open();
- DotRezMobilePage.Menu();
- bool UserLoggedIn = DotRezMobilePage.UserIsLoggedIn($"{ TestDataHelper.GetTestValue(TestDataType.Member, "FirstName") } { TestDataHelper.GetTestValue(TestDataType.Member, "LastName") }");
- // ~ - Able to register a Member using the following:
- // ~ a. Log in Icon on Home Page
- assertManager.Record(() => Assert.True(RegisterSuccessful && UserLoggedIn),
- $"{ Username } able to register using Icon on Home Page",
- $"{ Username } not registered as member using Icon on Home Page");
- // ~ - User is auto logged in after member creation
- assertManager.Record(() => Assert.True(AutomaticallyLoggedIn && UserLoggedIn),
- $"{ Username } is auto logged in after member creation",
- $"{ Username } is not auto logged in");
- DotRezMobilePage.Logout();
- DotRezMobilePage.ConfirmLogoutYes();
- }
- MobileApp.Close();
- Logger.EndIteration();
- Logger.EndTest();
- Assert.True(assertManager.TestPassed);
- }
- /// <summary>
- /// Smoketest for Member Registration using Search Page
- /// </summary>
- [Test]
- [Category("Smoke Tests")]
- public void MemberRegistrationSearchPageSmokeTest()
- {
- MobileApp.Close();
- AssertManager assertManager = new AssertManager();
- Logger.Register(new TraceLogger());
- Logger.Register(new XmlLogger(@"TestResults\MemberRegistrationSearchPageSmokeTest_Log_" + DateTime.Now.ToString("ddMMMyyyyHHmmss")));
- Logger.StartTest();
- Logger.StartIteration(1);
- //Unique Username generated at runtime
- string Username = string.Format(TestDataHelper.GetTestValue(TestDataType.Member, "Username"),
- DateTime.Now.ToString("MMddyyHHmmss"));
- string Email = $"{ Username }{ TestDataHelper.GetTestValue(TestDataType.Member, "EmailSuffix") }";
- /// 1. Launch the App and Register a Member account.
- using (var DotRezMobilePage = UIViews.Get<DotRezMobilePage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- DotRezMobilePage.Open();
- DotRezMobilePage.BookAFlight();
- }
- using (var BookAFlightPage = UIViews.Get<BookAFlightPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- BookAFlightPage.Open();
- BookAFlightPage.LoginRegister();
- BookAFlightPage.Screenshot("Tap Login/Register");
- }
- using (var SignInPage = UIViews.Get<SignInPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- SignInPage.Open();
- /// 2. Click Create Account button on Sign in Page.
- SignInPage.CreateAnAccount();
- SignInPage.Screenshot("Tap CREATE AN ACCOUNT");
- }
- using (var RegisterPage = UIViews.Get<RegisterPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- RegisterPage.Open();
- RegisterPage.Username = Username;
- RegisterPage.Title = TestDataHelper.GetTestValue(TestDataType.Member, "Title");
- RegisterPage.FirstName = TestDataHelper.GetTestValue(TestDataType.Member, "FirstName");
- RegisterPage.LastName = TestDataHelper.GetTestValue(TestDataType.Member, "LastName");
- RegisterPage.DateOfBirth(TestDataHelper.GetTestDataAge(TestDataType.Member, "Age"));
- RegisterPage.Email = Email.Substring(0, 7);
- RegisterPage.Password = TestDataHelper.GetTestValue(TestDataType.Member, "Password");
- RegisterPage.CreateAccount();
- // ~ - Invalid field input will not be processed
- assertManager.Record(() => Assert.True(RegisterPage.RequiredFieldsWarningExists),
- "Invalid field input was not processed.",
- "Invalid field input was processed.");
- RegisterPage.ClearEmail();
- RegisterPage.Email = Email;
- RegisterPage.Screenshot("Fill up Register details");
- RegisterPage.CreateAccount();
- RegisterPage.Screenshot("Tap Create Account");
- }
- using (var BookAFlightPage = UIViews.Get<BookAFlightPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- bool AutomaticallyLoggedIn = BookAFlightPage.AutomaticallyLoggedIn;
- bool RegisterSuccessful = BookAFlightPage.RegisterSuccessful;
- BookAFlightPage.Open();
- BookAFlightPage.Menu();
- bool UserLoggedIn = BookAFlightPage.UserIsLoggedIn($"{ TestDataHelper.GetTestValue(TestDataType.Member, "FirstName") } { TestDataHelper.GetTestValue(TestDataType.Member, "LastName") }");
- // ~ - Able to register a Member using the following:
- // ~ c. Log in/Register option in Slider Menu
- assertManager.Record(() => Assert.True(RegisterSuccessful && UserLoggedIn),
- $"{ Username } able to register using Slider Menu",
- $"{ Username } not registered as member using Slider Menu");
- // ~ - User is auto logged in after member creation
- assertManager.Record(() => Assert.True(AutomaticallyLoggedIn && UserLoggedIn),
- $"{ Username } is auto logged in after member creation",
- $"{ Username } is not auto logged in");
- BookAFlightPage.Logout();
- BookAFlightPage.ConfirmLogoutYes();
- }
- MobileApp.Close();
- Logger.EndIteration();
- Logger.EndTest();
- Assert.True(assertManager.TestPassed);
- }
- /// <summary>
- /// Smoketest for Member Registration using Slider Menu
- /// </summary>
- [Test]
- [Category("Smoke Tests")]
- public void MemberRegistrationSliderMenuSmokeTest()
- {
- MobileApp.Close();
- AssertManager assertManager = new AssertManager();
- Logger.Register(new TraceLogger());
- Logger.Register(new XmlLogger(@"TestResults\MemberRegistrationSliderMenuSmokeTest_Log_" + DateTime.Now.ToString("ddMMMyyyyHHmmss")));
- Logger.StartTest();
- Logger.StartIteration(1);
- //Unique Username generated at runtime
- string Username = string.Format(TestDataHelper.GetTestValue(TestDataType.Member, "Username"),
- DateTime.Now.ToString("MMddyyHHmmss"));
- string Email = $"{ Username }{ TestDataHelper.GetTestValue(TestDataType.Member, "EmailSuffix") }";
- /// 1. Launch the App and Register a Member account.
- using (var DotRezMobilePage = UIViews.Get<DotRezMobilePage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- DotRezMobilePage.Open();
- DotRezMobilePage.Menu();
- DotRezMobilePage.MenuLoginRegister();
- DotRezMobilePage.Screenshot("Tap Menu > Login/Register");
- }
- using (var SignInPage = UIViews.Get<SignInPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- SignInPage.Open();
- /// 2. Click Create Account button on Sign in Page.
- SignInPage.CreateAnAccount();
- SignInPage.Screenshot("Tap CREATE AN ACCOUNT");
- }
- using (var RegisterPage = UIViews.Get<RegisterPage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- RegisterPage.Open();
- RegisterPage.Username = Username;
- RegisterPage.Title = TestDataHelper.GetTestValue(TestDataType.Member, "Title");
- RegisterPage.FirstName = TestDataHelper.GetTestValue(TestDataType.Member, "FirstName");
- RegisterPage.LastName = TestDataHelper.GetTestValue(TestDataType.Member, "LastName");
- RegisterPage.DateOfBirth(TestDataHelper.GetTestDataAge(TestDataType.Member, "Age"));
- RegisterPage.Email = Email;
- RegisterPage.Password = TestDataHelper.GetTestValue(TestDataType.Member, "Password").ToLower();
- RegisterPage.CreateAccount();
- // ~ - Invalid field input will not be processed
- assertManager.Record(() => Assert.True(RegisterPage.RequiredFieldsWarningExists),
- "Invalid field input was not processed.",
- "Invalid field input was processed.");
- RegisterPage.ClearPassword();
- RegisterPage.Password = TestDataHelper.GetTestValue(TestDataType.Member, "Password");
- RegisterPage.Screenshot("Fill up Register details");
- RegisterPage.CreateAccount();
- RegisterPage.Screenshot("Tap Create Account");
- }
- using (var DotRezMobilePage = UIViews.Get<DotRezMobilePage>(new UIActionLogger(), new UISearchCatcher(), new UITimeLogger()))
- {
- bool AutomaticallyLoggedIn = DotRezMobilePage.AutomaticallyLoggedIn;
- bool RegisterSuccessful = DotRezMobilePage.RegisterSuccessful;
- DotRezMobilePage.Open();
- DotRezMobilePage.Menu();
- bool UserLoggedIn = DotRezMobilePage.UserIsLoggedIn($"{ TestDataHelper.GetTestValue(TestDataType.Member, "FirstName") } { TestDataHelper.GetTestValue(TestDataType.Member, "LastName") }");
- // ~ - Able to register a Member using the following:
- // ~ b. Log in Icon on Search Page
- assertManager.Record(() => Assert.True(RegisterSuccessful && UserLoggedIn),
- $"{ Username } able to register using Icon on Search Page",
- $"{ Username } not registered as member using Icon on Search Page");
- // ~ - User is auto logged in after member creation
- assertManager.Record(() => Assert.True(AutomaticallyLoggedIn && UserLoggedIn),
- $"{ Username } is auto logged in after member creation",
- $"{ Username } is not auto logged in");
- DotRezMobilePage.Logout();
- DotRezMobilePage.ConfirmLogoutYes();
- }
- MobileApp.Close();
- Logger.EndIteration();
- Logger.EndTest();
- Assert.True(assertManager.TestPassed);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement