protected override TestSuiteRunner InitializeTestSuiteRunner(SeleniumTestsConfiguration configuration) { var testContextProvider = new TestContextProvider(); testContextProvider.SetContext(TestContext); return(new TestSuiteRunner(configuration, testContextProvider)); }
protected override TestSuiteRunner InitializeTestSuiteRunner(SeleniumTestsConfiguration configuration) { var provider = new TestContextProvider(); provider.SetContext(TestOutput); return(CreateNewTestSuiteRunner(configuration, provider)); }
public List <ILogger> CreateLoggers(SeleniumTestsConfiguration configuration, IEnumerable <Assembly> assemblies) { // find all loggers var foundTypes = DiscoverLoggers(assemblies); var loggers = InstantiateLoggers(foundTypes); // create instances and configure them var result = new List <ILogger>(); foreach (var loggerConfiguration in configuration.Logging.Loggers.Where(f => f.Value.Enabled)) { // try to find logger instance var instance = loggers.SingleOrDefault(f => f.Name == loggerConfiguration.Key); if (instance == null) { throw new SeleniumTestConfigurationException($"The logger '{loggerConfiguration.Key}' was not found!"); } // load options foreach (var entry in loggerConfiguration.Value.Options) { instance.Options[entry.Key] = entry.Value; } // return the instance result.Add(instance); } return(result); }
protected override TestSuiteRunner CreateNewTestSuiteRunner(SeleniumTestsConfiguration configuration, TestContextProvider provider) { return(new XunitTestSuiteRunner(configuration, provider, (service, runner) => { runner.SearchAssemblies.Add(Assembly.GetExecutingAssembly()); })); }
public TestSuiteRunner(SeleniumTestsConfiguration configuration, ITestContextProvider testContextProvider) { searchAssemblies = new[] { Assembly.GetExecutingAssembly() }; this.Configuration = configuration; this.TestContextProvider = testContextProvider; this.WebBrowserPool = new WebBrowserPool(this); this.TestContextAccessor = new TestContextAccessor(); // load configuration and get all loggers and factories LoggerService = CreateLoggerService(searchAssemblies); factories = CreateWebBrowserFactories(); this.LogInfo("RIGANTI Selenium-Utils Test framework initialized."); this.LogVerbose("WebBrowserFactories discovered: "); foreach (var factory in factories) { this.LogVerbose("* " + factory.Key); } this.LogVerbose("Loggers discovered: "); foreach (var logger in LoggerService.Loggers) { this.LogVerbose("* " + logger.Name); } // get test configurations testConfigurations = GetTestConfigurations(); this.LogVerbose("Test configurations: "); foreach (var testConfiguration in testConfigurations) { this.LogVerbose($"* [{testConfiguration.BaseUrl}] {testConfiguration.Factory.Name}"); } }
public AggregatedReporter(IDictionary <string, ITestResultReporter> reporters, IReportingMetadataProvider reportingMetadataProvider, SeleniumTestsConfiguration configuration) { this.reporters = reporters; this.reportingMetadataProvider = reportingMetadataProvider; this.configuration = configuration; if (configuration.Reporting.Parallel) { Tasks = new List <Task>() { new Task(async() => await SendResult()), new Task(async() => await SendResult()) }; } }
public TestSuiteRunner(SeleniumTestsConfiguration configuration, ITestContextProvider testContextProvider, Action <ServiceFactory, TestSuiteRunner> registerServices = null) { SearchAssemblies = new List <Assembly>() { Assembly.GetExecutingAssembly() }; ServiceFactory.RegisterTransient <WebBrowserFactoryResolver <TestSuiteRunner>, WebBrowserFactoryResolver <TestSuiteRunner> >(); ServiceFactory.RegisterTransient <ResultReportersFactory, ResultReportersFactory>(); registerServices?.Invoke(ServiceFactory, this); this.Configuration = configuration; this.TestContextProvider = testContextProvider; this.WebBrowserPool = new WebBrowserPool(this); this.TestContextAccessor = new TestContextAccessor(); ReportingMetadataProvider = new DefaultReportingMetadataProvider(testContextProvider); }
/// <summary> /// Sets username and access key of browserstack to capabilities /// </summary> public virtual void Authenticate(DesiredCapabilities caps) { SeleniumTestsConfiguration.CheckAndSet("selenium:BroserStackUserName", "", s => caps.SetCapability(BrowserStackUsername, s)); SeleniumTestsConfiguration.CheckAndSet("selenium:BroserStackAccessKey", "", s => caps.SetCapability(BrowserStackAccessKey, s)); }
protected virtual TestSuiteRunner CreateNewTestSuiteRunner(SeleniumTestsConfiguration configuration, TestContextProvider testContextProvider) { return(new TestSuiteRunner(configuration, testContextProvider)); }
protected abstract TestSuiteRunner InitializeTestSuiteRunner(SeleniumTestsConfiguration configuration);
public XunitTestSuiteRunner(SeleniumTestsConfiguration configuration, TestContextProvider testContextProvider, Action <ServiceFactory, TestSuiteRunner> registerServices = null) : base(configuration, (ITestContextProvider)testContextProvider, registerServices) { }
public XunitTestSuiteRunner(SeleniumTestsConfiguration configuration, TestContextProvider testContextProvider) : base(configuration, (ITestContextProvider)testContextProvider) { }
public Dictionary <string, ITestResultReporter> CreateReporters(IEnumerable <Assembly> assemblies, SeleniumTestsConfiguration configuration) { // find all factories var foundTypes = DiscoverReporters(assemblies); var reporters = InstantiateReporters(foundTypes); // create instances and configure them var result = new Dictionary <string, ITestResultReporter>(); foreach (var factoryConfiguration in configuration.Reporting.Reporters.Where(s => s.Value.Enabled)) { // try to find factory instance var instance = reporters.SingleOrDefault(f => f.Name == factoryConfiguration.Key); if (instance == null) { throw new SeleniumTestConfigurationException($"The reporter '{factoryConfiguration.Key}' was not found!"); } instance.ReportTestResultUrl = factoryConfiguration.Value.ReportTestResultUrl; //load options foreach (var entry in factoryConfiguration.Value.Options) { instance.Options[entry.Key] = entry.Value; } // return the instance result[factoryConfiguration.Key] = instance; } return(result); }