/// <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"); }
/// <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); }
/// <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"); }