/// <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(); }
/// <summary> /// Provide access to cancel button /// </summary> public void CancelButton() { HtmlAnchor cancelButton = EM.GenericContent.ContentBlockWidget.CancelButton .AssertIsPresent("Cancel button"); cancelButton.Click(); }
/// 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(); }
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(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }