public void TestActionForTestCaseIsNullTest()
        {
            TestCase     testCase     = new TestCase("TestCase");
            TestCaseStep testCaseStep = testCase.GetTestAction("TestAction");

            Assert.IsNull(testCaseStep);
        }
        public void KeyParameterForActionIsNullTest()
        {
            TestCaseStep testCaseStep = new TestCaseStep("TestAction");
            object       parameter    = testCaseStep.GetParameterValue("key");

            Assert.IsNull(parameter);
        }
        public void ParseTestSuite()
        {
            TestSuite testSuite;

            using (Stream stream = File.OpenRead(@"..\..\..\Data\Samples\TestSuite.xml"))
            {
                using (XmlTestSuiteParser parser = new XmlTestSuiteParser(stream, businessActionsRepository))
                {
                    testSuite = parser.Parse();
                }
            }

            Assert.AreEqual("Banking", testSuite.TestSuiteName);
            Assert.AreEqual("OnlineBanking", testSuite.TestRunnerName);
            Assert.AreEqual("OnlineBankingNamespace", testSuite.Namespace);
            Assert.AreEqual(true, testSuite.IsParallelizable);
            Assert.AreEqual(20, testSuite.DegreeOfParallelism);

            Assert.AreEqual(1, testSuite.TestCasesCount);

            TestCase testCase = testSuite.GetTestCase("MoneyTransfer");

            Assert.IsNotNull(testCase);
            Assert.AreEqual("MoneyTransfer", testCase.TestCaseName);
            Assert.AreEqual(8, testCase.TestSteps.Count);

            TestCaseStep testCaseStep = testCase.GetTestAction("GoToPortal");

            Assert.IsNotNull(testCaseStep);
            Assert.AreEqual("GoToPortal", testCaseStep.ActionName);
            Assert.IsFalse(testCaseStep.HasParameters, "Action should NOT have parameters!");

            testCaseStep = testCase.GetTestAction("SignIn");
            Assert.IsNotNull(testCaseStep);
            Assert.AreEqual("SignIn", testCaseStep.ActionName);
            Assert.AreEqual(2, testCaseStep.Parameters.Count);
            Assert.IsTrue(testCaseStep.HasParameters, "Action should have 2 parameters!");
            Assert.IsNotNull(testCaseStep.GetParameterValue("username"));
            Assert.AreEqual("john", testCaseStep.GetParameterValue("username"));
            Assert.IsNotNull(testCaseStep.GetParameterValue("password"));
            Assert.AreEqual("doe", testCaseStep.GetParameterValue("password"));

            testCaseStep = testCase.GetTestAction("EnterDestinationAccountNumber");
            Assert.IsNotNull(testCaseStep);
            Assert.AreEqual("EnterDestinationAccountNumber", testCaseStep.ActionName);
            Assert.AreEqual(1, testCaseStep.Parameters.Count);
            Assert.IsNotNull(testCaseStep.GetParameterValue("destAccountId"));
            Assert.AreEqual(23677, testCaseStep.GetParameterValue("destAccountId"));

            testCaseStep = testCase.GetTestAction("EnterTransferAmount");
            Assert.IsNotNull(testCaseStep);
            Assert.AreEqual("EnterTransferAmount", testCaseStep.ActionName);
            Assert.AreEqual(1, testCaseStep.Parameters.Count);
            Assert.IsNotNull(testCaseStep.GetParameterValue("transferAmount"));
            Assert.AreEqual(644.33m, testCaseStep.GetParameterValue("transferAmount"));
        }
        public void MoreParametersInTestStep()
        {
            ITestCodeGenerator testCodeGenerator = new TemplatedTestCodeGenerator(
                @"Templates/TestRunners/CSharpMbUnitTestRunner.vm",
                "IT3Suite.cs");

            TestSuite testSuite = new TestSuite("IT3Suite")
            {
                Description      = "Following test suite defines acceptance test cases for Iteration3 (Content Delivery) in MiMi project.",
                TestRunnerName   = "MiMi",
                Namespace        = "Hsl.Ganesha.AcceptanceTests",
                IsParallelizable = true,
            };

            TestCase testCase = new TestCase("TopicWithoutContent")
            {
                TestCaseDescription = "Subscribe onDemand news to category SALA through SP Gui, where particular topic news does not exists. Check received SMS on phone."
            };

            testCase.AddTestCaseTag("CD.SMS.ImmediateRequest");

            TestCaseStep testCaseStep;

            testCaseStep = new TestCaseStep("AssertTopicDescription");
            testCaseStep.AddParameter(new TestStepParameter("topic", "SALA"));
            testCaseStep.AddParameter(new TestStepParameter("sequenceNumberInList", "3"));
            testCaseStep.AddParameter(new TestStepParameter("topicDescription", "šala dneva"));
            testCaseStep.AddParameter(new TestStepParameter("isBool", "true"));
            testCase.AddStep(testCaseStep);
            testSuite.AddTestCase(testCase);

            BusinessActionsRepository businessActionsRepository = new BusinessActionsRepository();
            BusinessAction            businessAction;

            businessAction =
                new BusinessAction("AssertTopicDescription")
            {
                Description =
                    "Assert each topic has correct description with the content '{0}' in AllServices list."
            };
            businessAction.AddParameter(new BusinessActionParameter("topic", typeof(string), "string", 0));
            businessAction.AddParameter(new BusinessActionParameter("sequenceNumberInList", typeof(int), "integer", 1));
            businessAction.AddParameter(new BusinessActionParameter("topicDescription", typeof(string), "string", 2));
            businessAction.AddParameter(new BusinessActionParameter("isBool", typeof(bool), "boolean", 3));
            businessActionsRepository.AddAction(businessAction);

            testSuite.BusinessActionsRepository = businessActionsRepository;

            // execution
            testCodeGenerator.Generate(testSuite);
        }
Ejemplo n.º 5
0
        public void GenerateTestSpec()
        {
            TestSuite testSuite = new TestSuite("TestSuiteId")
            {
                Description = "Test Sute Description."
            };

            // Business Action Data
            const string ActionNavigateToDescription   = "Navigate to url '{0}'";
            const string ActionSelectModuleDescription = "Select module name '{0}'";
            const string ActionDetailsDescription      = "Select details";

            BusinessActionsRepository businessActionsRepository = new BusinessActionsRepository();
            BusinessAction            businessAction            = new BusinessAction("NavigateTo");

            businessAction.Description = ActionNavigateToDescription;
            businessActionsRepository.AddAction(businessAction);
            businessAction             = new BusinessAction("SelectModule");
            businessAction.Description = ActionSelectModuleDescription;
            businessActionsRepository.AddAction(businessAction);
            businessAction             = new BusinessAction("Details");
            businessAction.Description = ActionDetailsDescription;
            businessActionsRepository.AddAction(businessAction);
            testSuite.BusinessActionsRepository = businessActionsRepository;

            // Test case
            TestCase testCase = new TestCase("Open Page")
            {
                TestCaseDescription = "Open page in web browser"
            };
            TestCaseStep      testCaseStep      = new TestCaseStep("NavigateTo");
            TestStepParameter testStepParameter =
                new TestStepParameter("url", "http://test.aspx");

            testCaseStep.AddParameter(testStepParameter);
            testCase.AddStep(testCaseStep);
            testCaseStep      = new TestCaseStep("SelectModule");
            testStepParameter = new TestStepParameter("name", "Mobi-Info");
            testCaseStep.AddParameter(testStepParameter);
            testCase.AddStep(testCaseStep);
            testCase.AddStep(new TestCaseStep("Details"));
            testSuite.AddTestCase(testCase);

            ITestCodeGenerator generator = new TemplatedTestCodeGenerator(
                @"Templates/TestRunners/HtmlTestCodeGenerator.vm",
                "TestSuiteId.html");

            generator.Generate(testSuite);
        }
Ejemplo n.º 6
0
        private void WriteTestStepToHTMLDocument(TestCaseStep step, bool isEvenRow)
        {
            string evenOddRowText = isEvenRow ? "evenRow" : "oddRow";
            string newStepRowHTML = RawUnattachedStepRowHTML.Replace("[ODD_EVEN_ROW]", evenOddRowText);

            newStepRowHTML = newStepRowHTML.Replace("[STEP_NUMBER]", GetNextStepSequenceNumberString());
            newStepRowHTML = newStepRowHTML.Replace("[STEP_DESCRIPTION]", step.StepDescription);
            newStepRowHTML = newStepRowHTML.Replace("[STEP_SUPPLIED_DATE]", step.SuppliedData);
            newStepRowHTML = newStepRowHTML.Replace("[STEP_EXPECTED_RESULT]", step.ExpectedResult);
            newStepRowHTML = newStepRowHTML.Replace("[STEP_ACTUAL_RESULT]", step.ActualResult);
            newStepRowHTML = newStepRowHTML.Replace("[STEP_PASS_FAIL]", step.StepPassed ? "PASS" : "FAIL");
            newStepRowHTML = newStepRowHTML.Replace("[IMAGE_PATH]", step.ImageFilePath);

            if (string.IsNullOrEmpty(step.ImageFilePath))
            {
                newStepRowHTML = newStepRowHTML.Replace(">Image<", "><");
            }

            newStepRowHTML = newStepRowHTML.Replace("[STEP_NOTES]", step.Notes);

            string replaceText = string.Format("{0}{1}{2}", newStepRowHTML, Environment.NewLine, UnattachedRowCommentFrontDelimiter);

            RawHTMLTemplate = RawHTMLTemplate.Replace(UnattachedRowCommentFrontDelimiter, replaceText);
        }
        public void GenerateTestFromTemplate()
        {
            ITestCodeGenerator testCodeGenerator = new TemplatedTestCodeGenerator(
                @"Templates/TestRunners/CSharpMbUnitTestRunner.vm",
                "Banking.cs");

            TestSuite testSuite = new TestSuite("Banking")
            {
                Description      = "Class description.",
                TestRunnerName   = "OnlineBanking",
                Namespace        = "OnlineBankingNamespace",
                IsParallelizable = true,
            };

            TestCase testCase = new TestCase("ViewAccountTestCase")
            {
                TestCaseDescription = "Tests case description."
            };

            testCase.AddTestCaseTag("R15");
            testCase.AddTestCaseTag("R21.1");
            testCase.AddStep(new TestCaseStep("GoToPortal"));

            TestCaseStep testCaseStep = new TestCaseStep("SignIn");

            testCaseStep.AddParameter(new TestStepParameter("username", "john"));
            testCaseStep.AddParameter(new TestStepParameter("password", "doe"));
            testCase.AddStep(testCaseStep);

            testCaseStep = new TestCaseStep("AssertIsUserIdCorrect");
            testCaseStep.AddParameter(new TestStepParameter("userId", "1"));
            testCase.AddStep(testCaseStep);

            testCase.AddStep(new TestCaseStep("AssertOperationSuccessful"));
            testSuite.AddTestCase(testCase);

            BusinessActionsRepository businessActionsRepository = new BusinessActionsRepository();
            BusinessAction            businessAction            =
                new BusinessAction("GoToPortal")
            {
                Description =
                    "Open the online banking portal web site in the browser."
            };

            businessActionsRepository.AddAction(businessAction);
            businessAction =
                new BusinessAction("SignIn")
            {
                Description = "Sign in user '{0}'."
            };
            businessAction.AddParameter(new BusinessActionParameter("username", typeof(string), "string", 0));
            businessAction.AddParameter(new BusinessActionParameter("password", typeof(string), "string", 1));
            businessActionsRepository.AddAction(businessAction);
            businessAction =
                new BusinessAction("AssertIsUserIdCorrect")
            {
                Description = "Assert if user id is correct."
            };
            businessAction.AddParameter(new BusinessActionParameter("userId", typeof(int), "integer", 0));
            businessActionsRepository.AddAction(businessAction);
            businessAction =
                new BusinessAction("AssertOperationSuccessful")
            {
                Description = "Assert the operation was successful."
            };
            businessActionsRepository.AddAction(businessAction);

            testSuite.BusinessActionsRepository = businessActionsRepository;
            testCodeGenerator.Generate(testSuite);
        }