コード例 #1
0
 internal WaitThenClick(Driver driver, Options options, Waiter waiter, ElementFinder elementFinder)
     : base(driver, options)
 {
     this.options = options;
     this.waiter = waiter;
     this.elementFinder = elementFinder;
 }
コード例 #2
0
 public ElementFound ResolveQuery(ElementFinder elementFinder)
 {
     var all = elementFinder.Find(elementFinder.Options).ToArray();
     if (!all.Any())
         throw elementFinder.GetMissingException();
     
     return all.First();
 }
コード例 #3
0
        private static ElementFound[] PreferExect(ElementFinder elementFinder)
        {
            var results = Find(elementFinder, Options.Exact);
            if (results.Any() || !elementFinder.SupportsSubstringTextMatching)
                return results;

            return Find(elementFinder, Options.Substring);
        }
コード例 #4
0
        private static void Finds_elements_among_multiple_scopes(ElementFinder elementFinder1, ElementFinder elementFinder2)
        {
            var iframeOne = new BrowserWindow(DefaultSessionConfiguration, elementFinder1, Driver, null, null, null, DisambiguationStrategy);
            var iframeTwo = new BrowserWindow(DefaultSessionConfiguration, elementFinder2, Driver, null, null, null, DisambiguationStrategy);

            Button("scoped button", iframeOne, DefaultOptions).Id.should_be("iframe1ButtonId");
            Button("scoped button", iframeTwo, DefaultOptions).Id.should_be("iframe2ButtonId");
        }
コード例 #5
0
ファイル: WaitThenClick.cs プロジェクト: SaintGimp/coypu
 internal WaitThenClick(Driver driver, Options options, Waiter waiter, ElementFinder elementFinder, DisambiguationStrategy disambiguationStrategy)
     : base(driver, options)
 {
     waitBeforeClick = options.WaitBeforeClick;
     this.waiter = waiter;
     this.elementFinder = elementFinder;
     this.disambiguationStrategy = disambiguationStrategy;
 }
コード例 #6
0
        private static void Finds_elements_among_multiple_scopes(ElementFinder elementFinder1, ElementFinder elementFinder2)
        {
            var iframeOne = new DriverScope(new SessionConfiguration(), elementFinder1, Driver,
                                            null, null, null);
            var iframeTwo = new DriverScope(new SessionConfiguration(), elementFinder2, Driver,
                                            null, null, null);

            Driver.FindButton("scoped button", iframeOne).Id.should_be("iframe1ButtonId");
            Driver.FindButton("scoped button", iframeTwo).Id.should_be("iframe2ButtonId");
        }
コード例 #7
0
        public ElementFound ResolveQuery(ElementFinder elementFinder)
        {
            ElementFound[] results;

            if (elementFinder.Options.TextPrecision == TextPrecision.PreferExact)
                results = PreferExect(elementFinder);
            else
                results = Find(elementFinder);

            if (elementFinder.Options.Match == Match.Single && results.Length > 1)
                throw new AmbiguousException(elementFinder.Options.BuildAmbiguousMessage(elementFinder.QueryDescription, results.Length));

            if (!results.Any())
                throw elementFinder.GetMissingException();

            return results.First();
        }
コード例 #8
0
ファイル: DeferredElementScope.cs プロジェクト: hnhan/coypu
 internal ElementScope(ElementFinder elementFinder, DriverScope outerScope)
     : base(elementFinder, outerScope)
 {
 }
コード例 #9
0
 private static ElementFound[] Find(ElementFinder elementFinder, Options preferredOptions = null)
 {
     return elementFinder.Find((Options.Merge(preferredOptions, elementFinder.Options))).ToArray();
 }
コード例 #10
0
 protected static Element FindSingle(ElementFinder finder)
 {
     return(DisambiguationStrategy.ResolveQuery(finder));
 }
コード例 #11
0
 public ElementFound ResolveQuery(ElementFinder elementFinder)
 {
     return elementFinder.Find(elementFinder.Options).FirstOrDefault();
 }
コード例 #12
0
ファイル: ElementScope.cs プロジェクト: afinzel/coypu
 internal DeferredElementScope(ElementFinder elementFinder, DriverScope outer)
     : base(elementFinder, outer)
 {
 }
コード例 #13
0
ファイル: BrowserWindow.cs プロジェクト: jonwingfield/coypu
 internal BrowserWindow(SessionConfiguration SessionConfiguration, ElementFinder elementFinder, Driver driver, RobustWrapper robustWrapper, Waiter waiter, UrlBuilder urlBuilder)
     : base(SessionConfiguration, elementFinder, driver, robustWrapper, waiter, urlBuilder)
 {
 }
コード例 #14
0
 private static Element[] Find(ElementFinder elementFinder, Options preferredOptions = null)
 {
     return(elementFinder.Find((Options.Merge(preferredOptions, elementFinder.Options))).ToArray());
 }
コード例 #15
0
ファイル: BrowserWindow.cs プロジェクト: drauch/coypu
 internal BrowserWindow(ElementFinder elementFinder, DriverScope outerScope) : base(elementFinder, outerScope)
 {
 }
コード例 #16
0
ファイル: BrowserWindow.cs プロジェクト: drauch/coypu
 internal BrowserWindow(SessionConfiguration SessionConfiguration, ElementFinder elementFinder, Driver driver, TimingStrategy timingStrategy, Waiter waiter, UrlBuilder urlBuilder, DisambiguationStrategy disambiguationStrategy) 
     : base(SessionConfiguration, elementFinder, driver, timingStrategy, waiter, urlBuilder, disambiguationStrategy)
 {
 }
コード例 #17
0
ファイル: DriverSpecs.cs プロジェクト: Br3ttl3y/coypu
 protected static ElementFound FindSingle(ElementFinder finder)
 {
     return DisambiguationStrategy.ResolveQuery(finder);
 }
コード例 #18
0
ファイル: RobustElementScope.cs プロジェクト: afinzel/coypu
 internal RobustElementScope(ElementFinder elementFinder, DriverScope outerScope, Options options)
     : base(elementFinder, outerScope)
 {
     this.options = options;
 }
コード例 #19
0
 internal SynchronisedElementScope(ElementFinder elementFinder, DriverScope outerScope, Options options)
     : base(elementFinder, outerScope)
 {
     this.options = options;
 }