/// <summary>
        /// The handle check for errors on all pages.
        /// </summary>
        /// <exception cref="Exception">
        /// If a string is found the WebDriver is set to null, and an Exception is thrown
        /// </exception>
        private void HandleCheckForErrorsOnAllPages()
        {
            if (!Configuration.CheckForErrorsOnAllPages)
            {
                return;
            }

            StfLogger.LogHeader($"WebAdapter configured for checking errors on all pages matching [{Configuration.CheckForErrorsOnAllPagesText}]");

            var sourceText         = WebDriver.PageSource;
            var substringsInSource = CheckForSubstringsInSource(sourceText, Configuration.CheckForErrorsOnAllPagesText);

            if (!string.IsNullOrEmpty(substringsInSource))
            {
                var errorMsg = $"Found something matching [{Configuration.CheckForErrorsOnAllPagesText}] on page";

                StfLogger.LogError($"Found [{substringsInSource}] on page");
                StfLogger.LogHeader("****************************");
                StfLogger.LogHeader("*** FOUND ERRORS ON PAGE ***");
                StfLogger.LogHeader("****************************");
                StfLogger.LogScreenshot(StfLogLevel.Error, errorMsg);

                // Ensure/enforce errors from now on! - of the exception was caught somewhere
                WebDriver = null;

                throw new Exception(errorMsg);
            }

            StfLogger.LogDebug($"Looked for errors [{Configuration.CheckForErrorsOnAllPagesText}] on page - found none");
        }
        /// <summary>
        /// The helper test file paths all steps.
        /// </summary>
        /// <param name="testCaseName">
        /// The test case name.
        /// </param>
        /// <param name="testCaseId">
        /// The test case id.
        /// </param>
        /// <param name="fileNameFilters">
        /// The file name filters.
        /// </param>
        /// <param name="numSteps">
        /// The num steps.
        /// </param>
        /// <param name="expectedFilePaths">
        /// The expected file paths.
        /// </param>
        private void HelperTestFilePathsAllSteps(
            string testCaseName,
            int testCaseId,
            string[] fileNameFilters,
            int numSteps,
            string[,] expectedFilePaths)
        {
            StfLogger.LogHeader(testCaseName);
            var testCaseFileAndFolderUtils = new TestCaseFileAndFolderUtils(testCaseId, UnitTestTestDataRoot);
            var testCaseStepFilePathUtils  = new TestCaseStepFilePathUtils(
                testCaseFileAndFolderUtils.TestCaseDirectory,
                fileNameFilters,
                true);

            for (int stepNum = 1; stepNum <= numSteps; stepNum++)
            {
                StfLogger.LogSubHeader($"Step {stepNum}");
                for (var fileNameFilterNo = 0; fileNameFilterNo < fileNameFilters.Length; fileNameFilterNo++)
                {
                    var actual = testCaseStepFilePathUtils.GetFileNameForStep(fileNameFilters[fileNameFilterNo], stepNum);
                    StfAssert.AreEqual(
                        "FileNames for step are equal",
                        expectedFilePaths[stepNum - 1, fileNameFilterNo],
                        actual);
                }
            }
        }
 public void TestFilePathsThreeFileFilters()
 {
     StfLogger.LogHeader("One Template, One Config, One Tdv");
     HelperThreeFileFilters("One, One, one", 43111, "Template.txt", 1, "Template.txt");
     HelperThreeFileFilters("One, One, one", 43111, "Config.txt", 1, "Config.txt");
     HelperThreeFileFilters("One, One, one", 43111, "TestDataValues.txt", 1, "TestDataValues.txt");
 }
示例#4
0
        /// <summary>
        /// The helper delete file.
        /// </summary>
        /// <param name="filename">
        /// The filename.
        /// </param>
        /// <param name="testComment">
        /// The test comment.
        /// </param>
        /// <param name="expected">
        /// The expected.
        /// </param>
        /// <param name="createFileFirst">
        /// The create file first.
        /// </param>
        private void HelperDeleteFile(string filename, string testComment, bool expected = true, bool createFileFirst = false)
        {
            var rootedFileName = Path.IsPathRooted(filename)
                               ? filename
                               : StfTestUtils.GetTestCaseRootFilePath(filename, false);

            StfLogger.LogHeader(testComment);

            CreateFileUtilsTestFile(rootedFileName, createFileFirst);

            var actual = StfTestUtils.FileUtils.DeleteFile(rootedFileName);

            StfAssert.IsTrue(testComment, expected == actual);
        }
示例#5
0
        /// <summary>
        /// The helper get clean file content.
        /// </summary>
        /// <param name="testStep">
        /// The test step.
        /// </param>
        /// <param name="inputFilename">
        /// The input filename.
        /// </param>
        private void HelperGetCleanFileContent(string testStep, string inputFilename)
        {
            StfLogger.LogHeader(testStep);

            var expectedFilename     = $"{inputFilename}.Expected.txt";
            var absolutePathInput    = stfTestUtils.GetTestCaseRootFilePath(inputFilename);
            var absolutePathExpected = stfTestUtils.GetTestCaseRootFilePath(expectedFilename);
            var tempInputPath        = stfTestUtils.GetTestCaseTempFilePath(inputFilename, false);
            var tempActualPath       = stfTestUtils.GetTestCaseTempFilePath($@"{inputFilename}-Actual.txt", false);
            var tempExpectedPath     = stfTestUtils.GetTestCaseTempFilePath($@"{inputFilename}-Expected.txt", false);
            var fileUtils            = stfTestUtils.FileUtils;

            fileUtils.CopyFile(absolutePathInput, tempInputPath);
            fileUtils.CopyFile(absolutePathExpected, tempExpectedPath);

            // generate Actual
            var actual = fileUtils.GetCleanFileContent(tempInputPath);

            File.WriteAllText(tempActualPath, actual);

            StfAssert.FilesDoNotDiffer(testStep, tempExpectedPath, tempActualPath);
        }
        public void TestFilePathsSimple()
        {
            StfLogger.LogHeader("One Template, One Config");
            HelperFilePaths("One Template, One Config", 4011, "Template.txt", 1, "Template.txt");
            HelperFilePaths("One Template, One Config", 4011, "Config.txt", 1, "Config.txt");

            StfLogger.LogHeader("One Template, Two Config");
            HelperFilePaths("One Template, Two Config", 4012, "Template.txt", 1, "Template.txt");
            HelperFilePaths("One Template, Two Config", 4012, "Template.txt", 2, "Template.txt");
            HelperFilePaths("One Template, Two Config", 4012, "Config.txt", 1, "Config.txt");
            HelperFilePaths("One Template, Two Config", 4012, "Config.txt", 2, "Config2.txt");

            StfLogger.LogHeader("Two Template, One Config");
            HelperFilePaths("Two Template, One Config", 4021, "Template.txt", 1, "Template.txt");
            HelperFilePaths("Two Template, One Config", 4021, "Template.txt", 2, "Template2.txt");
            HelperFilePaths("Two Template, One Config", 4021, "Config.txt", 1, "Config.txt");
            HelperFilePaths("Two Template, One Config", 4021, "Config.txt", 2, "Config.txt");

            StfLogger.LogHeader("Two Template, Two Config");
            HelperFilePaths("Two Template, Two Config", 4022, "Template.txt", 1, "Template.txt");
            HelperFilePaths("Two Template, Two Config", 4022, "Template.txt", 2, "Template2.txt");
            HelperFilePaths("Two Template, Two Config", 4022, "Config.txt", 1, "Config.txt");
            HelperFilePaths("Two Template, Two Config", 4022, "Config.txt", 2, "Config2.txt");

            StfLogger.LogHeader("Three Template, Three Config");
            HelperFilePaths("Three Template, Three Config", 4033, "Template.txt", 1, "Template.txt");
            HelperFilePaths("Three Template, Three Config", 4033, "Template.txt", 2, "Template2.txt");
            HelperFilePaths("Three Template, Three Config", 4033, "Template.txt", 3, "Template3.txt");
            HelperFilePaths("Three Template, Three Config", 4033, "Config.txt", 1, "Config.txt");
            HelperFilePaths("Three Template, Three Config", 4033, "Config.txt", 2, "Config2.txt");
            HelperFilePaths("Three Template, Three Config", 4033, "Config.txt", 3, "Config3.txt");

            StfLogger.LogHeader("Four Steps, Two Template, Three Config");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Template.txt", 1, "Template.txt");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Template.txt", 2, "Template.txt");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Template.txt", 3, "Template3.txt");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Template.txt", 4, "Template3.txt");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Config.txt", 1, "Config.txt");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Config.txt", 2, "Config2.txt");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Config.txt", 3, "Config2.txt");
            HelperFilePaths("Four Steps, Two Template, Three Config", 4423, "Config.txt", 4, "Config4.txt");

            StfLogger.LogHeader("Four Steps, Three Template, Two Config");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Template.txt", 1, "Template.txt");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Template.txt", 2, "Template2.txt");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Template.txt", 3, "Template3.txt");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Template.txt", 4, "Template3.txt");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Config.txt", 1, "Config.txt");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Config.txt", 2, "Config.txt");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Config.txt", 3, "Config.txt");
            HelperFilePaths("Four Steps, Three Template, Two Config", 4432, "Config.txt", 4, "Config4.txt");

            StfLogger.LogHeader("Four Steps File Text, Three Template, Three Config");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Template.txt", 1, "Template.txt");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Template.txt", 2, "Template2_Uscore3.txt");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Template.txt", 3, "Template3 spaces 2.txt");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Template.txt", 4, "Template3 spaces 2.txt");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Config.txt", 1, "Config.txt");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Config.txt", 2, "Config2WithNoGap1.txt");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Config.txt", 3, "Config2WithNoGap1.txt");
            HelperFilePaths("Four Steps File Text, Three Template, Three Config", 4433, "Config.txt", 4, "Config4.extra.dots.12.txt");
        }