Example #1
0
        public async Task ForeignAdd()
        {
            // Add by pool1
            var ts = pool1.Get <TestSuiteInstallation>().Get(q => q.Where(t => t.Name == existingTestSuiteNames.First())).First();

            var repo1 = pool1.Get <TestSuiteConfiguration>();

            var repoConf = pool1.Get <TestSuiteConfiguration>();

            var conf = new TestSuiteConfiguration
            {
                Name = "Test Configuration",
                TestSuiteInstallation = ts,
            };

            repoConf.Insert(conf);

            await pool1.Save();

            // Get by pool2
            var repo2 = pool2.Get <TestSuiteConfiguration>();

            var result = repo2.Get(q => q.Where(c => c.Id == conf.Id).Include(c => c.TestSuiteInstallation)).First();

            Assert.AreEqual(conf.Id, result.Id);

            Assert.AreEqual(ts.Id, result.TestSuiteId);

            Assert.IsNotNull(result.TestSuiteInstallation);

            Assert.AreEqual(ts.Id, result.TestSuiteInstallation.Id);
        }
        /// <summary>
        /// Initialized the configuration for the environment and populates
        /// the current configuration.
        /// </summary>
        /// <param name="outputPath"></param>
        public static void InitializeConfiguration(string outputPath)
        {
            Current = new TestSuiteConfiguration();

            var configRoot = GetConfigurationRoot(outputPath);

            configRoot.GetSection("TestSuiteConfiguration").Bind(Current);
        }
        private Configuration(TestSuiteConfiguration testSuiteConfiguration, ITestSuite testSuite, IStorageNode storageRoot)
        {
            Id = testSuiteConfiguration.Id;

            TestSuite = testSuite;

            Name = testSuiteConfiguration.Name;

            Description = testSuiteConfiguration.Description;

            StorageRoot = storageRoot;

            var ptfConfigStorage = StorageRoot.GetNode(ConfigurationConsts.PtfConfig);

            PtfConfig = new PtfConfig(ptfConfigStorage.GetFiles().ToList());

            LoadFeatureMappingFromXml();
        }
Example #4
0
        /// <summary>
        /// Builds a web driver of the specified type.
        /// </summary>
        /// <param name="driverType">The type of browser the driver represents.</param>
        /// <returns></returns>
        public IWebDriver Build(BrowserType driverType, TestSuiteConfiguration testSuiteConfiguration)
        {
            DriverManager driverManager = new DriverManager();

            IWebDriver driver = null;

            switch (driverType)
            {
            case BrowserType.Chrome:
                driverManager.SetUpDriver(new ChromeConfig());
                driver = new ChromeDriver(new ChromeOptions());
                break;

            case BrowserType.IE:
                driverManager.SetUpDriver(new InternetExplorerConfig());
                driver = new InternetExplorerDriver(new InternetExplorerOptions());
                break;

            case BrowserType.Firefox:
                driverManager.SetUpDriver(new FirefoxConfig());
                driver = new FirefoxDriver(new FirefoxOptions());
                break;

            case BrowserType.Opera:
                driverManager.SetUpDriver(new OperaConfig());
                driver = new OperaDriver(new OperaOptions());
                break;

            default:
                break;
            }

            if (driver != null)
            {
                //This waits for the page to load.
                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(testSuiteConfiguration.ElementLoadWaitTimeInSeconds);
                if (ConfigurationManager.Current.RunBrowserInFullScreenMode)
                {
                    driver.MakeFullScreen();
                }
            }

            return(driver);
        }
        private IConfiguration GetConfigurationInternal(int id, TestSuiteConfiguration testSuiteConfiguration)
        {
            if (!ConfigurationPool.ContainsKey(id))
            {
                if (testSuiteConfiguration == null)
                {
                    using var instance = ScopedServiceFactory.GetInstance();

                    var pool = instance.ScopedServiceInstance;

                    var repo = pool.Get <TestSuiteConfiguration>();

                    testSuiteConfiguration = repo.Get(q => q.Where(i => i.Id == id)).First();
                }

                var configuration = Configuration.Open(testSuiteConfiguration, GetTestSuite(testSuiteConfiguration.TestSuiteId), StoragePool);
                ConfigurationPool.AddOrUpdate(id, _ => configuration, (_, _) => configuration);
            }

            return(ConfigurationPool[id]);
        }
        public int CreateConfiguration(string name, int testSuiteId, string description)
        {
            var tesSuite = GetTestSuite(testSuiteId);

            using var instance = ScopedServiceFactory.GetInstance();

            var pool = instance.ScopedServiceInstance;

            var repo = pool.Get <TestSuiteConfiguration>();

            var testSuiteConfiguration = new TestSuiteConfiguration
            {
                Name        = name,
                TestSuiteId = testSuiteId,
                Description = description,
            };

            repo.Insert(testSuiteConfiguration);

            pool.Save().Wait();

            int id = testSuiteConfiguration.Id;

            try
            {
                var configuration = Configuration.Create(testSuiteConfiguration, tesSuite, StoragePool);
                repo.Update(testSuiteConfiguration);
                ConfigurationPool.AddOrUpdate(id, _ => configuration, (_, _) => configuration);
            }
            catch
            {
                repo.Remove(testSuiteConfiguration);
                throw;
            }
            finally
            {
                pool.Save().Wait();
            }
            return(id);
        }