Ejemplo n.º 1
0
        public ContainerContext GetContainerContext()
        {
            if (_containerContext == null || !_containerContext.IsActive)
                _containerContext = new ContainerContext(this);

            return _containerContext;
        }
Ejemplo n.º 2
0
 public ContainerContext(ContainerBasePage container, ContainerContext parentContext = null)
 {
     _containingElement = container.Container; // the iframe
     _containerPage = container;
     _containerType = container.Type;
     _containerSwitchers = new Dictionary<ContainerType, Action<IWebDriver>>() 
     { 
         { ContainerType.Frame,   driver =>
                                      {
                                          driver.SwitchTo().Frame(_containingElement.Element); Log.Info(string.Format("Switched to Frame {0}", _containingElement.Identifier));
                                      }},
         { ContainerType.Alert,   driver => driver.SwitchTo().Alert()},
         { ContainerType.Window,  driver => driver.SwitchTo().Window(_containerPage.NewestWindowHandle)},
         { ContainerType.Element, driver => driver.SwitchTo().ActiveElement() }
     };
     _containerRestorers = new Dictionary<ContainerType, Action<IWebDriver>>() 
     { 
         { ContainerType.Frame, driver =>
             {
                 if (HasParentContext(parentContext))
                     SwitchToParentContext(parentContext);
                 else
                     SwitchToDefaultContent(driver);
             }
         },
         { ContainerType.Alert,   driver => { driver.SwitchTo().DefaultContent(); Log.Info("Switched to DefaultContent"); }}, //?
         { ContainerType.Window,  driver => driver.SwitchTo().Window(_containerPage.LastKnownWindowHandle)},
         { ContainerType.Element, driver => driver.SwitchTo().ActiveElement() }  //?
     };
     Switch();
 }
Ejemplo n.º 3
0
 private void InitContainerContext()
 {
     if (_containerContext == null || !_containerContext.IsActive)
         _containerContext = new ContainerContext(this);
 }
Ejemplo n.º 4
0
 private void SwitchToParentContext(ContainerContext parentContext)
 {
     parentContext.Switch();
     Log.Info("Switched to parentContext");
 }
Ejemplo n.º 5
0
 private bool HasParentContext(ContainerContext parentContext)
 {
     return parentContext != null;
 }