提交 49caafb3 编写于 作者: fxy060608's avatar fxy060608

fix(automator): terser

上级 ac23c8d7
var e,n=Object.prototype.hasOwnProperty,t=function(e){return null==e},r=Array.isArray,o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function a(e,t){if(r(e))return e;if(t&&(a=t,i=e,n.call(a,i)))return[e];var a,i,u=[];return e.replace(o,(function(e,n,t,r){return u.push(t?r.replace(/\\(\\)?/g,"$1"):n||e),r})),u}function i(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function u(e){return e.route||e.uri}function c(e){return e.options||e.$page&&e.$page.options||{}}function s(e){return{id:i(e),path:u(e),query:c(e)}}function f(e){var n=function(e){return getCurrentPages().find((function(n){return i(n)===e}))}(e);return n&&n.$vm}function d(e,n){var t;return e&&(!function(e,n){return e.$scope&&((t=e.$scope).__wxExparserNodeId__||t.nodeId||t.id)===n;var t}(e,n)?e.$children.find((function(e){return t=d(e,n)})):t=e),t}function g(e,n){var t=f(e);return t&&d(t,n)}function l(e,n){var r;return e&&(r=n?function(e,n){var r,o=a(n,e);for(r=o.shift();!t(r);){if(null==(e=e[r]))return;r=o.shift()}return e}(e.$data,n):Object.assign({},e.$data)),Promise.resolve({data:r})}function p(e,n){return e&&Object.keys(n).forEach((function(t){e[t]=n[t]})),Promise.resolve()}function m(n,t,r){return new Promise((function(o,a){if(!n)return a(e.VM_NOT_EXISTS);if(!n[t])return a(e.VM_NOT_EXISTS);var i,u=n[t].apply(n,r);!(i=u)||"object"!=typeof i&&"function"!=typeof i||"function"!=typeof i.then?o({result:u}):u.then((function(e){o({result:e})}))}))}!function(e){e.VM_NOT_EXISTS="VM_NOT_EXISTS",e.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(e||(e={}));var h=["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"],v={},T=/Sync$/,_=/^on|^off/;function E(e){return T.test(e)||-1!==h.indexOf(e)}var O={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return s(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),n=e.length;return new Promise((function(t,r){n?t(s(e[n-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){var n=e.method,t=e.args;return new Promise((function(e,r){if(!uni[n])return r(Error("uni."+n+" not exists"));if(E(n))return e({result:uni[n].apply(uni,t)});var o=[Object.assign({},t[0]||{},{success:function(t){setTimeout((function(){e({result:t})}),"pageScrollTo"===n?350:0)},fail:function(e){r(Error(e.errMsg.replace(n+":fail ","")))}})];uni[n].apply(uni,o)}))},mockUniMethod:function(e){var n=e.method;if(!uni[n])throw Error("uni."+n+" not exists");if(!function(e){return!_.test(e)}(n))throw Error("You can't mock uni."+n);var r,o=e.result,a=e.functionDeclaration;return t(o)&&t(a)?(v[n]&&(uni[n]=v[n],delete v[n]),Promise.resolve()):(r=t(a)?E(n)?function(){return o}:function(e){setTimeout((function(){o.errMsg&&-1!==o.errMsg.indexOf(":fail")?e.fail&&e.fail(o):e.success&&e.success(o),e.complete&&e.complete(o)}),4)}:function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return new Function("return "+a)().apply(r,n.concat(e.args))},r.origin=v[n]||uni[n],v[n]||(v[n]=uni[n]),uni[n]=r,Promise.resolve())}},S={getData:function(e){return l(f(e.pageId),e.path)},setData:function(e){return p(f(e.pageId),e.data)},callMethod:function(n){var t,r=((t={})[e.VM_NOT_EXISTS]="Page["+n.pageId+"] not exists",t[e.METHOD_NOT_EXISTS]="page."+n.method+" not exists",t);return new Promise((function(e,t){m(f(n.pageId),n.method,n.args).then((function(n){return e(n)})).catch((function(e){t(Error(r[e]))}))}))}};function I(e){return e.nodeId||e.elementId}var y={getData:function(e){return l(g(e.pageId,I(e)),e.path)},setData:function(e){return p(g(e.pageId,I(e)),e.data)},callMethod:function(n){var t,r=I(n),o=((t={})[e.VM_NOT_EXISTS]="Component["+n.pageId+":"+r+"] not exists",t[e.METHOD_NOT_EXISTS]="component."+n.method+" not exists",t);return new Promise((function(e,t){m(g(n.pageId,r),n.method,n.args).then((function(n){return e(n)})).catch((function(e){t(Error(o[e]))}))}))}},M={};Object.keys(O).forEach((function(e){M["App."+e]=O[e]})),Object.keys(S).forEach((function(e){M["Page."+e]=S[e]})),Object.keys(y).forEach((function(e){M["Element."+e]=y[e]}));var P,C=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function w(e){P.send({data:JSON.stringify(e)})}function x(e){var n=JSON.parse(e.data),t=n.id,r=n.method,o=n.params,a={id:t},i=M[r];if(!i&&!i)return a.error={message:r+" unimplemented"},w(a);try{i(o).then((function(e){e&&(a.result=e)})).catch((function(e){a.error={message:e.message}})).finally((function(){w(a)}))}catch(e){a.error={message:e.message},w(a)}}swan.$$initRuntimeAutomator=function(e){void 0===e&&(e={}),(P=uni.connectSocket({url:C,complete:function(){}})).onMessage(x),P.onOpen((function(n){e.success&&e.success(),console.log("已开启自动化测试...")})),P.onError((function(e){console.log("automator.onError",e)})),P.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){swan.$$initRuntimeAutomator()}),500);
var CALL_METHOD_ERROR,hasOwnProperty=Object.prototype.hasOwnProperty,isUndef=function(v){return null==v},isArray=Array.isArray,PATH_RE=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function getPaths(path,data){if(isArray(path))return path;if(data&&(val=data,key=path,hasOwnProperty.call(val,key)))return[path];var val,key,res=[];return path.replace(PATH_RE,(function(match,p1,offset,string){return res.push(offset?string.replace(/\\(\\)?/g,"$1"):p1||match),string})),res}function getPageId(page){return page.__wxWebviewId__?page.__wxWebviewId__:page.privateProperties?page.privateProperties.slaveId:page.$page?page.$page.id:void 0}function getPagePath(page){return page.route||page.uri}function getPageQuery(page){return page.options||page.$page&&page.$page.options||{}}function parsePage(page){return{id:getPageId(page),path:getPagePath(page),query:getPageQuery(page)}}function getPageVm(id){var page=function(id){return getCurrentPages().find((function(page){return getPageId(page)===id}))}(id);return page&&page.$vm}function findComponentVm(vm,nodeId){var res;return vm&&(!function(vm,nodeId){return vm.$scope&&((scope=vm.$scope).__wxExparserNodeId__||scope.nodeId||scope.id)===nodeId;var scope}(vm,nodeId)?vm.$children.find((function(child){return res=findComponentVm(child,nodeId)})):res=vm),res}function getComponentVm(pageId,nodeId){var pageVm=getPageVm(pageId);return pageVm&&findComponentVm(pageVm,nodeId)}function getData(vm,path){var data;return vm&&(data=path?function(data,path){var dataPath,paths=getPaths(path,data);for(dataPath=paths.shift();!isUndef(dataPath);){if(null==(data=data[dataPath]))return;dataPath=paths.shift()}return data}(vm.$data,path):Object.assign({},vm.$data)),Promise.resolve({data:data})}function setData(vm,data){return vm&&Object.keys(data).forEach((function(name){vm[name]=data[name]})),Promise.resolve()}function callMethod(vm,method,args){return new Promise((function(resolve,reject){if(!vm)return reject(CALL_METHOD_ERROR.VM_NOT_EXISTS);if(!vm[method])return reject(CALL_METHOD_ERROR.VM_NOT_EXISTS);var obj,ret=vm[method].apply(vm,args);!(obj=ret)||"object"!=typeof obj&&"function"!=typeof obj||"function"!=typeof obj.then?resolve({result:ret}):ret.then((function(res){resolve({result:res})}))}))}!function(CALL_METHOD_ERROR){CALL_METHOD_ERROR.VM_NOT_EXISTS="VM_NOT_EXISTS",CALL_METHOD_ERROR.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(CALL_METHOD_ERROR||(CALL_METHOD_ERROR={}));var SYNC_APIS=["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"],originUni={},SYNC_API_RE=/Sync$/,MOCK_API_BLACKLIST_RE=/^on|^off/;function isSyncApi(method){return SYNC_API_RE.test(method)||-1!==SYNC_APIS.indexOf(method)}var App$1={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(page){return parsePage(page)}))})},getCurrentPage:function(){var pages=getCurrentPages(),len=pages.length;return new Promise((function(resolve,reject){len?resolve(parsePage(pages[len-1])):reject(Error("getCurrentPages().length=0"))}))},callUniMethod:function(params){var method=params.method,args=params.args;return new Promise((function(resolve,reject){if(!uni[method])return reject(Error("uni."+method+" not exists"));if(isSyncApi(method))return resolve({result:uni[method].apply(uni,args)});var params=[Object.assign({},args[0]||{},{success:function(result){setTimeout((function(){resolve({result:result})}),"pageScrollTo"===method?350:0)},fail:function(res){reject(Error(res.errMsg.replace(method+":fail ","")))}})];uni[method].apply(uni,params)}))},mockUniMethod:function(params){var method=params.method;if(!uni[method])throw Error("uni."+method+" not exists");if(!function(method){return!MOCK_API_BLACKLIST_RE.test(method)}(method))throw Error("You can't mock uni."+method);var mockFn,result=params.result,functionDeclaration=params.functionDeclaration;return isUndef(result)&&isUndef(functionDeclaration)?(originUni[method]&&(uni[method]=originUni[method],delete originUni[method]),Promise.resolve()):(mockFn=isUndef(functionDeclaration)?isSyncApi(method)?function(){return result}:function(params){setTimeout((function(){result.errMsg&&-1!==result.errMsg.indexOf(":fail")?params.fail&&params.fail(result):params.success&&params.success(result),params.complete&&params.complete(result)}),4)}:function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];return new Function("return "+functionDeclaration)().apply(mockFn,args.concat(params.args))},mockFn.origin=originUni[method]||uni[method],originUni[method]||(originUni[method]=uni[method]),uni[method]=mockFn,Promise.resolve())}},Page$1={getData:function(params){return getData(getPageVm(params.pageId),params.path)},setData:function(params){return setData(getPageVm(params.pageId),params.data)},callMethod:function(params){var _a,err=((_a={})[CALL_METHOD_ERROR.VM_NOT_EXISTS]="Page["+params.pageId+"] not exists",_a[CALL_METHOD_ERROR.METHOD_NOT_EXISTS]="page."+params.method+" not exists",_a);return new Promise((function(resolve,reject){callMethod(getPageVm(params.pageId),params.method,params.args).then((function(res){return resolve(res)})).catch((function(type){reject(Error(err[type]))}))}))}};function getNodeId(params){return params.nodeId||params.elementId}var Element$1={getData:function(params){return getData(getComponentVm(params.pageId,getNodeId(params)),params.path)},setData:function(params){return setData(getComponentVm(params.pageId,getNodeId(params)),params.data)},callMethod:function(params){var _a,nodeId=getNodeId(params),err=((_a={})[CALL_METHOD_ERROR.VM_NOT_EXISTS]="Component["+params.pageId+":"+nodeId+"] not exists",_a[CALL_METHOD_ERROR.METHOD_NOT_EXISTS]="component."+params.method+" not exists",_a);return new Promise((function(resolve,reject){callMethod(getComponentVm(params.pageId,nodeId),params.method,params.args).then((function(res){return resolve(res)})).catch((function(type){reject(Error(err[type]))}))}))}},Api={};Object.keys(App$1).forEach((function(method){Api["App."+method]=App$1[method]})),Object.keys(Page$1).forEach((function(method){Api["Page."+method]=Page$1[method]})),Object.keys(Element$1).forEach((function(method){Api["Element."+method]=Element$1[method]}));var socketTask,wsEndpoint=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function send(data){socketTask.send({data:JSON.stringify(data)})}function onMessage(res){var _a=JSON.parse(res.data),id=_a.id,method=_a.method,params=_a.params,data={id:id},fn=Api[method];if(!fn&&!fn)return data.error={message:method+" unimplemented"},send(data);try{fn(params).then((function(res){res&&(data.result=res)})).catch((function(err){data.error={message:err.message}})).finally((function(){send(data)}))}catch(err){data.error={message:err.message},send(data)}}swan.$$initRuntimeAutomator=function(options){void 0===options&&(options={}),(socketTask=uni.connectSocket({url:wsEndpoint,complete:function(){}})).onMessage(onMessage),socketTask.onOpen((function(res){options.success&&options.success(),console.log("已开启自动化测试...")})),socketTask.onError((function(res){console.log("automator.onError",res)})),socketTask.onClose((function(){options.fail&&options.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){swan.$$initRuntimeAutomator()}),500);
var e,n=Object.prototype.hasOwnProperty,t=function(e){return null==e},r=Array.isArray,o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function a(e,t){if(r(e))return e;if(t&&(a=t,i=e,n.call(a,i)))return[e];var a,i,u=[];return e.replace(o,(function(e,n,t,r){return u.push(t?r.replace(/\\(\\)?/g,"$1"):n||e),r})),u}function i(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function u(e){return e.route||e.uri}function c(e){return e.options||e.$page&&e.$page.options||{}}function s(e){return{id:i(e),path:u(e),query:c(e)}}function f(e){var n=function(e){return getCurrentPages().find((function(n){return i(n)===e}))}(e);return n&&n.$vm}function d(e,n){var t;return e&&(!function(e,n){return e.$scope&&((t=e.$scope).__wxExparserNodeId__||t.nodeId||t.id)===n;var t}(e,n)?e.$children.find((function(e){return t=d(e,n)})):t=e),t}function g(e,n){var t=f(e);return t&&d(t,n)}function l(e,n){var r;return e&&(r=n?function(e,n){var r,o=a(n,e);for(r=o.shift();!t(r);){if(null==(e=e[r]))return;r=o.shift()}return e}(e.$data,n):Object.assign({},e.$data)),Promise.resolve({data:r})}function p(e,n){return e&&Object.keys(n).forEach((function(t){e[t]=n[t]})),Promise.resolve()}function m(n,t,r){return new Promise((function(o,a){if(!n)return a(e.VM_NOT_EXISTS);if(!n[t])return a(e.VM_NOT_EXISTS);var i,u=n[t].apply(n,r);!(i=u)||"object"!=typeof i&&"function"!=typeof i||"function"!=typeof i.then?o({result:u}):u.then((function(e){o({result:e})}))}))}!function(e){e.VM_NOT_EXISTS="VM_NOT_EXISTS",e.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(e||(e={}));var h=["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"],v={},T=/Sync$/,_=/^on|^off/;function E(e){return T.test(e)||-1!==h.indexOf(e)}var O={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return s(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),n=e.length;return new Promise((function(t,r){n?t(s(e[n-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){var n=e.method,t=e.args;return new Promise((function(e,r){if(!uni[n])return r(Error("uni."+n+" not exists"));if(E(n))return e({result:uni[n].apply(uni,t)});var o=[Object.assign({},t[0]||{},{success:function(t){setTimeout((function(){e({result:t})}),"pageScrollTo"===n?350:0)},fail:function(e){r(Error(e.errMsg.replace(n+":fail ","")))}})];uni[n].apply(uni,o)}))},mockUniMethod:function(e){var n=e.method;if(!uni[n])throw Error("uni."+n+" not exists");if(!function(e){return!_.test(e)}(n))throw Error("You can't mock uni."+n);var r,o=e.result,a=e.functionDeclaration;return t(o)&&t(a)?(v[n]&&(uni[n]=v[n],delete v[n]),Promise.resolve()):(r=t(a)?E(n)?function(){return o}:function(e){setTimeout((function(){o.errMsg&&-1!==o.errMsg.indexOf(":fail")?e.fail&&e.fail(o):e.success&&e.success(o),e.complete&&e.complete(o)}),4)}:function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return new Function("return "+a)().apply(r,n.concat(e.args))},r.origin=v[n]||uni[n],v[n]||(v[n]=uni[n]),uni[n]=r,Promise.resolve())}},S={getData:function(e){return l(f(e.pageId),e.path)},setData:function(e){return p(f(e.pageId),e.data)},callMethod:function(n){var t,r=((t={})[e.VM_NOT_EXISTS]="Page["+n.pageId+"] not exists",t[e.METHOD_NOT_EXISTS]="page."+n.method+" not exists",t);return new Promise((function(e,t){m(f(n.pageId),n.method,n.args).then((function(n){return e(n)})).catch((function(e){t(Error(r[e]))}))}))}};function I(e){return e.nodeId||e.elementId}var y={getData:function(e){return l(g(e.pageId,I(e)),e.path)},setData:function(e){return p(g(e.pageId,I(e)),e.data)},callMethod:function(n){var t,r=I(n),o=((t={})[e.VM_NOT_EXISTS]="Component["+n.pageId+":"+r+"] not exists",t[e.METHOD_NOT_EXISTS]="component."+n.method+" not exists",t);return new Promise((function(e,t){m(g(n.pageId,r),n.method,n.args).then((function(n){return e(n)})).catch((function(e){t(Error(o[e]))}))}))}},M={};Object.keys(O).forEach((function(e){M["App."+e]=O[e]})),Object.keys(S).forEach((function(e){M["Page."+e]=S[e]})),Object.keys(y).forEach((function(e){M["Element."+e]=y[e]}));var P,x=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function C(e){P.send({data:JSON.stringify(e)})}function w(e){var n=JSON.parse(e.data),t=n.id,r=n.method,o=n.params,a={id:t},i=M[r];if(!i&&!i)return a.error={message:r+" unimplemented"},C(a);try{i(o).then((function(e){e&&(a.result=e)})).catch((function(e){a.error={message:e.message}})).finally((function(){C(a)}))}catch(e){a.error={message:e.message},C(a)}}wx.$$initRuntimeAutomator=function(e){void 0===e&&(e={}),(P=uni.connectSocket({url:x,complete:function(){}})).onMessage(w),P.onOpen((function(n){e.success&&e.success(),console.log("已开启自动化测试...")})),P.onError((function(e){console.log("automator.onError",e)})),P.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){wx.$$initRuntimeAutomator()}),500);
var CALL_METHOD_ERROR,hasOwnProperty=Object.prototype.hasOwnProperty,isUndef=function(v){return null==v},isArray=Array.isArray,PATH_RE=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function getPaths(path,data){if(isArray(path))return path;if(data&&(val=data,key=path,hasOwnProperty.call(val,key)))return[path];var val,key,res=[];return path.replace(PATH_RE,(function(match,p1,offset,string){return res.push(offset?string.replace(/\\(\\)?/g,"$1"):p1||match),string})),res}function getPageId(page){return page.__wxWebviewId__?page.__wxWebviewId__:page.privateProperties?page.privateProperties.slaveId:page.$page?page.$page.id:void 0}function getPagePath(page){return page.route||page.uri}function getPageQuery(page){return page.options||page.$page&&page.$page.options||{}}function parsePage(page){return{id:getPageId(page),path:getPagePath(page),query:getPageQuery(page)}}function getPageVm(id){var page=function(id){return getCurrentPages().find((function(page){return getPageId(page)===id}))}(id);return page&&page.$vm}function findComponentVm(vm,nodeId){var res;return vm&&(!function(vm,nodeId){return vm.$scope&&((scope=vm.$scope).__wxExparserNodeId__||scope.nodeId||scope.id)===nodeId;var scope}(vm,nodeId)?vm.$children.find((function(child){return res=findComponentVm(child,nodeId)})):res=vm),res}function getComponentVm(pageId,nodeId){var pageVm=getPageVm(pageId);return pageVm&&findComponentVm(pageVm,nodeId)}function getData(vm,path){var data;return vm&&(data=path?function(data,path){var dataPath,paths=getPaths(path,data);for(dataPath=paths.shift();!isUndef(dataPath);){if(null==(data=data[dataPath]))return;dataPath=paths.shift()}return data}(vm.$data,path):Object.assign({},vm.$data)),Promise.resolve({data:data})}function setData(vm,data){return vm&&Object.keys(data).forEach((function(name){vm[name]=data[name]})),Promise.resolve()}function callMethod(vm,method,args){return new Promise((function(resolve,reject){if(!vm)return reject(CALL_METHOD_ERROR.VM_NOT_EXISTS);if(!vm[method])return reject(CALL_METHOD_ERROR.VM_NOT_EXISTS);var obj,ret=vm[method].apply(vm,args);!(obj=ret)||"object"!=typeof obj&&"function"!=typeof obj||"function"!=typeof obj.then?resolve({result:ret}):ret.then((function(res){resolve({result:res})}))}))}!function(CALL_METHOD_ERROR){CALL_METHOD_ERROR.VM_NOT_EXISTS="VM_NOT_EXISTS",CALL_METHOD_ERROR.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(CALL_METHOD_ERROR||(CALL_METHOD_ERROR={}));var SYNC_APIS=["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"],originUni={},SYNC_API_RE=/Sync$/,MOCK_API_BLACKLIST_RE=/^on|^off/;function isSyncApi(method){return SYNC_API_RE.test(method)||-1!==SYNC_APIS.indexOf(method)}var App$1={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(page){return parsePage(page)}))})},getCurrentPage:function(){var pages=getCurrentPages(),len=pages.length;return new Promise((function(resolve,reject){len?resolve(parsePage(pages[len-1])):reject(Error("getCurrentPages().length=0"))}))},callUniMethod:function(params){var method=params.method,args=params.args;return new Promise((function(resolve,reject){if(!uni[method])return reject(Error("uni."+method+" not exists"));if(isSyncApi(method))return resolve({result:uni[method].apply(uni,args)});var params=[Object.assign({},args[0]||{},{success:function(result){setTimeout((function(){resolve({result:result})}),"pageScrollTo"===method?350:0)},fail:function(res){reject(Error(res.errMsg.replace(method+":fail ","")))}})];uni[method].apply(uni,params)}))},mockUniMethod:function(params){var method=params.method;if(!uni[method])throw Error("uni."+method+" not exists");if(!function(method){return!MOCK_API_BLACKLIST_RE.test(method)}(method))throw Error("You can't mock uni."+method);var mockFn,result=params.result,functionDeclaration=params.functionDeclaration;return isUndef(result)&&isUndef(functionDeclaration)?(originUni[method]&&(uni[method]=originUni[method],delete originUni[method]),Promise.resolve()):(mockFn=isUndef(functionDeclaration)?isSyncApi(method)?function(){return result}:function(params){setTimeout((function(){result.errMsg&&-1!==result.errMsg.indexOf(":fail")?params.fail&&params.fail(result):params.success&&params.success(result),params.complete&&params.complete(result)}),4)}:function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];return new Function("return "+functionDeclaration)().apply(mockFn,args.concat(params.args))},mockFn.origin=originUni[method]||uni[method],originUni[method]||(originUni[method]=uni[method]),uni[method]=mockFn,Promise.resolve())}},Page$1={getData:function(params){return getData(getPageVm(params.pageId),params.path)},setData:function(params){return setData(getPageVm(params.pageId),params.data)},callMethod:function(params){var _a,err=((_a={})[CALL_METHOD_ERROR.VM_NOT_EXISTS]="Page["+params.pageId+"] not exists",_a[CALL_METHOD_ERROR.METHOD_NOT_EXISTS]="page."+params.method+" not exists",_a);return new Promise((function(resolve,reject){callMethod(getPageVm(params.pageId),params.method,params.args).then((function(res){return resolve(res)})).catch((function(type){reject(Error(err[type]))}))}))}};function getNodeId(params){return params.nodeId||params.elementId}var Element$1={getData:function(params){return getData(getComponentVm(params.pageId,getNodeId(params)),params.path)},setData:function(params){return setData(getComponentVm(params.pageId,getNodeId(params)),params.data)},callMethod:function(params){var _a,nodeId=getNodeId(params),err=((_a={})[CALL_METHOD_ERROR.VM_NOT_EXISTS]="Component["+params.pageId+":"+nodeId+"] not exists",_a[CALL_METHOD_ERROR.METHOD_NOT_EXISTS]="component."+params.method+" not exists",_a);return new Promise((function(resolve,reject){callMethod(getComponentVm(params.pageId,nodeId),params.method,params.args).then((function(res){return resolve(res)})).catch((function(type){reject(Error(err[type]))}))}))}},Api={};Object.keys(App$1).forEach((function(method){Api["App."+method]=App$1[method]})),Object.keys(Page$1).forEach((function(method){Api["Page."+method]=Page$1[method]})),Object.keys(Element$1).forEach((function(method){Api["Element."+method]=Element$1[method]}));var socketTask,wsEndpoint=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function send(data){socketTask.send({data:JSON.stringify(data)})}function onMessage(res){var _a=JSON.parse(res.data),id=_a.id,method=_a.method,params=_a.params,data={id:id},fn=Api[method];if(!fn&&!fn)return data.error={message:method+" unimplemented"},send(data);try{fn(params).then((function(res){res&&(data.result=res)})).catch((function(err){data.error={message:err.message}})).finally((function(){send(data)}))}catch(err){data.error={message:err.message},send(data)}}wx.$$initRuntimeAutomator=function(options){void 0===options&&(options={}),(socketTask=uni.connectSocket({url:wsEndpoint,complete:function(){}})).onMessage(onMessage),socketTask.onOpen((function(res){options.success&&options.success(),console.log("已开启自动化测试...")})),socketTask.onError((function(res){console.log("automator.onError",res)})),socketTask.onClose((function(){options.fail&&options.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){wx.$$initRuntimeAutomator()}),500);
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册