/// <summary> /// Navigate to pages. /// </summary> public void NavigateToPages() { BAT.Macros().NavigateTo().Pages(); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Click select button /// </summary> public void ClickSelectButton() { ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncRequests(); Manager.Wait.For(() => { ActiveBrowser.RefreshDomTree(); return(EM.Widgets.WidgetDesignerContentScreen.SelectButtons.Any(b => b.IsVisible())); }, 10000); var selectButtons = EM.Widgets.WidgetDesignerContentScreen.SelectButtons; foreach (var button in selectButtons) { if (button.IsVisible()) { button.Click(); break; } } ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
public void SetRequiredCheckboxField() { BAT.Macros().NavigateTo().Modules().Forms(this.Culture); BAT.Wrappers().Backend().Forms().FormsDashboard().OpenFormFromTheGrid(FormName); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); BATFeather.Wrappers().Backend().Pages().PageZoneEditorWrapper().EditWidget(CheckboxesField); BATFeather.Wrappers().Backend().Forms().FormsContentScreenWrapper().CheckRequiredFieldCheckbox(); BATFeather.Wrappers().Backend().Forms().FormsContentScreenWrapper().ChangeRequiredMessage(NewRequiredMessage); BATFeather.Wrappers().Backend().Widgets().WidgetDesignerWrapper().SaveChanges(); BAT.Wrappers().Backend().Forms().FormsContentScreen().PublishForm(); BAT.Macros().NavigateTo().CustomPage("~/" + PageName.ToLower(), true, this.Culture); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().ClickSubmit(); Assert.IsTrue(ActiveBrowser.ContainsText(NewRequiredMessage), "Text was not found on the page"); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().VerifyPageUrl(PageName); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().SelectCheckbox(Choice); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().SubmitForm(); BAT.Macros().NavigateTo().Modules().Forms(this.Culture); BAT.Wrappers().Backend().Forms().FormsDashboard().ViewFormResponses(FormName); BATFeather.Wrappers().Backend().Forms().FormsWrapper().VerifyNumberOfResponses(ExpectedResponsesCount); BAT.Wrappers().Backend().Forms().FormsResponseScreen().SelectResponse(ResponseNumber); BATFeather.Wrappers().Backend().Forms().FormsWrapper().VerifyResponseAuthorUsername(ExpectedAuthorName); BATFeather.Wrappers().Backend().Forms().FormsWrapper().VerifyResponseSubmitDate(); BATFeather.Wrappers().Backend().Forms().FormsWrapper().VerifyResponseCheckboxesAnswer(Choice); }
/// <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(); }
/// <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); } }
private void OpenTemplateEditor() { var templateId = BAT.Arrange(this.TestName).ExecuteArrangement("GetTemplateId").Result.Values["templateId"]; BAT.Macros().NavigateTo().CustomPage("~/Sitefinity/Template/" + templateId, false); ActiveBrowser.WaitForAsyncOperations(); }
public void ChangeAdvancedSettingsOfPageBreak() { BAT.Macros().NavigateTo().Modules().Forms(this.Culture); BAT.Wrappers().Backend().Forms().FormsDashboard().OpenFormFromTheGrid(FormName); BATFeather.Wrappers().Backend().Forms().FormsContentScreenWrapper().WaitForFieldContent(NextStepOld, PageBreak); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().VerifyNextStepText(NextStepOld); BATFeather.Wrappers().Backend().Pages().PageZoneEditorWrapper().EditWidget(PageBreak); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); BATFeather.Wrappers().Backend().ModuleBuilder().DynamicWidgetAdvancedSettingsWrapper().ClickAdvancedSettingsButton(); BATFeather.Wrappers().Backend().ModuleBuilder().DynamicWidgetAdvancedSettingsWrapper().ClickModelButton(); BATFeather.Wrappers().Backend().Forms().FormsContentScreenWrapper().ChangeNextStepTextInAdvancedSettings(NextStepNew); BATFeather.Wrappers().Backend().ContentBlocks().ContentBlocksWrapper().SaveChanges(); BATFeather.Wrappers().Backend().Forms().FormsContentScreenWrapper().WaitForFieldContent(NextStepNew, PageBreak); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().VerifyNextStepText(NextStepNew); BAT.Wrappers().Backend().Forms().FormsContentScreen().PublishForm(); BAT.Macros().NavigateTo().CustomPage("~/" + PageName.ToLower(), true, this.Culture); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().VerifyNextStepText(NextStepNew); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().SetTextboxContent(TextBoxContent); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().ClickNextButton(); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().SelectRadioButton(Choice); BATFeather.Wrappers().Frontend().Forms().FormsWrapper().ClickSubmit(); }
public void ChangeAdvancedSettingsOfDropdownFieldAndSetCssClass() { BAT.Macros().NavigateTo().Modules().Forms(this.Culture); BAT.Wrappers().Backend().Forms().FormsDashboard().OpenFormFromTheGrid(FormName); BATFeather.Wrappers().Backend().Pages().PageZoneEditorWrapper().EditWidget(DropdownListField); BATFeather.Wrappers().Backend().Forms().FormsContentScreenWrapper().ApplyCssClasses(CssClassesToApply); BATFeather.Wrappers().Backend().ContentBlocks().ContentBlocksWrapper().SaveChanges(); BAT.Wrappers().Backend().Forms().FormsContentScreen().PublishForm(); BAT.Macros().NavigateTo().CustomPage("~/" + PageName.ToLower(), true, this.Culture); Assert.IsTrue(ActiveBrowser.ContainsText(CssClassesToApply), "Css class was not found on the page"); BAT.Macros().NavigateTo().Modules().Forms(this.Culture); BAT.Wrappers().Backend().Forms().FormsDashboard().OpenFormFromTheGrid(FormName); BATFeather.Wrappers().Backend().Pages().PageZoneEditorWrapper().EditWidget(DropdownListField); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); BATFeather.Wrappers().Backend().ModuleBuilder().DynamicWidgetAdvancedSettingsWrapper().ClickAdvancedSettingsButton(); BATFeather.Wrappers().Backend().ModuleBuilder().DynamicWidgetAdvancedSettingsWrapper().ClickModelButton(); BATFeather.Wrappers().Backend().Forms().FormsContentScreenWrapper().ChangeCssClassInAdvancedSettings(CssClassesToApplyNew); BATFeather.Wrappers().Backend().ContentBlocks().ContentBlocksWrapper().SaveChanges(); BAT.Wrappers().Backend().Forms().FormsContentScreen().PublishForm(); BAT.Macros().NavigateTo().CustomPage("~/" + PageName.ToLower(), true, this.Culture); Assert.IsTrue(ActiveBrowser.ContainsText(CssClassesToApplyNew), "Css class was not found on the page"); }
/// <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> /// Dones the resizing. /// </summary> public void DoneResizing() { HtmlButton doneBtn = this.EM.Media.ImagePropertiesScreen.DoneResizingButton.AssertIsPresent("Done button"); doneBtn.Click(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Edits all properties. /// </summary> public void EditAllProperties() { HtmlButton editBtn = this.EM.Media.MediaPropertiesBaseScreen.EditAllPropertiesButton.AssertIsPresent("Edit all properties button"); editBtn.Click(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Clicks Done button on media properties dialog. /// </summary> public void ConfirmMediaProperties() { HtmlButton doneBtn = this.EM.Media.MediaPropertiesBaseScreen.DoneButton.AssertIsPresent("Done button"); doneBtn.Click(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Plays the video. /// </summary> public void PlayVideo() { HtmlDiv playBtn = this.EM.Media.VideoPropertiesScreen.PlayButton.AssertIsPresent("Play button"); playBtn.Click(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Selects the allow user to reset password checkbox. /// </summary> public void SelectAllowUserToResetPasswordCheckbox() { var checkbox = EM.Identity.LoginFormEditScreen.ResetPasswordCheckbox.AssertIsPresent("Allow users to reset password"); checkbox.Click(); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Clicks the select button in registration page section. /// </summary> public void ClickSelectButtonForRegistrationPage() { var button = EM.Identity.LoginFormEditScreen.RegistrationPageSelectButton.AssertIsPresent("Select button"); button.Click(); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Selects widget template from the drop-down in the widget designer /// </summary> /// <param name="templateTitle">widget template title</param> public void SelectWidgetListTemplate(string templateTitle) { var templateSelector = EM.Navigation.NavigationWidgetEditScreen.TemplateSelector .AssertIsPresent("Template selector drop-down"); templateSelector.SelectByValue(templateTitle); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.click); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.change); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Selects levels to include from the drop-down in the widget designer /// </summary> /// <param name="levelsToInclude">Levels to include value</param> public void SelectLevelsToInclude(string levelsToInclude) { var templateSelector = EM.Navigation.NavigationWidgetEditScreen.LevelesToIncludeSelector .AssertIsPresent("Levels to include selector"); templateSelector.SelectByValue(levelsToInclude); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.click); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.change); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Clicks Done button on media properties dialog for docs. This is temporary fix! /// </summary> public void ConfirmMediaPropertiesDocsTemporary() { HtmlButton doneBtn = ActiveBrowser.Find .ByExpression <HtmlButton>("tagName=button", "InnerText=Insert this file") .AssertIsPresent("Insert this file"); doneBtn.Click(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Navigates to validation section. /// </summary> /// <param name="sectionNames">The section names.</param> public void NavigateToValidationSectionInAdvancedSettings(string[] sectionNames) { RuntimeSettingsModificator.ExecuteWithClientTimeout(1600000, () => BAT.Macros().NavigateTo().CustomPage("~/Sitefinity/Administration/Settings/Advanced", false)); ActiveBrowser.WaitForAsyncOperations(); for (int i = 0; i < sectionNames.Length; i++) { BAT.Wrappers().Backend().Settings().SettingsWrapper().OpenSectionInAdvancedSettings(sectionNames[i]); } }
/// <summary> /// Selects the settings tab in form widget. /// </summary> public void SelectSettingsTabInFormWidget() { HtmlAnchor settingsTab = EM.Forms.FormsBackend.SettingsTabInFormWidget .AssertIsPresent("Settings tab"); settingsTab.Click(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.WaitUntilReady(); }
/// <summary> /// Confirms the image properties in image widget. /// </summary> public void ConfirmMediaPropertiesInWidget() { HtmlButton saveBtn = this.EM.Media.MediaPropertiesBaseScreen.SaveButtonInMediaWidget.AssertIsPresent("Done button"); saveBtn.Click(); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.WaitForAjax(10000); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Selects naviagtion widget template from the drop-down in the widget designer /// </summary> /// <param name="templateTitle">widget template title</param> public void SelectNavigationTemplate(string templateTitle) { var templateSelector = EM.Forms.FormsBackend.NavigationTemplateSelector .AssertIsPresent("Template selector drop-down"); templateSelector.SelectByValue(templateTitle); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.click); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.change); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Click select button /// </summary> public void ClickSelectButton() { HtmlButton selectButton = EM.ScriptsAndStyles.ScriptsAndStylesEditScreen.SelectButton .AssertIsPresent("Select button"); selectButton.Click(); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Selects the folder. /// </summary> /// <param name="folderTitle">The folder title.</param> public void SelectFolder(string folderTitle) { var allFolders = this.EM.Media.MediaSelectorScreen.MediaFolderDivs; var folder = allFolders.Where(i => i.InnerText.Contains(folderTitle)).FirstOrDefault(); folder.ScrollToVisible(); folder.Focus(); folder.MouseClick(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }
/// <summary> /// Selects the read template. /// </summary> /// <param name="templateTitle">The template title.</param> public void SelectReadTemplate(string templateTitle) { HtmlAnchor moreOptions = this.EM.Widgets.WidgetDesignerContentScreen.MoreOptionsDiv.AssertIsPresent("More options span"); moreOptions.Click(); var templateSelector = EM.Forms.FormsBackend.ReadTemplateSelector .AssertIsPresent("Template selector drop-down"); templateSelector.SelectByValue(templateTitle); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.click); templateSelector.AsjQueryControl().InvokejQueryEvent(jQueryControl.jQueryControlEvents.change); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Remove css class in the widget designer /// </summary> public void RemoveCSSClass() { HtmlInputText input = EM.Navigation.NavigationWidgetEditScreen.CSSClass .AssertIsPresent("Css class"); input.ScrollToVisible(); input.Focus(); Manager.Current.Desktop.KeyBoard.KeyDown(System.Windows.Forms.Keys.Control); Manager.Current.Desktop.KeyBoard.KeyPress(System.Windows.Forms.Keys.A); Manager.Current.Desktop.KeyBoard.KeyUp(System.Windows.Forms.Keys.Control); Manager.Current.Desktop.KeyBoard.KeyPress(System.Windows.Forms.Keys.Delete); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Clicks the select button in registration page section. /// </summary> public void ClickSelectButtonForRegistrationPage() { Manager.Current.Wait.For(() => { ActiveBrowser.RefreshDomTree(); return(EM.Identity.LoginFormEditScreen.RegistrationPageSelectButton != null); }, 10000); var button = EM.Identity.LoginFormEditScreen.RegistrationPageSelectButton.AssertIsPresent("Select button"); button.Click(); ActiveBrowser.WaitUntilReady(); ActiveBrowser.WaitForAsyncOperations(); }
/// <summary> /// Selects the content. /// </summary> /// <param name="selector">Selector name.</param> public void SelectContent(string selector) { var contentSelector = this.GetContentSelectorByName(selector) .As <HtmlControl>() .AssertIsPresent("selector directive"); HtmlButton selectButton = contentSelector.Find .ByAttributes("class=~openSelectorBtn") .As <HtmlButton>() .AssertIsPresent("select button"); selectButton.Click(); ActiveBrowser.WaitForAsyncOperations(); ActiveBrowser.RefreshDomTree(); }