Example #1
0
        public static void Main(string[] args)
        {
            FactoryDesign obj      = new FactoryDesign();
            ITestCase     testcase = obj.GetTestCase(TestModules.Login);

            testcase.Execute(driver, "param1", "param2", "param3", "param4");
        }
Example #2
0
        private void OnCaseRun(object state)
        {
            ITestCase item = (ITestCase)state;

            try
            {
                item.Execute();
            }
            catch (Exception e_)
            {
            }
        }
        public void Register_ValidInput_HappyPath()
        {
            const string ssn             = "111-00-0003";
            const string password        = "******";
            const string confirmPassword = "******";

            //Action: Navigate browser to registration page
            _testCase.AddAction(TestStep.Browser.GoToLocation.Register);

            //Verififcation: Verify that browser is on the registration page.
            _testCase.VerifyThat(TestStep.Browser.HasLocation.Register);

            _testCase.AddAction(TestStep.Driver.Sleep(TimeSpan.FromSeconds(10)));

            //Action: Find element with Name Ssn and set its value.
            _testCase.AddAction(TestStep.OnPage.Register.Element.WithName("Ssn").EnterValue(ssn));

            //Verification: Verify that element with Name Ssn has expected value.
            _testCase.VerifyThat(TestStep.OnPage.Register.Element.WithName("Ssn").HasValue(ssn));

            //Action: Find element with Name Password and set its value.
            _testCase.AddAction(TestStep.OnPage.Register.Element.WithName("Password").EnterValue(password));

            //Verification: Verify that element with Name Pasword has expected value.
            _testCase.VerifyThat(TestStep.OnPage.Register.Element.WithName("Password").HasValue(password));

            //Action: Find element with Name ConfirmPassword and set its value.
            _testCase.AddAction(TestStep.OnPage.Register.Element.WithName("ConfirmPassword").EnterValue(confirmPassword));

            //Verification: Verify that element with Name Pasword has expected value.
            _testCase.VerifyThat(TestStep.OnPage.Register.Element.WithName("ConfirmPassword").HasValue(confirmPassword));

            //Action: Click on the submit button
            _testCase.AddAction(TestStep.OnPage.Register.Element.WithId("submit-register").Click());

            //Action: Wait 5 seconds
            _testCase.AddAction(TestStep.Driver.Sleep(TimeSpan.FromSeconds(5)));

            //Verification: Verify that browser is on the home page.
            _testCase.VerifyThat(TestStep.Browser.HasLocation.Home);

            //Verification: Verify that member was registered.
            _testCase.VerifyThat(TestStep.Database.Member.ExistsWithValidRole(ssn));

            //Action: Remove member from database
            _testCase.AddAction(TestStep.Database.Member.Remove(ssn));

            //Verification: Verify that member does no longer exist in the database.
            _testCase.VerifyThat(TestStep.Database.Member.DoesNotExist(ssn));

            _testCase.Execute();
        }
Example #4
0
        public async Task Execute()
        {
            // Give the server time to start up
            // If it isn't running then fail
            await Task.Delay(TimeSpan.FromSeconds(5));

            if (_server.HasExited)
            {
                throw new Exception("The server process has already exited");
            }

            await _test.Execute(_client);
        }
Example #5
0
 public void Execute(ITestCase test)
 {
     Task.Run(() =>
     {
         try
         {
             test.Execute();
         }
         catch
         {
         }
     });
 }
        public void RegisterAndRentBook_ValidInput_HappyPath()
        {
            const string ssn             = "111-00-0000";
            const string password        = "******";
            const string confirmPassword = "******";
            const string isbn            = "978-7-11-125544-5";

            //Action: Navigate browser to registration page
            _testCase.AddAction(TestStep.Browser.GoToLocation.Register);

            _testCase.AddAction(TestStep.Database.Book.CreateBookWithBookCopy(isbn));

            //Verififcation: Verify that browser is on the registration page.
            _testCase.VerifyThat(TestStep.Browser.HasLocation.Register);

            //Action: Find element with Name Ssn and set its value.
            _testCase.AddAction(TestStep.OnPage.Register.Element.WithName("Ssn").EnterValue(ssn));

            //Verification: Verify that element with Name Ssn has expected value.
            _testCase.VerifyThat(TestStep.OnPage.Register.Element.WithName("Ssn").HasValue(ssn));

            //Action: Find element with Name Password and set its value.
            _testCase.AddAction(TestStep.OnPage.Register.Element.WithName("Password").EnterValue(password));

            //Verification: Verify that element with Name Pasword has expected value.
            _testCase.VerifyThat(TestStep.OnPage.Register.Element.WithName("Password").HasValue(password));

            //Action: Find element with Name ConfirmPassword and set its value.
            _testCase.AddAction(
                TestStep.OnPage.Register.Element.WithName("ConfirmPassword").EnterValue(confirmPassword));

            //Verification: Verify that element with Name Pasword has expected value.
            _testCase.VerifyThat(TestStep.OnPage.Register.Element.WithName("ConfirmPassword")
                                 .HasValue(confirmPassword));

            //Action: Click on the submit button
            _testCase.AddAction(TestStep.OnPage.Register.Element.WithId("submit-register").Click());

            //Action: Wait 5 seconds
            _testCase.AddAction(TestStep.Driver.Sleep(TimeSpan.FromSeconds(5)));

            _testCase.AddAction(TestStep.Browser.GoToLocation.BookIndex);

            _testCase.VerifyThat(TestStep.Browser.HasLocation.BookIndex);

            _testCase.AddAction(TestStep.Driver.Sleep(TimeSpan.FromSeconds(5)));

            _testCase.AddAction(TestStep.OnPage.BookIndex.Element.WithClass("add_to_cart").Click());

            _testCase.AddAction(TestStep.Driver.Sleep(TimeSpan.FromSeconds(1)));

            _testCase.AddAction(TestStep.Browser.GoToLocation.BookCart);

            _testCase.AddAction(TestStep.Driver.Sleep(TimeSpan.FromSeconds(5)));

            _testCase.AddAction(TestStep.OnPage.BookCart.Element.WithId("rent_btn").Click());

            _testCase.AddAction(TestStep.Driver.Sleep(TimeSpan.FromSeconds(5)));

            _testCase.VerifyThat(TestStep.Database.Book.CopyIsNotAvailable(isbn));

            _testCase.AddAction(TestStep.Database.Order.CleanOrderForSsn(ssn));

            _testCase.VerifyThat(TestStep.Database.Order.MemberDoesntHaveOrders(ssn));

            _testCase.AddAction(TestStep.Database.Member.Remove(ssn));

            //Verification: Verify that member does no longer exist in the database.
            _testCase.VerifyThat(TestStep.Database.Member.DoesNotExist(ssn));

            _testCase.AddAction(TestStep.Database.Book.RemoveBookAndCopy(isbn));

            _testCase.VerifyThat(TestStep.Database.Book.BookAndCopyDoesNotExist(isbn));

            _testCase.Execute();
        }