/// <summary>
        /// Edit widget by name
        /// </summary>
        /// <param name="widgetName">The widget name</param>
        /// <param name="dropZoneIndex">The drop zone index</param>
        public void EditWidget(string widgetName, int dropZoneIndex = 0, bool isMediaWidgetEdited = false)
        {
            ActiveBrowser.WaitUntilReady();
            ActiveBrowser.RefreshDomTree();
            ActiveBrowser.WaitUntilReady();
            var widgetHeader = ActiveBrowser
                               .Find
                               .AllByCustom <HtmlDiv>(d => d.CssClass.StartsWith("rdTitleBar") && d.ChildNodes.First().InnerText.Equals(widgetName))[dropZoneIndex]
                               .AssertIsPresent(widgetName);

            widgetHeader.ScrollToVisible();
            HtmlAnchor editLink = widgetHeader.Find
                                  .ByCustom <HtmlAnchor>(a => a.TagName == "a" && a.Title.Equals("Edit"))
                                  .AssertIsPresent("edit link");

            editLink.Focus();
            editLink.Click();
            ActiveBrowser.WaitUntilReady();
            ActiveBrowser.WaitForAsyncOperations();
            ActiveBrowser.WaitForAjax(TimeOut);
            ActiveBrowser.RefreshDomTree();

            if (!isMediaWidgetEdited)
            {
                HtmlFindExpression expression = new HtmlFindExpression("class=modal-title", "InnerText=" + widgetName);
                ActiveBrowser.WaitForElement(expression, TimeOut, false);
                Manager.Current.Wait.For(this.WaitForSaveButton, TimeOut);
            }
        }
        public void TPBlogvalidationActivityStream(string BlogTitle)
        {
            Thread.Sleep(7000);
            myManager.ActiveBrowser.WaitUntilReady();
            myManager.ActiveBrowser.RefreshDomTree();

            CreateBlog objNewblog = new CreateBlog(myManager);

            //Identify the whole activity feed
            HtmlDiv FirstBlog = objNewblog.TPActivityStream.As <HtmlDiv>();

            System.Collections.ObjectModel.ReadOnlyCollection <HtmlAnchor> links = FirstBlog.Find.AllByTagName <HtmlAnchor>("a");
            HtmlAnchor blogURL = FirstBlog.Find.AllByTagName <HtmlAnchor>("a")[1];

            blogURL.Click();

            Thread.Sleep(6000);
            myManager.ActiveBrowser.WaitUntilReady();
            myManager.ActiveBrowser.RefreshDomTree();

            //Identify the blog title
            Element ValidateName = objNewblog.TPBlogTitleArchive;

            Assert.AreEqual(ValidateName.InnerText, BlogTitle, "BLOG VALIDATION FAILED");
        }
        /// <summary>
        /// Expands the narrow selection by arrow.
        /// </summary>
        public void ExpandNarrowSelectionByArrow()
        {
            HtmlAnchor arrow = this.EM.Widgets.WidgetDesignerContentScreen.NarrowSelectionByArrow
                               .AssertIsPresent("radio button");

            arrow.Click();
        }
Exemple #4
0
        /// <summary>
        /// Provide access to cancel button
        /// </summary>
        public void CancelButton()
        {
            HtmlAnchor cancelButton = EM.GenericContent.ContentBlockWidget.CancelButton
                                      .AssertIsPresent("Cancel button");

            cancelButton.Click();
        }
Exemple #5
0
        /// Selects the cancel.
        /// </summary>
        public void SelectCancel()
        {
            HtmlAnchor cancelButton = EM.Forms.FormsBackend.CancelButton
                                      .AssertIsPresent("Cancel button");

            cancelButton.Click();
        }
        /// <summary>
        /// Opens the toggle navigation menu in foundation template
        /// </summary>
        public void OpenToggleMenuForFoundationTemplate()
        {
            HtmlAnchor toggleButton = this.EM.Navigation.NavigationWidgetFrontend.FoundationMenuLink
                                      .AssertIsPresent <HtmlAnchor>("Menu Button");

            toggleButton.Click();
        }
        /// <summary>
        /// Selects "an extra option" (option from the 'More' menu)
        /// for a given widget
        /// </summary>
        /// <param name="extraOption">The option to be clicked</param>
        /// <param name="dropZoneIndex">The dropZone(location) of the widget</param>
        public void SelectExtraOptionForWidget(string extraOption, int dropZoneIndex = 0)
        {
            ActiveBrowser.WaitForAsyncOperations();
            Manager.Current.ActiveBrowser.RefreshDomTree();
            var widgetHeader = Manager.Current
                               .ActiveBrowser
                               .Find
                               .AllByCustom <HtmlDiv>(d => d.CssClass.StartsWith("rdTitleBar"))[dropZoneIndex]
                               .AssertIsPresent("Widget at position: " + dropZoneIndex);

            widgetHeader.ScrollToVisible();
            HtmlAnchor moreLink = widgetHeader.Find
                                  .ByCustom <HtmlAnchor>(a => a.TagName == "a" && a.Title.Equals("More"))
                                  .AssertIsPresent("more link");

            moreLink.Focus();
            moreLink.Click();
            ActiveBrowser.WaitForAsyncOperations();
            Manager.Current.ActiveBrowser.RefreshDomTree();
            HtmlDiv menuDiv = ActiveBrowser.Find
                              .ByExpression <HtmlDiv>("tagName=div", "id=RadContextMenu1_detached")
                              .AssertIsPresent <HtmlDiv>("More options menu");

            menuDiv.Find
            .ByCustom <HtmlSpan>(x => x.InnerText.Contains(extraOption))
            .AssertIsPresent <HtmlSpan>("option " + extraOption)
            .Click();
        }
        public void CreateBlog(string blogName)
        {
            ActiveBrowser.RefreshDomTree();
            ActiveBrowser.WaitUntilReady();
            BAT.Wrappers().Backend().Blogs().BlogsWrapper().ClickCreateBlogButton();
            ActiveBrowser.RefreshDomTree();
            ActiveBrowser.WaitUntilReady();
            var frame = Manager.Current.ActiveBrowser.WaitForFrame(new FrameInfo()
            {
                Name = "create"
            });

            Assert.IsNotNull(frame, "There is no create frame");
            frame.WaitForAsyncOperations();
            frame.WaitForAsyncRequests();
            var inp = frame.Find.ByIdEndingWith <HtmlInputText>("_textBox_write_0");

            if (inp != null)
            {
                inp.SimulateTextTyping(blogName);
            }

            HtmlAnchor publishBtn = frame.Find.ByExpression <HtmlAnchor>("class=sfLinkBtn sfSave").AssertIsPresent("Publish button");

            publishBtn.Click();
            ActiveBrowser.RefreshDomTree();
        }
        public void EditRadioButtonControlOfDynamicContentViaInlineEditing(string newValue, string controlName)
        {
            this.EditField(controlName);

            Manager.Current.Wait.For(this.WaitForEditButton, Manager.Current.Settings.ClientReadyTimeout);
            HtmlAnchor editButton = ActiveBrowser.Find.ByCustom <HtmlAnchor>(e => e.IsVisible() && e.CssClass.Equals("sfShowInlineEditDlgLnk"));

            editButton.Click();
            Manager.Current.Wait.For(this.WaitForChoicesArea, Manager.Current.Settings.ClientReadyTimeout);
            HtmlDiv choicesArea = ActiveBrowser.Find.ByExpression <HtmlDiv>("tagname=div", "data-template=radioButtonsViewTemplate");

            List <HtmlDiv> listItem = choicesArea.Find.AllByExpression <HtmlDiv>("tagname=div").ToList <HtmlDiv>();
            HtmlDiv        toCheck  = null;

            for (int i = 0; i < listItem.Count; i++)
            {
                var choice = listItem[i].InnerText.Contains(newValue);

                if (choice == true)
                {
                    toCheck = listItem[i];
                }
            }

            var choices = toCheck.Find.ByExpression <HtmlInputRadioButton>("tagname=input");

            choices.Click();
            ActiveBrowser.WaitUntilReady();

            BAT.Wrappers().Frontend().InlineEditing().DynamicTypes().SelectDoneButtongWhenEditingChoices();
        }
        public void EditTagControlOfDynamicContentViaInlineEditing(string controlName, string tagName)
        {
            this.EditField(controlName);

            Manager.Current.Wait.For(this.WaitForEditButton, Manager.Current.Settings.ClientReadyTimeout);
            HtmlAnchor editButton = ActiveBrowser.Find.ByCustom <HtmlAnchor>(e => e.IsVisible() && e.CssClass.Equals("sfShowInlineEditDlgLnk"));

            editButton.Click();

            HtmlDiv workArea = ActiveBrowser.Find
                               .ByCustom <HtmlDiv>(w => w.IsVisible() && w.CssClass.Equals("k-widget k-multiselect k-header"))
                               .AssertIsPresent("Edit tags dialog");

            HtmlInputText tagsInput = workArea.Find.ByCssClass <HtmlInputText>("k-input").AssertIsPresent("tags input");

            tagsInput.Click();
            tagsInput.SimulateTextTyping(tagName);
            tagsInput.MouseClick();

            HtmlListItem tag2 = ActiveBrowser.WaitForElementWithCssClass("k-item k-state-focused")
                                .As <HtmlListItem>().AssertIsPresent("tag2");

            tag2.Click();
            BAT.Wrappers().Frontend().InlineEditing().DynamicTypes().SelectDoneButtongWhenEditingChoices();
        }
Exemple #11
0
        public void DeleteSetting(string name)
        {
            if (this.Browser.Url != this.Url)
            {
                this.Navigate();
            }

            int settingsCount      = Pages <SettingsPage> .Instance.Map.SettingsGrid.DataItems.Count;
            int newSettingRowIndex = 0;

            for (int i = 0; i < settingsCount; i++)
            {
                bool correctRow = Pages <SettingsPage> .Instance.Map.SettingsGrid.DataItems[i][1].TextContent == name;
                if (correctRow)
                {
                    newSettingRowIndex = i;
                    break;
                }
            }

            HtmlAnchor deleteButton = Pages <SettingsPage> .Instance.Map.SettingsGrid.DataItems[newSettingRowIndex][6]
                                      .Find.AllByTagName <HtmlAnchor>("a").FirstOrDefault();
            AlertDialog confirmDeletionDialog = AlertDialog.CreateAlertDialog(Manager.Current.ActiveBrowser, DialogButton.OK);

            Manager.Current.DialogMonitor.AddDialog(confirmDeletionDialog);
            Manager.Current.DialogMonitor.Start();
            deleteButton.Click();
            confirmDeletionDialog.WaitUntilHandled();
            Manager.Current.DialogMonitor.Stop();
        }
        public void EditDropDownControlOfDynamicContentViaInlineEditing(string newValue, string controlName)
        {
            this.EditField(controlName);

            HtmlAnchor editButton = ActiveBrowser.Find.ByCustom <HtmlAnchor>(e => e.IsVisible() && e.CssClass.Equals("sfShowInlineEditDlgLnk"));

            editButton.Click();
            HtmlDiv choicesArea = ActiveBrowser.Find.ByCustom <HtmlDiv>(e => e.IsVisible() && e.CssClass.Equals("sfWindowBody"));

            List <HtmlListItem> listItem = choicesArea.Find.AllByExpression <HtmlListItem>("tagname=li").ToList <HtmlListItem>();
            HtmlListItem        toCheck  = null;

            for (int i = 0; i < listItem.Count; i++)
            {
                var choice = listItem[i].InnerText.Contains(newValue);

                if (choice == true)
                {
                    toCheck = listItem[i];
                }
            }

            var choices = toCheck.Find.ByExpression <HtmlInputCheckBox>("tagname=input");

            choices.Click();
            BAT.Wrappers().Frontend().InlineEditing().DynamicTypes().SelectDoneButtongWhenEditingChoices();
        }
        /// <summary>
        /// Selects the filter.
        /// </summary>
        /// <param name="filterName">Name of the filter.</param>
        public void SelectFilter(string filterName)
        {
            HtmlAnchor filter = ActiveBrowser.Find.ByExpression <HtmlAnchor>("tagName=a", "class=ng-binding", "InnerText=" + filterName).AssertIsPresent(filterName);

            filter.Click();
            ActiveBrowser.WaitForAsyncOperations();
            ActiveBrowser.RefreshDomTree();
        }
        /// <summary>
        /// Selects the folder from bread crumb.
        /// </summary>
        /// <param name="folderTitle">The folder title.</param>
        public void SelectFolderFromBreadCrumb(string folderTitle)
        {
            HtmlAnchor folder = ActiveBrowser.Find.ByExpression <HtmlAnchor>("class=ng-binding", "innertext=" + folderTitle).AssertIsPresent(folderTitle);

            folder.Click();
            ActiveBrowser.WaitForAsyncOperations();
            ActiveBrowser.RefreshDomTree();
        }
        /// <summary>
        /// Switches to upload mode.
        /// </summary>
        public void SwitchToUploadMode()
        {
            HtmlAnchor uploadImage = this.EM.Media.MediaSelectorScreen.UploadMediaFile.AssertIsPresent("upload image");

            uploadImage.Click();
            ActiveBrowser.WaitForAsyncOperations();
            ActiveBrowser.RefreshDomTree();
        }
Exemple #16
0
        /// <summary>
        /// Expands the categories and tags section.
        /// </summary>
        public void ExpandCategoriesAndTagsSection()
        {
            HtmlAnchor expandArrow = this.EM.Media.MediaUploadPropertiesScreen.CategoriesAndTagsArrow.AssertIsPresent("expand button");

            expandArrow.Click();
            ActiveBrowser.WaitForAsyncRequests();
            ActiveBrowser.RefreshDomTree();
        }
Exemple #17
0
        /// <summary>
        /// Removes the external URL.
        /// </summary>
        public void RemoveExternalUrl()
        {
            HtmlAnchor removeIcon = this.EM.Selectors.SelectorsScreen.RemoveExternalUrlsIcon.AssertIsPresent("remove icon");

            removeIcon.Click();
            ActiveBrowser.WaitForAsyncRequests();
            ActiveBrowser.RefreshDomTree();
        }
Exemple #18
0
        /// <summary>
        /// Clicks the advanced button.
        /// </summary>
        public void ClickAdvancedButton()
        {
            HtmlAnchor saveButton = this.EM.Widgets.FeatherWidget.AdvancedButton
                                    .AssertIsPresent("advanced button");

            saveButton.Click();
            ActiveBrowser.WaitForAsyncRequests();
            ActiveBrowser.RefreshDomTree();
        }
        /// <summary>
        /// Clicks on the link and waits until the new url is loaded.
        /// </summary>
        /// <param name="text">The text of the link to select</param>
        /// <param name="expectedUrl">The expected url after the item is loaded.</param>
        /// <param name="openInNewWindow">true or false dependingon Open in new window option checked.</param>
        public void VerifySelectedAnchorLink(string text, string expectedUrl, bool openInNewWindow = false)
        {
            HtmlAnchor link = ActiveBrowser.Find.ByExpression <HtmlAnchor>("tagname=a", "InnerText=" + text)
                              .AssertIsPresent("Link");

            link.Click();

            this.WaitForNewPageToLoad(expectedUrl, openInNewWindow);
        }
        /// <summary>
        /// Clicks to add a new choice link.
        /// </summary>
        public void ClickToAddNewChoiceLink()
        {
            HtmlAnchor addChoiceLink = EM.Forms.FormsBackend.ClickToAddAChoice
                                       .AssertIsPresent("Add choice Link");

            addChoiceLink.Click();

            ActiveBrowser.WaitUntilReady();
        }
Exemple #21
0
        /// <summary>
        /// Opens the selected tab.
        /// </summary>
        public void OpenSelectedTab()
        {
            HtmlAnchor selectedTab = this.EM.Widgets.FeatherWidget.SelectedTab
                                     .AssertIsPresent("selected tab");

            selectedTab.Click();
            ActiveBrowser.WaitForAsyncRequests();
            ActiveBrowser.RefreshDomTree();
        }
        /// <summary>
        /// Switches to List settings tab.
        /// </summary>
        public void SwitchToListSettingsTab()
        {
            HtmlAnchor listSettingsTab = this.EM.Widgets.WidgetDesignerContentScreen.ListSettings
                                         .AssertIsPresent("List settings tab");

            listSettingsTab.Click();
            ActiveBrowser.WaitForAsyncRequests();
            ActiveBrowser.RefreshDomTree();
        }
Exemple #23
0
        /// <summary>
        /// Opens the all tab.
        /// </summary>
        public void OpenAllTab()
        {
            HtmlAnchor allTab = this.EM.Widgets.FeatherWidget.AllTab
                                .AssertIsPresent("all tab");

            allTab.Click();
            ActiveBrowser.WaitForAsyncRequests();
            ActiveBrowser.RefreshDomTree();
        }
Exemple #24
0
        /// <summary>
        /// Click change password link
        /// </summary>
        public void ChangePasswordLink()
        {
            HtmlAnchor changePassworLink = EM.Identity.ProfileFrontend.ChangePasswordLink
                                           .AssertIsPresent("Change password link");

            changePassworLink.Click();
            ActiveBrowser.WaitUntilReady();
            ActiveBrowser.WaitForAsyncJQueryRequests();
        }
        /// <summary>
        /// Switches to Single item settings tab.
        /// </summary>
        public void SwitchToSingleItemSettingsTab()
        {
            HtmlAnchor singleTab = this.EM.Widgets.WidgetDesignerContentScreen.SingleItemSetting
                                   .AssertIsPresent("Single item settings tab");

            singleTab.Click();
            ActiveBrowser.WaitForAsyncRequests();
            ActiveBrowser.RefreshDomTree();
        }
Exemple #26
0
        /// <summary>
        /// Click edit profile link
        /// </summary>
        public void ClickEditProfileLink()
        {
            HtmlAnchor editProfileLink = EM.Identity.ProfileFrontend.EditProfileLink
                                         .AssertIsPresent("Edit profile link");

            editProfileLink.Click();
            ActiveBrowser.WaitUntilReady();
            ActiveBrowser.WaitForAsyncJQueryRequests();
        }
Exemple #27
0
        /// <summary>
        /// Presses the forgotten password link.
        /// </summary>
        public void PressForgottenPasswordLink()
        {
            HtmlAnchor forgottenPasswordLink = this.EM.Identity.LoginFormFrontend.ForgottenPassword.AssertIsPresent("Forgotten Password link");

            forgottenPasswordLink.Click();

            ActiveBrowser.WaitUntilReady();
            ActiveBrowser.RefreshDomTree();
        }
Exemple #28
0
        /// <summary>
        /// Click the register now link.
        /// </summary>
        public void PressRegisterNowLink()
        {
            HtmlAnchor registerNowLink = this.EM.Identity.LoginFormFrontend.RegisterNow.AssertIsPresent("Register now link");

            registerNowLink.Click();

            ActiveBrowser.WaitUntilReady();
            ActiveBrowser.RefreshDomTree();
        }
        /// <summary>
        /// Click advanced button
        /// <summary>
        public void ClickAdvancedButton()
        {
            HtmlAnchor advancedLink = EM.Forms.FormsPropertiesScreenBaseFeather.AdvancedButton
                                      .AssertIsPresent("Advanced Link");

            advancedLink.Click();

            ActiveBrowser.WaitUntilReady();
        }
        /// <summary>
        /// Wait for Preview button and click it
        /// <summary>
        private void WaitForPreviewButtonAndClickIt()
        {
            HtmlAnchor previewLink = EM.Forms.FormsBackend.PreviewButton;

            previewLink.Wait.ForExists();
            Assert.IsNotNull(previewLink, "The Preview button was not found.");
            Assert.IsTrue(previewLink.IsVisible(), "The Preview button was not visible.");
            previewLink.Click();
        }