public LaunchAlternateEngagement(Context context)
            : base(context)
        {
            DOMActivatorElement.OnNavigateItemDelegate simpleOnOpeningItem = (s, e) =>
            {
                LaunchMenuActivity(() => Driver.FindElements(By.CssSelector("#primaryHeaderView button")).FirstOrDefault(el => el.GetAttribute("aria-label").ToLower().Contains("open the app launcher")));
                Delay();
            };
            DOMActivatorElement.OnNavigateItemDelegate simpleOnClosingItem = (s, e) =>
            {
                LaunchMenuActivity(() => Driver.FindElements(By.CssSelector("#primaryHeaderView button")).FirstOrDefault(el => el.GetAttribute("aria-label").ToLower().Contains("open the app launcher")));
                Delay();
                Driver.FirstOrDefault(By.CssSelector("#O365_AppTile_ShellMail > span")).Click();
            };

            AlternateEngamentActivities["People"].OnOpeningItem += simpleOnOpeningItem;

            AlternateEngamentActivities["Calendar"].OnOpeningItem += simpleOnOpeningItem;

            AlternateEngamentActivities["People"].OnClosingItem += simpleOnClosingItem;

            AlternateEngamentActivities["Calendar"].OnClosingItem += (s, e) =>
            {
                Delay();
                simpleOnClosingItem(s, e);
            };

        }
 public PersonalizedFolderCreate(Context context, IWebElement listItem, IActivityManager manager)
     : base(context, listItem, manager)
 {
     if (_manager == null)
     {
         throw new ArgumentNullException("IActivityManager");
     }
 }
        public PersonalizedFolderMoveFromInbox(Context context, IWebElement listItem, IActivityManager manager)
            : base(context, listItem, manager)
        {
            if (_manager == null)
            {
                throw new ArgumentNullException("IActivityManager");
            }

            IsExternalRequest = false;
            CurrentItemIndex = 0;
        }
Exemple #4
0
        protected BaseEmailEngager(Context context, IWebElement listItem, IActivityManager manager = null)
            : base(context)
        {
            ListItem = listItem;

            if (ListItem != null)
            {
                DomainName = GetDomainName(listItem);
                CurrentDomain = context.GetDomain(DomainName);
            }

            _manager = manager;
        }
        public LaunchAlternateEngagement(Context context)
            : base(context)
        {
            AlternateEngamentActivities["Help"].OnClosingItem+= (s, e) => 
            {
                var link = e.Driver.FirstOrDefault(By.CssSelector("#yucs-help_button"));

                if (link == null || !link.IsDisplayed())
                {
                    e.Logger.Error("Couldn't find DOM Element to Launch Activity: {0}", (s as DOMActivatorElement).Key);
                    return;
                }

                link.Click();
            };
        }
Exemple #6
0
 protected EmailEngager(Context context, IWebElement listItem, IActivityManager manager = null)
     : base(context, listItem, manager)
 {
 }
Exemple #7
0
 public DeleteEmail(Context context) : base(context)
 {
 }
Exemple #8
0
 public ShowImages(Context context) : base(context)
 {
 }
        protected BaseMessagesProvider(Context context)
            : base(context)
        {

        }
Exemple #10
0
 public FlagAsSpam(Context context) : base(context)
 {
 }
Exemple #11
0
 public Login(Context context)
     : base(context)
 {
 }
Exemple #12
0
 public GoToNextPage(Context context) : base(context)
 {
 }
Exemple #13
0
 public ReadingPane(Context context) : base(context)
 {
 }
Exemple #14
0
 public PreviewPane(Context context) : base(context)
 {
 }
Exemple #15
0
 public LaunchAdvertisement(Context context)
     : base(context)
 {
 }
Exemple #16
0
 public ReplyEmail(Context context) : base(context)
 {
 }
 public EnableFromDisplayInList(Context context) : base(context)
 {
 }
Exemple #18
0
 public ClickLink(Context context) : base(context)
 {
 }
Exemple #19
0
 public MoveToInbox(Context context)
     : base(context)
 {
 }
Exemple #20
0
        public JunkEnumerator(Context context)
            : base(context)
        {

        }
Exemple #21
0
 public AddSenderAsContact(Context context) : base(context)
 {
 }
 protected override Session DoCreateSession(Context context)
 {
     return new HotmailSession(context);
 }
Exemple #23
0
 public ShowContent(Context context)
     : base(context)
 {
 }
Exemple #24
0
 public SendMessage(Context context) : base(context)
 {
 }
Exemple #25
0
 public YahooSession(Context context)
     : base(context)
 {
 }
Exemple #26
0
        public InboxEnumerator(Context context)
            : base(context)
        {

        }
Exemple #27
0
 public ForwardEmail(Context context)
     : base(context)
 {
 }
Exemple #28
0
 protected abstract Session DoCreateSession(Context context);
Exemple #29
0
 public EngageSkype(Context context)
     : base(context)
 {
 }
Exemple #30
0
        protected virtual Session CreateSession(GlobalSettings settings)
        {
            using (var session = NhibernateSessionFactory.OpenSession())
            {
                var account = GetNextAccontToProcess(session, settings.MinHoursBetweenSessionsPerAccount, DateTime.Now.AddHours(settings.LastMailedSelectionHours * -1));

                if (account == null)
                {
                    return null;
                }

                var domains = LoadDomains(session);
                var engagmentSession = CreateNewEngagementSession(session, account);
                var accountFolderNames = GetAccountFolderNames(session, account.Id);

                var driver = WebDriverExtensions.CreateWithDefaultProperties();
                var context = new Context(settings, account, driver, domains, NhibernateSessionFactory, _provider, accountFolderNames, engagmentSession, _serverStatusService);

                var result = DoCreateSession(context);

                if (result != null)
                {
                    result.SetUserNotifier(_notifier);
                }

                return result;
            }
        }