public void TestHierarchicalHtmlFileLogger(string logLevel, Dictionary <string, int> levels) { HtmlFileLogger logger = new HtmlFileLogger(LoggingConfig.GetLogDirectory(), this.GetFileName("TestHierarchicalHtmlFileLogger" + logLevel, "html"), MessageType.GENERIC, true); this.TestHierarchicalLogging(logger, logger.FilePath, logLevel, levels); File.Delete(logger.FilePath); }
public void TryScreenshotWithHTMLFileLogger() { WebDriver.Navigate().GoToUrl(TestSiteUrl); WebDriver.Wait().ForPageLoad(); // Create a console logger and calculate the file location HtmlFileLogger htmlFileLogger = new HtmlFileLogger(LoggingConfig.GetLogDirectory()); TestObject.Log = htmlFileLogger; // Take a screenshot SeleniumUtilities.CaptureScreenshot(this.WebDriver, this.TestObject, "Delete"); Stream fileStream = null; string logContents = string.Empty; // This will open the Log file and read in the text try { fileStream = new FileStream(htmlFileLogger.FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); using (StreamReader textReader = new StreamReader(fileStream)) { fileStream = null; logContents = textReader.ReadToEnd(); } } finally { if (fileStream != null) { fileStream.Dispose(); } } // Find the base64 encoded string Regex pattern = new Regex("src='data:image/png;base64, (?<image>[^']+)'"); var matches = pattern.Match(logContents); // Try to convert the Base 64 string to find if it is a valid string try { Convert.FromBase64String(matches.Groups["image"].Value); } catch (FormatException) { Assert.Fail("image saves was not a Base64 string"); } finally { File.Delete(htmlFileLogger.FilePath); } }
public void HtmlFileLoggerMultipleTaskTest() { var fileLogger = new HtmlFileLogger(logFolder: "Logs", name: $"{this.TestContext.TestName}.html"); this.ExecuteLoggingTasks(fileLogger); }