protected override TestSuiteRunner InitializeTestSuiteRunner(SeleniumTestsConfiguration configuration)
        {
            var testContextProvider = new TestContextProvider();

            testContextProvider.SetContext(TestContext);
            return(new TestSuiteRunner(configuration, testContextProvider));
        }
Exemple #2
0
        protected override TestSuiteRunner InitializeTestSuiteRunner(SeleniumTestsConfiguration configuration)
        {
            var provider = new TestContextProvider();

            provider.SetContext(TestOutput);
            return(CreateNewTestSuiteRunner(configuration, provider));
        }
Exemple #3
0
        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}");
            }
        }
Exemple #6
0
 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())
         };
     }
 }
Exemple #7
0
        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)
 {
 }
Exemple #13
0
        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);
        }