varn,t=Object.prototype.hasOwnProperty,e=Array.isArray,r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;functiono(n,o){if(e(n))returnn;if(o&&(u=o,i=n,t.call(u,i)))return[n];varu,i,a=[];returnn.replace(r,(function(n,t,e,r){returna.push(e?r.replace(/\\(\\)?/g,"$1"):t||n),r})),a}functionu(n){returnn.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:n.$page?n.$page.id:void0}functioni(n){returnn.route||n.uri}functiona(n){returnn.options||n.$page&&n.$page.options||{}}functionc(n){return{id:u(n),path:i(n),query:a(n)}}functions(n){vart=function(n){returngetCurrentPages().find((function(t){returnu(t)===n}))}(n);returnt&&t.$vm}functionf(n,t){vare=s(n);returne&&functionn(t,e){varr;returnt&&(!function(n,t){returnn.$scope&&((e=n.$scope).__wxExparserNodeId__||e.nodeId||e.id)===t;vare}(t,e)?t.$children.find((function(t){returnr=n(t,e)})):r=t),r}(e,t)}functionp(n,t){vare;returnn&&(e=t?function(n,t){vare,r=o(t,n);for(e=r.shift();null!=e;){if(null==(n=n[e]))return;e=r.shift()}returnn}(n.$data,t):Object.assign({},n.$data)),Promise.resolve({data:e})}functiong(n,t){returnn&&Object.keys(t).forEach((function(e){n[e]=t[e]})),Promise.resolve()}functionl(t,e,r){returnnewPromise((function(o,u){if(!t)returnu(n.VM_NOT_EXISTS);if(!t[e])returnu(n.VM_NOT_EXISTS);vari,a=t[e].apply(t,r);!(i=a)||"object"!=typeofi&&"function"!=typeofi||"function"!=typeofi.then?o({result:a}):a.then((function(n){o({result:n})}))}))}!function(n){n.VM_NOT_EXISTS="VM_NOT_EXISTS",n.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(n||(n={}));vard=/Sync$/;varm={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(n){returnc(n)}))})},getCurrentPage:function(){varn=getCurrentPages(),t=n.length;returnnewPromise((function(e,r){t?e(c(n[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){vart=n.method,e=n.args;returnnewPromise((function(n,r){if(!uni[t])returnr(Error("uni."+t+" not exists"));if(function(n){returnd.test(n)}(t))returnn({result:uni[t].apply(uni,e)});varo=[Object.assign({},e[0]||{},{success:function(e){setTimeout((function(){n({result:e})}),"pageScrollTo"===t?350:0)},fail:function(n){r(Error(n.errMsg.replace(t+":fail ","")))}})];uni[t].apply(uni,o)}))}},_={getData:function(n){returnp(s(n.pageId),n.path)},setData:function(n){returng(s(n.pageId),n.data)},callMethod:function(t){vare,r=((e={})[n.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",e[n.METHOD_NOT_EXISTS]="page."+t.method+" not exists",e);returnnewPromise((function(n,e){l(s(t.pageId),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(r[n]))}))}))}};functionh(n){returnn.nodeId||n.elementId}varv={getData:function(n){returnp(f(n.pageId,h(n)),n.path)},setData:function(n){returng(f(n.pageId,h(n)),n.data)},callMethod:function(t){vare,r=h(t),o=((e={})[n.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",e[n.METHOD_NOT_EXISTS]="component."+t.method+" not exists",e);returnnewPromise((function(n,e){l(f(t.pageId,r),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(o[n]))}))}))}},T={};Object.keys(m).forEach((function(n){T["App."+n]=m[n]})),Object.keys(_).forEach((function(n){T["Page."+n]=_[n]})),Object.keys(v).forEach((function(n){T["Element."+n]=v[n]}));varE=process.env.UNI_AUTOMATOR_WS_ENDPOINT;swan.$$initRuntimeAutomator=function(n){void0===n&&(n={});vart=uni.connectSocket({url:E,complete:function(){}}),e=function(n){returnt.send({data:JSON.stringify(n)})};t.onOpen((function(t){n.success&&n.success(),console.log("已开启自动化测试...")})),t.onMessage((function(n){vart=JSON.parse(n.data),r=t.id,o=t.method,u=t.params,i={id:r},a=T[o];if(!a)returni.error={message:o+" unimplemented"},e(i);try{a(u).then((function(n){n&&(i.result=n)})).catch((function(n){i.error={message:n.message}})).finally((function(){e(i)}))}catch(n){i.error={message:n.message},e(i)}})),t.onError((function(n){console.log("automator.onError",n)})),t.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){swan.$$initRuntimeAutomator()}),500);