public Scope ClickLink(string locator, PredicateQuery until, Options options = null) { TryUntil(WaitThenClickLink(locator, Merge(options)), until, Merge(options)); return(this); }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, TimeSpan overrallTimeout, TimeSpan waitBeforeRetry) { var outcome = Robustly(new ActionSatisfiesPredicateQuery(tryThis, until, overrallTimeout, until.RetryInterval, waitBeforeRetry, this)); if (!outcome) { throw new MissingHtmlException("Timeout from TryUntil: the page never reached the required state."); } }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, Options options) { var outcome = Synchronise(new ActionSatisfiesPredicateQuery(tryThis, until, options, this)); if (!outcome) { throw new MissingHtmlException("Timeout from TryUntil: the page never reached the required state."); } }
private async Task <IQuery <ContentItem> > FilterWhereArguments( IQuery <ContentItem, ContentItemIndex> query, JObject where, ResolveFieldContext fieldContext, ISession session, GraphQLContext context) { if (where == null) { return(query); } string defaultTableAlias = query.GetTypeAlias(typeof(ContentItemIndex)); var transaction = await session.DemandAsync(); IPredicateQuery predicateQuery = new PredicateQuery( dialect: session.Store.Configuration.SqlDialect, shellSettings: context.ServiceProvider.GetService <ShellSettings>(), propertyProviders: context.ServiceProvider.GetServices <IIndexPropertyProvider>()); // Create the default table alias predicateQuery.CreateAlias("", nameof(ContentItemIndex)); predicateQuery.CreateTableAlias(nameof(ContentItemIndex), defaultTableAlias); // Add all provided table alias to the current predicate query var providers = context.ServiceProvider.GetServices <IIndexAliasProvider>(); var indexes = new Dictionary <string, IndexAlias>(StringComparer.OrdinalIgnoreCase); var indexAliases = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); foreach (var aliasProvider in providers) { foreach (var alias in aliasProvider.GetAliases()) { predicateQuery.CreateAlias(alias.Alias, alias.Index); indexAliases.Add(alias.Alias, alias.Alias); if (!indexes.ContainsKey(alias.Index)) { indexes.Add(alias.Index, alias); } } } var expressions = Expression.Conjunction(); BuildWhereExpressions(where, expressions, null, fieldContext, indexAliases); expressions.SearchUsedAlias(predicateQuery); // Add all Indexes that were used in the predicate query IQuery <ContentItem> contentQuery = query; foreach (var usedAlias in predicateQuery.GetUsedAliases()) { if (indexes.ContainsKey(usedAlias)) { contentQuery = contentQuery.With(indexes[usedAlias].IndexType); var tableAlias = query.GetTypeAlias(indexes[usedAlias].IndexType); predicateQuery.CreateTableAlias(indexes[usedAlias].Index, tableAlias); } } var whereSqlClause = expressions.ToSqlString(predicateQuery); query = query.Where(whereSqlClause); // Add all parameters that were used in the predicate query foreach (var parameter in predicateQuery.Parameters) { query = query.WithParameter(parameter.Key, parameter.Value); } return(contentQuery); }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, TimeSpan overallTimeout, TimeSpan waitBeforeRetry) { tryThis.Act(); }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, Options options) { tryThis.Act(); }
public Scope ClickLink(string locator, PredicateQuery until, TimeSpan waitBeforeRetry, Options options = null) { options = SetOptions(options); TryUntil(WaitThenClickLink(locator, options), until, waitBeforeRetry, options); return(this); }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, TimeSpan waitBeforeRetry, Options options = null) { robustWrapper.TryUntil(tryThis, until, SetOptions(options).Timeout, waitBeforeRetry); }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, Options options) { DeferredTryUntils.Add(new TryUntilArgs(tryThis, until, options)); }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, TimeSpan overallTimeout, TimeSpan waitBeforeRetry) { DeferredTryUntils.Add(new TryUntilArgs(tryThis, until, overallTimeout, waitBeforeRetry)); }
public void TryUntil(BrowserAction tryThis, PredicateQuery until, Options options = null) { timingStrategy.TryUntil(tryThis, until, Merge(options)); }