public async Task <TResult> ExecuteWithRetry <TResult>(IBrowserFactory browserFactory, Func <IBrowser, Task <TResult> > actions) { using (var browser = browserFactory.GetInstance()) { return(await actions(browser).ConfigureAwait(false)); } }
/// <summary> /// Initializes a new instance of the <see cref="BrowserManager" /> class. /// </summary> /// <param name="factory">The browser factory implementation to use.</param> /// <param name="browserMaxInstances">A dictionary of the maximum instances per <see cref="BrowserType"/> to be maintained in the pool.</param> internal BrowserManager(IBrowserFactory factory, IDictionary <BrowserType, int> browserMaxInstances) { Require.NotNull(() => factory); Require.NotNull(() => browserMaxInstances); var browserCount = browserMaxInstances.Count; Require.GreaterThanOrEqualTo(() => browserCount, 1); this.factory = factory; var tempDictionary = new Dictionary <BrowserType, BrowserPool>(); foreach (var type in browserMaxInstances.Keys) { var maxInstances = browserMaxInstances[type]; Require.GreaterThanOrEqualTo(() => maxInstances, 1); tempDictionary[type] = new BrowserPool(type, maxInstances); } this.browserPools = new ReadOnlyDictionary <BrowserType, BrowserPool>(tempDictionary); this.syncLock = new SemaphoreSlim(1); // block on browser creation - we don't want to return from the ctor with the object state in flux this.CreateBrowserInstances(); }
/// <summary> /// Creates an instance of a Token SDK. /// </summary> /// <param name = "channel">GRPC channel</param> /// <param name="cryptoEngineFactory">crypto factory instance</param> /// <param name="tokenCluster">token cluster</param> /// <param name="browserFactory">browser factory</param> public TokenClient( ManagedChannel channel, ICryptoEngineFactory cryptoEngineFactory, TokenCluster tokenCluster, IBrowserFactory browserFactory) : base(channel, cryptoEngineFactory, tokenCluster) { this.browserFactory = browserFactory; }
public TwilioVoiceController(IUserService userService, IBibleMetadataService bibleMetadataService, IContentService contentService, IBrowserFactory browserFactory, ITimeService timeService) { _userService = userService; _bibleMetadataService = bibleMetadataService; _contentService = contentService; _browserFactory = browserFactory; _timeService = timeService; }
public BrowserPool( IBrowserFactory browserFactory, IOptions <GeneralSettings> generalOptions ) { this.browserFactory = browserFactory; degreeOfParallelism = generalOptions.Value.MaximumDegreeOfParallelism; browsers = new List <IBrowser>(degreeOfParallelism); semaphore = new Semaphore(degreeOfParallelism, degreeOfParallelism); }
public MsalInteractiveRequest( WebRequestManager webRequestManager, CacheManager cacheManager, IBrowserFactory browserFactory, AuthenticationParameters authParameters) { _webRequestManager = webRequestManager; _cacheManager = cacheManager; _browserFactory = browserFactory; _authParameters = authParameters; }
public Engine(IImageComparer imageComparer, IConfigurationStore configurationStore, IUserConfigStore userConfigStore, ILogger <Engine> logger, IBrowserFactory browserFactory, IDirectoryUtils directoryUtils, IRazorRenderer razorRenderer) { _imageComparer = imageComparer; _configurationStore = configurationStore; _userConfigStore = userConfigStore; _logger = logger; _browserFactory = browserFactory; _directoryUtils = directoryUtils; _razorRenderer = razorRenderer; }
public BrowserPoolArbitrator(IBrowserPoolAdvanced browserPool, IBrowserFactory factory, IDateTimeProvider dateTimeProvider, IOptions <BrowserPoolSettings> poolSettings, ILogger <BrowserPoolArbitrator> logger) { _browserPool = browserPool; _factory = factory; _dateTimeProvider = dateTimeProvider; _poolSettings = poolSettings; _logger = logger; }
public void SetUp() { var config = ContainerConfig.Configure(); using (var scope = config.BeginLifetimeScope()) { _testSettings = scope.Resolve <ApplicationConfiguration>().GetApplicationConfiguration <TestSettings>(); _log = scope.Resolve <ILog>(); _browser = scope.Resolve <IBrowserFactory>(new TypedParameter(typeof(ILog), _log)); _browser.Start(_testSettings.Browser); _pages = scope.Resolve <IUoW>(new NamedParameter("_driver", _browser.GetDriver()), new NamedParameter("_testSettings", _testSettings), new NamedParameter("_log", _log)); } }
public MovieBuilderPool() { this.browserFactory = DependencyResolver.Resolve <IBrowserFactory>(); logger = LoggerFactory.Create("MovieBuilderPool"); availableWorkers = new ConcurrentQueue <IBrowser>(); runningPages = new List <RunningPage>(); enqueuedPages = new ConcurrentQueue <Page>(); for (int i = 0; i < MaxRunningPages; i++) { availableWorkers.Enqueue(browserFactory.Create()); } }
internal PublicClientApplication( IHttpManager httpManager, IStorageManager storageManager, IBrowserFactory browserFactory, IGuidService guidService, ITelemetryManager telemetryManager, EnvironmentMetadata environmentMetadata, MsalClientConfiguration msalClientConfiguration) { _platformProxy = PlatformProxyFactory.GetPlatformProxy(); _httpManager = httpManager ?? new HttpManager(new HttpClientFactory(), msalClientConfiguration); _storageManager = storageManager ?? _platformProxy.CreateStorageManager(); _browserFactory = browserFactory ?? _platformProxy.CreateBrowserFactory(); _guidService = guidService ?? new GuidService(); _telemetryManager = telemetryManager ?? new TelemetryManager(msalClientConfiguration); _environmentMetadata = environmentMetadata ?? new EnvironmentMetadata(); _msalClientConfiguration = msalClientConfiguration; }
public Task <TResult> ExecuteWithRetry <TResult>(IBrowserFactory browserFactory, Func <IBrowser, Task <TResult> > actions) { return(Policy .Handle <Exception>() .RetryAsync(3) .ExecuteAsync(async() => { try { using (var browser = browserFactory.GetInstance()) { return await actions(browser).ConfigureAwait(false); } } catch (Exception ex) { logger.Error(ex, "Browser actions failed."); throw; } })); }
public OpenBrowser(IBrowserFactory factory, IOptions <RpaWebOptions> options) { _factory = factory; _options = options.Value; }
public MainWindow(IBrowserFactory browserFactory) { _browserFactory = browserFactory; InitializeComponent(); }
/// <summary> /// ctor /// </summary> public BrowserManager() { _browsers = new List<IWebDriver>(); _localBrowserFactory = new LocalBrowserFactory(); _remoteBrowserFactory = new RemoteBrowserFactory(); }
public SkyscannerFlightPriceDetection(IBrowserFactory browserFactory, IBrowserActionsRetry browserActionsRetry) { this.browserFactory = browserFactory; this.browserActionsRetry = browserActionsRetry; }
public AuthenticationOperations(IConfigurations configurations, IBrowserFactory browserFactory) { this.configurations = configurations; this.browserFactory = browserFactory; }
/// <summary> /// Sets the browser factory to be used with the SDK. /// </summary> /// <param name="browserFactory">browser factory</param> /// <returns>this builder instance</returns> public Builder WithBrowserFactory(IBrowserFactory browserFactory) { this.browserFactory = browserFactory; return(this); }
private const int DegreeOfParallelism = 1; // todo: move to configuration public BrowserPool( IBrowserFactory browserFactory ) { this.browserFactory = browserFactory; }
/// <summary> /// ctor /// </summary> public BrowserManager() { _browsers = new List <IWebDriver>(); _localBrowserFactory = new LocalBrowserFactory(); _remoteBrowserFactory = new RemoteBrowserFactory(); }
public WebActivity(IServiceProvider sp) { _factory = sp.GetRequiredService <IBrowserFactory>(); _options = sp.GetRequiredService <IOptions <RpaWebOptions> >().Value; }
public void BeforeAllTests() { BrowserFactory = new WebDriverFactory(browser, startPage); }
public DelayedBrowserFactory(IBrowserFactory wrappedFactory, ILogger logger) { this.wrappedFactory = wrappedFactory; this.logger = logger.ForContext <DelayedBrowserFactory>(); }