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(); }
/// <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); }