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

fix(automator): mockUniMethod support function (question/160034)

上级 e141fd37
此差异已折叠。
var e,t=Object.prototype.hasOwnProperty,n=function(e){return null==e},r=Array.isArray,o=function(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}},a=/-(\w)/g,i=o((function(e){return e.replace(a,(function(e,t){return t?t.toUpperCase():""}))})),u=o((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function s(e,n){if(r(e))return e;if(n&&(o=n,a=e,t.call(o,a)))return[e];var o,a,i=[];return e.replace(c,(function(e,t,n,r){return i.push(n?r.replace(/\\(\\)?/g,"$1"):t||e),r})),i}function f(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function p(e){return e.route||e.uri}function d(e){return e.options||e.$page&&e.$page.options||{}}function l(e){return{id:f(e),path:p(e),query:d(e)}}function g(e){var t=function(e){return getCurrentPages().find((function(t){return f(t)===e}))}(e);return t&&t.$vm}function m(e,t){var n=g(e);return n&&function e(t,n){var r;return t&&(!function(e,t){return e.$scope&&((n=e.$scope).__wxExparserNodeId__||n.nodeId||n.id)===t;var n}(t,n)?t.$children.find((function(t){return r=e(t,n)})):r=t),r}(n,t)}function v(e,t){var r;return e&&(r=t?function(e,t){var r,o=s(t,e);for(r=o.shift();!n(r);){if(null==(e=e[r]))return;r=o.shift()}return e}(e.$data,t):Object.assign({},e.$data)),Promise.resolve({data:r})}function h(e,t){return e&&Object.keys(t).forEach((function(n){e[n]=t[n]})),Promise.resolve()}function T(t,n,r){return new Promise((function(o,a){if(!t)return a(e.VM_NOT_EXISTS);if(!t[n])return a(e.VM_NOT_EXISTS);var i,u=t[n].apply(t,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 _=["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"],y={},O=/Sync$/,S=/^on|^off/;function E(e){return O.test(e)||-1!==_.indexOf(e)}var I={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return l(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),t=e.length;return new Promise((function(n,r){t?n(l(e[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){var t=e.method,n=e.args;return new Promise((function(e,r){if(!uni[t])return r(Error("uni."+t+" not exists"));if(E(t))return e({result:uni[t].apply(uni,n)});var o=[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){var t=e.method;if(!uni[t])throw Error("uni."+t+" not exists");if(!function(e){return!S.test(e)}(t))throw Error("You can't mock uni."+t);var r=e.result;if(n(r))return y[t]&&(uni[t]=y[t],delete y[t]),Promise.resolve();var o=E(t)?function(){return r}:function(e){setTimeout((function(){r.errMsg&&-1!==r.errMsg.indexOf(":fail")?e.fail&&e.fail(r):e.success&&e.success(r),e.complete&&e.complete(r)}),4)};return y[t]||(y[t]=uni[t]),uni[t]=o,Promise.resolve()}},C={getData:function(e){return v(g(e.pageId),e.path)},setData:function(e){return h(g(e.pageId),e.data)},callMethod:function(t){var n,r=((n={})[e.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",n[e.METHOD_NOT_EXISTS]="page."+t.method+" not exists",n);return new Promise((function(e,n){T(g(t.pageId),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(r[e]))}))}))}};function w(e){return e.nodeId||e.elementId}for(var M={getData:function(e){return v(m(e.pageId,w(e)),e.path)},setData:function(e){return h(m(e.pageId,w(e)),e.data)},callMethod:function(t){var n,r=w(t),o=((n={})[e.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",n[e.METHOD_NOT_EXISTS]="component."+t.method+" not exists",n);return new Promise((function(e,n){T(m(t.pageId,r),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(o[e]))}))}))}},P=("undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),[]),b=0;b<256;++b)P[b]=(b+256).toString(16).substr(1);["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){return u(i(e))}));var x={};Object.keys(I).forEach((function(e){x["App."+e]=I[e]})),Object.keys(C).forEach((function(e){x["Page."+e]=C[e]})),Object.keys(M).forEach((function(e){x["Element."+e]=M[e]}));var $,k=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function A(e){$.send({data:JSON.stringify(e)})}function N(e){var t=JSON.parse(e.data),n=t.id,r=t.method,o=t.params,a={id:n},i=x[r];if(!i&&!i)return a.error={message:r+" unimplemented"},A(a);try{i(o).then((function(e){e&&(a.result=e)})).catch((function(e){a.error={message:e.message}})).finally((function(){A(a)}))}catch(e){a.error={message:e.message},A(a)}}swan.$$initRuntimeAutomator=function(e){void 0===e&&(e={}),($=uni.connectSocket({url:k,complete:function(){}})).onMessage(N),$.onOpen((function(t){e.success&&e.success(),console.log("已开启自动化测试...")})),$.onError((function(e){console.log("automator.onError",e)})),$.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){swan.$$initRuntimeAutomator()}),500);
var e,t=Object.prototype.hasOwnProperty,n=function(e){return null==e},r=Array.isArray,o=function(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}},i=/-(\w)/g,a=o((function(e){return e.replace(i,(function(e,t){return t?t.toUpperCase():""}))})),u=o((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function s(e,n){if(r(e))return e;if(n&&(o=n,i=e,t.call(o,i)))return[e];var o,i,a=[];return e.replace(c,(function(e,t,n,r){return a.push(n?r.replace(/\\(\\)?/g,"$1"):t||e),r})),a}function f(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function p(e){return e.route||e.uri}function d(e){return e.options||e.$page&&e.$page.options||{}}function l(e){return{id:f(e),path:p(e),query:d(e)}}function g(e){var t=function(e){return getCurrentPages().find((function(t){return f(t)===e}))}(e);return t&&t.$vm}function m(e,t){var n=g(e);return n&&function e(t,n){var r;return t&&(!function(e,t){return e.$scope&&((n=e.$scope).__wxExparserNodeId__||n.nodeId||n.id)===t;var n}(t,n)?t.$children.find((function(t){return r=e(t,n)})):r=t),r}(n,t)}function v(e,t){var r;return e&&(r=t?function(e,t){var r,o=s(t,e);for(r=o.shift();!n(r);){if(null==(e=e[r]))return;r=o.shift()}return e}(e.$data,t):Object.assign({},e.$data)),Promise.resolve({data:r})}function h(e,t){return e&&Object.keys(t).forEach((function(n){e[n]=t[n]})),Promise.resolve()}function y(t,n,r){return new Promise((function(o,i){if(!t)return i(e.VM_NOT_EXISTS);if(!t[n])return i(e.VM_NOT_EXISTS);var a,u=t[n].apply(t,r);!(a=u)||"object"!=typeof a&&"function"!=typeof a||"function"!=typeof a.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 T=["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"],_={},O=/Sync$/,S=/^on|^off/;function E(e){return O.test(e)||-1!==T.indexOf(e)}var I={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return l(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),t=e.length;return new Promise((function(n,r){t?n(l(e[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){var t=e.method,n=e.args;return new Promise((function(e,r){if(!uni[t])return r(Error("uni."+t+" not exists"));if(E(t))return e({result:uni[t].apply(uni,n)});var o=[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){var t=e.method;if(!uni[t])throw Error("uni."+t+" not exists");if(!function(e){return!S.test(e)}(t))throw Error("You can't mock uni."+t);var r,o=e.result,i=e.functionDeclaration;return n(o)&&n(i)?(_[t]&&(uni[t]=_[t],delete _[t]),Promise.resolve()):((r=n(i)?E(t)?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 t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return new Function("return "+i)().apply(r,t.concat(e.args))}).origin=_[t]||uni[t],_[t]||(_[t]=uni[t]),uni[t]=r,Promise.resolve())}},w={getData:function(e){return v(g(e.pageId),e.path)},setData:function(e){return h(g(e.pageId),e.data)},callMethod:function(t){var n,r=((n={})[e.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",n[e.METHOD_NOT_EXISTS]="page."+t.method+" not exists",n);return new Promise((function(e,n){y(g(t.pageId),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(r[e]))}))}))}};function C(e){return e.nodeId||e.elementId}for(var M={getData:function(e){return v(m(e.pageId,C(e)),e.path)},setData:function(e){return h(m(e.pageId,C(e)),e.data)},callMethod:function(t){var n,r=C(t),o=((n={})[e.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",n[e.METHOD_NOT_EXISTS]="component."+t.method+" not exists",n);return new Promise((function(e,n){y(m(t.pageId,r),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(o[e]))}))}))}},P=("undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),[]),b=0;b<256;++b)P[b]=(b+256).toString(16).substr(1);["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){return u(a(e))}));var x={};Object.keys(I).forEach((function(e){x["App."+e]=I[e]})),Object.keys(w).forEach((function(e){x["Page."+e]=w[e]})),Object.keys(M).forEach((function(e){x["Element."+e]=M[e]}));var $,k=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function A(e){$.send({data:JSON.stringify(e)})}function N(e){var t=JSON.parse(e.data),n=t.id,r=t.method,o=t.params,i={id:n},a=x[r];if(!a&&!a)return i.error={message:r+" unimplemented"},A(i);try{a(o).then((function(e){e&&(i.result=e)})).catch((function(e){i.error={message:e.message}})).finally((function(){A(i)}))}catch(e){i.error={message:e.message},A(i)}}swan.$$initRuntimeAutomator=function(e){void 0===e&&(e={}),($=uni.connectSocket({url:k,complete:function(){}})).onMessage(N),$.onOpen((function(t){e.success&&e.success(),console.log("已开启自动化测试...")})),$.onError((function(e){console.log("automator.onError",e)})),$.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){swan.$$initRuntimeAutomator()}),500);
var e,t=Object.prototype.hasOwnProperty,n=function(e){return null==e},r=Array.isArray,o=function(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}},i=/-(\w)/g,a=o((function(e){return e.replace(i,(function(e,t){return t?t.toUpperCase():""}))})),u=o((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function s(e,n){if(r(e))return e;if(n&&(o=n,i=e,t.call(o,i)))return[e];var o,i,a=[];return e.replace(c,(function(e,t,n,r){return a.push(n?r.replace(/\\(\\)?/g,"$1"):t||e),r})),a}function f(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function p(e){return e.route||e.uri}function d(e){return e.options||e.$page&&e.$page.options||{}}function l(e){return{id:f(e),path:p(e),query:d(e)}}function g(e){var t=function(e){return getCurrentPages().find((function(t){return f(t)===e}))}(e);return t&&t.$vm}function m(e,t){var n=g(e);return n&&function e(t,n){var r;return t&&(!function(e,t){return e.$scope&&((n=e.$scope).__wxExparserNodeId__||n.nodeId||n.id)===t;var n}(t,n)?t.$children.find((function(t){return r=e(t,n)})):r=t),r}(n,t)}function v(e,t){var r;return e&&(r=t?function(e,t){var r,o=s(t,e);for(r=o.shift();!n(r);){if(null==(e=e[r]))return;r=o.shift()}return e}(e.$data,t):Object.assign({},e.$data)),Promise.resolve({data:r})}function h(e,t){return e&&Object.keys(t).forEach((function(n){e[n]=t[n]})),Promise.resolve()}function T(t,n,r){return new Promise((function(o,i){if(!t)return i(e.VM_NOT_EXISTS);if(!t[n])return i(e.VM_NOT_EXISTS);var a,u=t[n].apply(t,r);!(a=u)||"object"!=typeof a&&"function"!=typeof a||"function"!=typeof a.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 _=["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"],y={},O=/Sync$/,S=/^on|^off/;function E(e){return O.test(e)||-1!==_.indexOf(e)}var I={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return l(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),t=e.length;return new Promise((function(n,r){t?n(l(e[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){var t=e.method,n=e.args;return new Promise((function(e,r){if(!uni[t])return r(Error("uni."+t+" not exists"));if(E(t))return e({result:uni[t].apply(uni,n)});var o=[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){var t=e.method;if(!uni[t])throw Error("uni."+t+" not exists");if(!function(e){return!S.test(e)}(t))throw Error("You can't mock uni."+t);var r=e.result;if(n(r))return y[t]&&(uni[t]=y[t],delete y[t]),Promise.resolve();var o=E(t)?function(){return r}:function(e){setTimeout((function(){r.errMsg&&-1!==r.errMsg.indexOf(":fail")?e.fail&&e.fail(r):e.success&&e.success(r),e.complete&&e.complete(r)}),4)};return y[t]||(y[t]=uni[t]),uni[t]=o,Promise.resolve()}},C={getData:function(e){return v(g(e.pageId),e.path)},setData:function(e){return h(g(e.pageId),e.data)},callMethod:function(t){var n,r=((n={})[e.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",n[e.METHOD_NOT_EXISTS]="page."+t.method+" not exists",n);return new Promise((function(e,n){T(g(t.pageId),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(r[e]))}))}))}};function w(e){return e.nodeId||e.elementId}for(var x={getData:function(e){return v(m(e.pageId,w(e)),e.path)},setData:function(e){return h(m(e.pageId,w(e)),e.data)},callMethod:function(t){var n,r=w(t),o=((n={})[e.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",n[e.METHOD_NOT_EXISTS]="component."+t.method+" not exists",n);return new Promise((function(e,n){T(m(t.pageId,r),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(o[e]))}))}))}},M=("undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),[]),P=0;P<256;++P)M[P]=(P+256).toString(16).substr(1);["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){return u(a(e))}));var b={};Object.keys(I).forEach((function(e){b["App."+e]=I[e]})),Object.keys(C).forEach((function(e){b["Page."+e]=C[e]})),Object.keys(x).forEach((function(e){b["Element."+e]=x[e]}));var $,k=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function A(e){$.send({data:JSON.stringify(e)})}function N(e){var t=JSON.parse(e.data),n=t.id,r=t.method,o=t.params,i={id:n},a=b[r];if(!a&&!a)return i.error={message:r+" unimplemented"},A(i);try{a(o).then((function(e){e&&(i.result=e)})).catch((function(e){i.error={message:e.message}})).finally((function(){A(i)}))}catch(e){i.error={message:e.message},A(i)}}wx.$$initRuntimeAutomator=function(e){void 0===e&&(e={}),($=uni.connectSocket({url:k,complete:function(){}})).onMessage(N),$.onOpen((function(t){e.success&&e.success(),console.log("已开启自动化测试...")})),$.onError((function(e){console.log("automator.onError",e)})),$.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){wx.$$initRuntimeAutomator()}),500);
var e,t=Object.prototype.hasOwnProperty,n=function(e){return null==e},r=Array.isArray,o=function(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}},i=/-(\w)/g,a=o((function(e){return e.replace(i,(function(e,t){return t?t.toUpperCase():""}))})),u=o((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function s(e,n){if(r(e))return e;if(n&&(o=n,i=e,t.call(o,i)))return[e];var o,i,a=[];return e.replace(c,(function(e,t,n,r){return a.push(n?r.replace(/\\(\\)?/g,"$1"):t||e),r})),a}function f(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function p(e){return e.route||e.uri}function d(e){return e.options||e.$page&&e.$page.options||{}}function l(e){return{id:f(e),path:p(e),query:d(e)}}function g(e){var t=function(e){return getCurrentPages().find((function(t){return f(t)===e}))}(e);return t&&t.$vm}function m(e,t){var n=g(e);return n&&function e(t,n){var r;return t&&(!function(e,t){return e.$scope&&((n=e.$scope).__wxExparserNodeId__||n.nodeId||n.id)===t;var n}(t,n)?t.$children.find((function(t){return r=e(t,n)})):r=t),r}(n,t)}function v(e,t){var r;return e&&(r=t?function(e,t){var r,o=s(t,e);for(r=o.shift();!n(r);){if(null==(e=e[r]))return;r=o.shift()}return e}(e.$data,t):Object.assign({},e.$data)),Promise.resolve({data:r})}function h(e,t){return e&&Object.keys(t).forEach((function(n){e[n]=t[n]})),Promise.resolve()}function y(t,n,r){return new Promise((function(o,i){if(!t)return i(e.VM_NOT_EXISTS);if(!t[n])return i(e.VM_NOT_EXISTS);var a,u=t[n].apply(t,r);!(a=u)||"object"!=typeof a&&"function"!=typeof a||"function"!=typeof a.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 T=["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"],_={},O=/Sync$/,S=/^on|^off/;function E(e){return O.test(e)||-1!==T.indexOf(e)}var I={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return l(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),t=e.length;return new Promise((function(n,r){t?n(l(e[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){var t=e.method,n=e.args;return new Promise((function(e,r){if(!uni[t])return r(Error("uni."+t+" not exists"));if(E(t))return e({result:uni[t].apply(uni,n)});var o=[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){var t=e.method;if(!uni[t])throw Error("uni."+t+" not exists");if(!function(e){return!S.test(e)}(t))throw Error("You can't mock uni."+t);var r,o=e.result,i=e.functionDeclaration;return n(o)&&n(i)?(_[t]&&(uni[t]=_[t],delete _[t]),Promise.resolve()):((r=n(i)?E(t)?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 t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return new Function("return "+i)().apply(r,t.concat(e.args))}).origin=_[t]||uni[t],_[t]||(_[t]=uni[t]),uni[t]=r,Promise.resolve())}},w={getData:function(e){return v(g(e.pageId),e.path)},setData:function(e){return h(g(e.pageId),e.data)},callMethod:function(t){var n,r=((n={})[e.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",n[e.METHOD_NOT_EXISTS]="page."+t.method+" not exists",n);return new Promise((function(e,n){y(g(t.pageId),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(r[e]))}))}))}};function C(e){return e.nodeId||e.elementId}for(var x={getData:function(e){return v(m(e.pageId,C(e)),e.path)},setData:function(e){return h(m(e.pageId,C(e)),e.data)},callMethod:function(t){var n,r=C(t),o=((n={})[e.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",n[e.METHOD_NOT_EXISTS]="component."+t.method+" not exists",n);return new Promise((function(e,n){y(m(t.pageId,r),t.method,t.args).then((function(t){return e(t)})).catch((function(e){n(Error(o[e]))}))}))}},M=("undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),[]),P=0;P<256;++P)M[P]=(P+256).toString(16).substr(1);["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){return u(a(e))}));var b={};Object.keys(I).forEach((function(e){b["App."+e]=I[e]})),Object.keys(w).forEach((function(e){b["Page."+e]=w[e]})),Object.keys(x).forEach((function(e){b["Element."+e]=x[e]}));var $,k=process.env.UNI_AUTOMATOR_WS_ENDPOINT;function A(e){$.send({data:JSON.stringify(e)})}function N(e){var t=JSON.parse(e.data),n=t.id,r=t.method,o=t.params,i={id:n},a=b[r];if(!a&&!a)return i.error={message:r+" unimplemented"},A(i);try{a(o).then((function(e){e&&(i.result=e)})).catch((function(e){i.error={message:e.message}})).finally((function(){A(i)}))}catch(e){i.error={message:e.message},A(i)}}wx.$$initRuntimeAutomator=function(e){void 0===e&&(e={}),($=uni.connectSocket({url:k,complete:function(){}})).onMessage(N),$.onOpen((function(t){e.success&&e.success(),console.log("已开启自动化测试...")})),$.onError((function(e){console.log("automator.onError",e)})),$.onClose((function(){e.fail&&e.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.
先完成此消息的编辑!
想要评论请 注册