/*! *****************************************************************************Copyright (c) Microsoft Corporation. All rights reserved.Licensed under the Apache License, Version 2.0 (the "License"); you may not usethis file except in compliance with the License. You may obtain a copy of theLicense at http://www.apache.org/licenses/LICENSE-2.0THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANYKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIEDWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,MERCHANTABLITY OR NON-INFRINGEMENT.See the Apache Version 2.0 License for specific language governing permissionsand limitations under the License.***************************************************************************** */
functione(){for(vare=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;varr=Array(e),o=0;for(t=0;t<n;t++)for(varu=arguments[t],i=0,a=u.length;i<a;i++,o++)r[o]=u[i];returnr}vart="undefined"!=typeofcrypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeofmsCrypto&&"function"==typeofmsCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),n=newUint8Array(16);functionr(){if(!t)thrownewError("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");returnt(n)}for(varo=[],u=0;u<256;++u)o[u]=(u+256).toString(16).substr(1);functioni(e,t,n){varu=t&&n||0;"string"==typeofe&&(t="binary"===e?newArray(16):null,e=null);vari=(e=e||{}).random||(e.rng||r)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(vara=0;a<16;++a)t[u+a]=i[a];returnt||function(e,t){varn=t||0,r=o;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")}(i)}vara=Object.prototype.hasOwnProperty,c=function(e){returnnull==e},s=Array.isArray,l=function(e){vart=Object.create(null);returnfunction(n){returnt[n]||(t[n]=e(n))}},f=/-(\w)/g,g=l((function(e){returne.replace(f,(function(e,t){returnt?t.toUpperCase():""}))})),p=l((function(e){returne.charAt(0).toUpperCase()+e.slice(1)})),d=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;functionm(e,t){if(s(e))returne;if(t&&(n=t,r=e,a.call(n,r)))return[e];varn,r,o=[];returne.replace(d,(function(e,t,n,r){returno.push(n?r.replace(/\\(\\)?/g,"$1"):t||e),r})),o}functionv(e,t){varn,r=m(t,e);for(n=r.shift();!c(n);){if(null==(e=e[n]))return;n=r.shift()}returne}varh=newMap;function_(e){if(!function(e){if(e){vart=e.tagName;return0===t.indexOf("UNI-")||"BODY"===t}return!1}(e))throwError("no such element");vart,n,r={elementId:(t=e,n=t._id,n||(n=i(),t._id=n,h.set(n,{id:n,element:t})),n),tagName:e.tagName.toLocaleLowerCase().replace("uni-","")},o=e.__vue__;returno.$parent&&o.$parent.$el===e&&(o=o.$parent),o&&!o.$options.isReserved&&(r.nodeId=function(e){returne._uid}(o)),"video"===r.tagName&&(r.videoId=r.nodeId),r}vary={input:{input:function(e,t){varn=e.__vue__;n.valueSync=t,n.$triggerInput({},{value:t})}},textarea:{input:function(e,t){varn=e.__vue__;n.valueSync=t,n.$triggerInput({},{value:t})}},"scroll-view":{scrollTo:function(e,t,n){varr=e.__vue__.$refs.main;r.scrollLeft=t,r.scrollTop=n},scrollTop:function(e){returne.__vue__.$refs.main.scrollTop},scrollLeft:function(e){returne.__vue__.$refs.main.scrollLeft},scrollWidth:function(e){returne.__vue__.$refs.main.scrollWidth},scrollHeight:function(e){returne.__vue__.$refs.main.scrollHeight}},swiper:{swipeTo:function(e,t){e.__vue__.current=t}},"movable-view":{moveTo:function(e,t,n){e.__vue__._animationTo(t,n)}},switch:{tap:function(e){e.click()}},slider:{slideTo:function(e,t){varn=e.__vue__,r=n.$refs["uni-slider"],o=r.offsetWidth,u=r.getBoundingClientRect().left;n.value=t,n._onClick({x:(t-n.min)*o/(n.max-n.min)+u})}}},E={getWindow:function(e){returnwindow},getDocument:function(e){returndocument},getEl:function(e){vart=h.get(e);if(!t)throwError("element destroyed");returnt.element},getOffset:function(e){vart=e.getBoundingClientRect();returnPromise.resolve({left:t.left+window.pageXOffset,top:t.top+window.pageYOffset})},querySelector:function(e,t){returnPromise.resolve(_(e.querySelector(t)))},querySelectorAll:function(e,t){varn=[];returndocument.querySelectorAll(t).forEach((function(e){try{n.push(_(e))}catch(e){}})),Promise.resolve({elements:n})},queryProperties:function(e,t){returnPromise.resolve({properties:t.map((function(t){varn=v(e,t);return"document.documentElement.scrollTop"===t&&0===n&&(n=v(e,"document.body.scrollTop")),n}))})},queryAttributes:function(e,t){returnPromise.resolve({attributes:t.map((function(t){returnString(e.getAttribute(t))}))})},queryStyles:function(e,t){varn=getComputedStyle(e);returnPromise.resolve({styles:t.map((function(e){returnn[e]}))})},queryHTML:function(e,t){returnPromise.resolve({html:(n="outer"===t?e.outerHTML:e.innerHTML,n.replace(/\n/g,"").replace(/(<uni-text[^>]*>)(<span[^>]*>[^<]*<\/span>)(.*?<\/uni-text>)/g,"$1$3").replace(/<\/?[^>]*>/g,(function(e){return-1<e.indexOf("<body")?"<page>":"</body>"===e?"</page>":0!==e.indexOf("<uni-")&&0!==e.indexOf("</uni-")?"":e.replace(/uni-/g,"").replace(/ role=""/g,"").replace(/ aria-label=""/g,"")})))});varn},dispatchTapEvent:function(e){returne.click(),Promise.resolve()},dispatchLongpressEvent:function(e){returnPromise.resolve()},dispatchTouchEvent:function(e,t,n){n||(n={}),n.touches||(n.touches=[]),n.changedTouches||(n.changedTouches=[]),n.touches.length||n.touches.push({identifier:Date.now(),target:e});varr=n.touches.map((function(e){returnnewTouch(e)})),o=n.changedTouches.map((function(e){returnnewTouch(e)}));returne.dispatchEvent(newTouchEvent(t,{cancelable:!0,bubbles:!0,touches:r,targetTouches:[],changedTouches:o})),Promise.resolve()},callFunction:function(t,n,r){varo=v(y,n);returno?Promise.resolve({result:o.apply(null,e([t],r))}):Promise.reject(Error(n+" not exists"))},triggerEvent:function(e,t,n){varr=e.__vue__;returnr.$trigger&&r.$trigger(t,{},n),Promise.resolve()}};["movable-view","picker","ad","button","checkbox-group","checkbox","form","icon","label","movable-area","navigator","picker-view-column","picker-view","progress","radio-group","radio","rich-text","u-slider","swiper-item","swiper","switch"].map((function(e){returnp(g(e))}));varT,S=Object.assign({},function(e){return{"Page.getElement":function(t){returne.querySelector(e.getDocument(t.pageId),t.selector)},"Page.getElements":function(t){returne.querySelectorAll(e.getDocument(t.pageId),t.selector)},"Page.getWindowProperties":function(t){returne.queryProperties(e.getWindow(t.pageId),t.names)}}}(E),function(e){vart=function(t){returne.getEl(t.elementId,t.pageId)};return{"Element.getElement":function(n){returne.querySelector(t(n),n.selector)},"Element.getElements":function(n){returne.querySelectorAll(t(n),n.selector)},"Element.getDOMProperties":function(n){returne.queryProperties(t(n),n.names)},"Element.getProperties":function(n){varr=t(n),o=r.__vue__||r.attr||{};returne.queryProperties(o,n.names)},"Element.getOffset":function(n){returne.getOffset(t(n))},"Element.getAttributes":function(n){returne.queryAttributes(t(n),n.names)},"Element.getStyles":function(n){returne.queryStyles(t(n),n.names)},"Element.getHTML":function(n){returne.queryHTML(t(n),n.type)},"Element.tap":function(n){returne.dispatchTapEvent(t(n))},"Element.longpress":function(n){returne.dispatchLongpressEvent(t(n))},"Element.touchstart":function(n){returne.dispatchTouchEvent(t(n),"touchstart",n)},"Element.touchmove":function(n){returne.dispatchTouchEvent(t(n),"touchmove",n)},"Element.touchend":function(n){returne.dispatchTouchEvent(t(n),"touchend",n)},"Element.callFunction":function(n){returne.callFunction(t(n),n.functionName,n.args)},"Element.triggerEvent":function(n){returne.triggerEvent(t(n),n.type,n.detail)}}}(E));functionw(e){returnUniViewJSBridge.publishHandler("onAutoMessageReceive",e)}functionP(e){returne.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void0}functionb(e){returne.route||e.uri}functionO(e){returne.options||e.$page&&e.$page.options||{}}functionI(e){return{id:P(e),path:b(e),query:O(e)}}functionM(e){vart=function(e){returngetCurrentPages().find((function(t){returnP(t)===e}))}(e);returnt&&t.$vm}functionC(e,t){varn=M(e);returnn&&functione(t,n){varr;returnt&&(!function(e,t){returne._uid===t}(t,n)?t.$children.find((function(t){returnr=e(t,n)})):r=t),r}(n,t)}function$(e,t){varn;returne&&(n=t?v(e.$data,t):Object.assign({},e.$data)),Promise.resolve({data:n})}functionx(e,t){returne&&Object.keys(t).forEach((function(n){e[n]=t[n]})),Promise.resolve()}functionA(e,t,n){returnnewPromise((function(r,o){if(!e)returno(T.VM_NOT_EXISTS);if(!e[t])returno(T.VM_NOT_EXISTS);varu,i=e[t].apply(e,n);!(u=i)||"object"!=typeofu&&"function"!=typeofu||"function"!=typeofu.then?r({result:i}):i.then((function(e){r({result:e})}))}))}UniViewJSBridge.subscribe("sendAutoMessage",(function(e){vart=e.id,n=e.method,r=e.params,o={id:t},u=S[n];if(!u)returno.error={message:n+" unimplemented"},w(o);try{u(r).then((function(e){e&&(o.result=e)})).catch((function(e){o.error={message:e.message}})).finally((function(){w(o)}))}catch(e){o.error={message:e.message},w(o)}})),function(e){e.VM_NOT_EXISTS="VM_NOT_EXISTS",e.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(T||(T={}));varN=["stopRecord","getRecorderManager","pauseVoice","stopVoice","pauseBackgroundAudio","stopBackgroundAudio","getBackgroundAudioManager","createAudioContext","createInnerAudioContext","createVideoContext","createCameraContext","createMapContext","canIUse","startAccelerometer","stopAccelerometer","startCompass","stopCompass","hideToast","hideLoading","showNavigationBarLoading","hideNavigationBarLoading","navigateBack","createAnimation","pageScrollTo","createSelectorQuery","createCanvasContext","createContext","drawCanvas","hideKeyboard","stopPullDownRefresh","arrayBufferToBase64","base64ToArrayBuffer"],k={},q=/Sync$/,V=/^on|^off/;functionB(e){returnq.test(e)||-1!==N.indexOf(e)}varD={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(e){returnI(e)}))})},getCurrentPage:function(){vare=getCurrentPages(),t=e.length;returnnewPromise((function(n,r){t?n(I(e[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){vart=e.method,n=e.args;returnnewPromise((function(e,r){if(!uni[t])returnr(Error("uni."+t+" not exists"));if(B(t))returne({result:uni[t].apply(uni,n)});varo=[Object.assign({},n[0]||{},{success:function(n){setTimeout((function(){e({result:n})}),"pageScrollTo"===t?350:0)},fail:function(e){r(Error(e.errMsg.replace(t+":fail ","")))}})];uni[t].apply(uni,o)}))},mockUniMethod:function(e){vart=e.method;if(!uni[t])throwError("uni."+t+" not exists");if(!function(e){return!V.test(e)}(t))throwError("You can't mock uni."+t);varn=e.result;if(c(n))returnk[t]&&(uni[t]=k[t],deletek[t]),Promise.resolve();varr=B(t)?function(){returnn}:function(e){setTimeout((function(){n.errMsg&&-1!==n.errMsg.indexOf(":fail")?e.fail&&e.fail(n):e.success&&e.success(n),e.complete&&e.complete(n)}),4)};returnk[t]||(k[t]=uni[t]),uni[t]=r,Promise.resolve()}},L={getData:function(e){return$(M(e.pageId),e.path)},setData:function(e){returnx(M(e.pageId),e.data)},callMethod:function(e){vart,n=((t={})[T.VM_NOT_EXISTS]="Page["+e.pageId+"] not exists",t[T.METHOD_NOT_EXISTS]="page."+e.method+" not exists",t);returnnewPromise((function(t,r){A(M(e.pageId),e.method,e.args).then((function(e){returnt(e)})).catch((function(e){r(Error(n[e]))}))}))}};functionR(e){returne.nodeId||e.elementId}varj={getData:function(e){return$(C(e.pageId,R(e)),e.path)},setData:function(e){returnx(C(e.pageId,R(e)),e.data)},callMethod:function(e){vart,n=R(e),r=((t={})[T.VM_NOT_EXISTS]="Component["+e.pageId+":"+n+"] not exists",t[T.METHOD_NOT_EXISTS]="component."+e.method+" not exists",t);returnnewPromise((function(t,o){A(C(e.pageId,n),e.method,e.args).then((function(e){returnt(e)})).catch((function(e){o(Error(r[e]))}))}))}},H={};Object.keys(D).forEach((function(e){H["App."+e]=D[e]})),Object.keys(L).forEach((function(e){H["Page."+e]=L[e]})),Object.keys(j).forEach((function(e){H["Element."+e]=j[e]}));varU,X,W=process.env.UNI_AUTOMATOR_WS_ENDPOINT;functionJ(e){X.send({data:JSON.stringify(e)})}functionF(e){vart=JSON.parse(e.data),n=t.id,r=t.method,o=t.params,u={id:n},i=H[r];if(!i){if(U){vara=U(n,r,o,u);if(!0===a)return;i=a}if(!i)returnu.error={message:r+" unimplemented"},J(u)}try{i(o).then((function(e){e&&(u.result=e)})).catch((function(e){u.error={message:e.message}})).finally((function(){J(u)}))}catch(e){u.error={message:e.message},J(u)}}U=function(e,t,n,r){varo=n.pageId,u=function(e){vart=getCurrentPages();if(!e)returnt[t.length-1];returnt.find((function(t){returnt.$page.id===e}))}(o);if(!u)returnr.error={message:"page["+o+"] not exists"},J(r),!0;u.$page.meta.isNVue;returnUniServiceJSBridge.publishHandler("sendAutoMessage",{id:e,method:t,params:n},o),!0},UniServiceJSBridge.subscribe("onAutoMessageReceive",(function(e){J(e)})),setTimeout((function(){vare;global.testMessage=F,void0===e&&(e={}),(X=uni.connectSocket({url:W,complete:function(){}})).onMessage(F),X.onOpen((function(t){e.success&&e.success(),console.log("已开启自动化测试...")})),X.onError((function(e){console.log("automator.onError",e)})),X.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))}),500);