コード例 #1
0
        public void Add <T>(WebElementResolver resolver) where T : PageControl
        {
            var type = typeof(T);

            if (_resolvers.ContainsKey(type))
            {
                string message = $"Can't register WebElementResolver. Type {type.Name} is already regitered.";
                throw new InvalidOperationException(message);
            }
            _resolvers.Add(type, resolver);
        }
コード例 #2
0
 public IBrowserConfiguration WithWebElementResolver <T>(WebElementResolver resolver) where T : PageControl
 {
     Guard.NotNull(nameof(resolver), resolver);
     _elementResolvers.Add <T>(resolver);
     return(this);
 }
コード例 #3
0
 public IBrowserConfiguration WithWebElementResolver(WebElementResolver resolver)
 {
     Guard.NotNull(nameof(resolver), resolver);
     _elementResolvers.SetDefault(resolver);
     return(this);
 }
コード例 #4
0
 public void SetDefault(WebElementResolver resolver)
 {
     _default = resolver;
 }
コード例 #5
0
 public WebElementResolverRegistry()
 {
     _resolvers = new Dictionary <Type, WebElementResolver>();
     _default   = (context, provider) => provider(context);
 }