private async Task RunSingleTest(ISeleniumTest testClass, TestConfiguration testConfiguration, string testName, Action <IBrowserWrapper> action) { var testFullName = $"{testName} for {testConfiguration.BaseUrl} in {testConfiguration.Factory.Name}"; this.LogVerbose($"(#{Thread.CurrentThread.ManagedThreadId}) {testFullName}: Starting test run"); try { var instance = new TestInstance(this, testClass, testConfiguration, testFullName, action); await instance.RunAsync(); } finally { this.LogVerbose($"(#{Thread.CurrentThread.ManagedThreadId}) {testFullName}: Finishing test run"); } }
private async Task RunSingleTest(ISeleniumTest testClass, TestConfiguration testConfiguration, string testName, Action <IBrowserWrapper> action, IReadOnlyCollection <SkipBrowserAttribute> skipBrowserAttributes) { var skipBrowserAttribute = skipBrowserAttributes.FirstOrDefault(a => a.BrowserName == testConfiguration.Factory.Name); if (skipBrowserAttribute != null) { this.LogInfo($"(#{Thread.CurrentThread.ManagedThreadId}) {testName}: Test was skipped for " + $"browser: {skipBrowserAttribute.BrowserName}, Reason: {skipBrowserAttribute.Reason}"); return; } var testFullName = $"{testName} for {testConfiguration.BaseUrl} in {testConfiguration.Factory.Name}"; this.LogVerbose($"(#{Thread.CurrentThread.ManagedThreadId}) {testFullName}: Starting test run"); try { var instance = new TestInstance(this, testClass, testConfiguration, testFullName, action); await instance.RunAsync(); } finally { this.LogVerbose($"(#{Thread.CurrentThread.ManagedThreadId}) {testFullName}: Finishing test run"); } }