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

chore:automator

上级 4c9a338e
var n,e=Object.prototype.hasOwnProperty,t=Array.isArray,r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function o(n,o){if(t(n))return n;if(o&&(i=o,u=n,e.call(i,u)))return[n];var i,u,a=[];return n.replace(r,(function(n,e,t,r){return a.push(t?r.replace(/\\(\\)?/g,"$1"):e||n),r})),a}function i(n){return n.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:n.$page?n.$page.id:void 0}function u(n){return n.route||n.uri}function a(n){return n.options||n.$page&&n.$page.options||{}}function c(n){return{id:i(n),path:u(n),query:a(n)}}function s(n){var e=function(n){return getCurrentPages().find((function(e){return i(e)===n}))}(n);return e&&e.$vm}function f(n,e){var t=s(n);return t&&function n(e,t){var r;return e&&(!function(n,e){return function(n){if(n._$id)return n._$id;var e=function(n){for(var e=n.$parent;e;){if(e._$id)return e;e=e.$parent}}(n);if(!n.$parent)return"-1";var t=n.$vnode,r=t.context;return r&&r!==e&&r._$id?r._$id+";"+e._$id+","+t.data.attrs._i:e._$id+","+t.data.attrs._i}(n)===e}(e,t)?e.$children.find((function(e){return r=n(e,t)})):r=e),r}(t,e)}function g(n,e){var t;return n&&(t=e?function(n,e){var t,r=o(e,n);for(t=r.shift();null!=t;){if(null==(n=n[t]))return;t=r.shift()}return n}(n.$data,e):Object.assign({},n.$data)),Promise.resolve({data:t})}function d(n,e){return n&&Object.keys(e).forEach((function(t){n[t]=e[t]})),Promise.resolve()}function p(e,t,r){return new Promise((function(o,i){if(!e)return i(n.VM_NOT_EXISTS);if(!e[t])return i(n.VM_NOT_EXISTS);var u,a=e[t].apply(e,r);!(u=a)||"object"!=typeof u&&"function"!=typeof u||"function"!=typeof u.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={}));var l=/Sync$/;var v={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(n){return c(n)}))})},getCurrentPage:function(){var n=getCurrentPages(),e=n.length;return new Promise((function(t,r){e?t(c(n[e-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){var e=n.method,t=n.args;return new Promise((function(n,r){if(!uni[e])return r(Error("uni."+e+" not exists"));if(function(n){return l.test(n)}(e))return n({result:uni[e].apply(uni,t)});var o=[Object.assign({},t[0]||{},{success:function(t){setTimeout((function(){n({result:t})}),"pageScrollTo"===e?350:0)},fail:function(n){r(Error(n.errMsg.replace(e+":fail ","")))}})];uni[e].apply(uni,o)}))}},_={getData:function(n){return g(s(n.pageId),n.path)},setData:function(n){return d(s(n.pageId),n.data)},callMethod:function(e){var t,r=((t={})[n.VM_NOT_EXISTS]="Page["+e.pageId+"] not exists",t[n.METHOD_NOT_EXISTS]="page."+e.method+" not exists",t);return new Promise((function(n,t){p(s(e.pageId),e.method,e.args).then((function(e){return n(e)})).catch((function(n){t(Error(r[n]))}))}))}};function h(n){return n.nodeId||n.elementId}var m={getData:function(n){return g(f(n.pageId,h(n)),n.path)},setData:function(n){return d(f(n.pageId,h(n)),n.data)},callMethod:function(e){var t,r=h(e),o=((t={})[n.VM_NOT_EXISTS]="Component["+e.pageId+":"+r+"] not exists",t[n.METHOD_NOT_EXISTS]="component."+e.method+" not exists",t);return new Promise((function(n,t){p(f(e.pageId,r),e.method,e.args).then((function(e){return n(e)})).catch((function(n){t(Error(o[n]))}))}))}},S={};Object.keys(v).forEach((function(n){S["App."+n]=v[n]})),Object.keys(_).forEach((function(n){S["Page."+n]=_[n]})),Object.keys(m).forEach((function(n){S["Element."+n]=m[n]}));var T=process.env.UNI_AUTOMATOR_WS_ENDPOINT;setTimeout((function(){!function(n){void 0===n&&(n={}),UniServiceJSBridge.subscribe("onAutoMessageReceive",(function(n){t(n)}));var e=uni.connectSocket({url:T,complete:function(){}}),t=function(n){return e.send({data:JSON.stringify(n)})};e.onOpen((function(e){n.success&&n.success(),console.log("已开启自动化测试...")})),e.onMessage((function(n){var e=JSON.parse(n.data),r=e.id,o=e.method,i=e.params,u={id:r},a=S[o];if(!a){var c=i.pageId;if(!c){var s=getCurrentPages();s.length&&(c=s[s.length-1].$page.id)}return UniServiceJSBridge.publishHandler("sendAutoMessage",{id:r,method:o,params:i},c)}try{a(i).then((function(n){n&&(u.result=n)})).catch((function(n){u.error={message:n.message}})).finally((function(){t(u)}))}catch(n){u.error={message:n.message},t(u)}})),e.onError((function(n){console.log("automator.onError",n)})),e.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))}()}),500);
var n,e=Object.prototype.hasOwnProperty,t=Array.isArray,r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function o(n,o){if(t(n))return n;if(o&&(i=o,u=n,e.call(i,u)))return[n];var i,u,a=[];return n.replace(r,(function(n,e,t,r){return a.push(t?r.replace(/\\(\\)?/g,"$1"):e||n),r})),a}function i(n){return n.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:n.$page?n.$page.id:void 0}function u(n){return n.route||n.uri}function a(n){return n.options||n.$page&&n.$page.options||{}}function c(n){return{id:i(n),path:u(n),query:a(n)}}function s(n){var e=function(n){return getCurrentPages().find((function(e){return i(e)===n}))}(n);return e&&e.$vm}function f(n,e){var t=s(n);return t&&function n(e,t){var r;return e&&(!function(n,e){return function(n){if(n._$id)return n._$id;var e=function(n){for(var e=n.$parent;e;){if(e._$id)return e;e=e.$parent}}(n);if(!n.$parent)return"-1";var t=n.$vnode,r=t.context;return r&&r!==e&&r._$id?r._$id+";"+e._$id+","+t.data.attrs._i:e._$id+","+t.data.attrs._i}(n)===e}(e,t)?e.$children.find((function(e){return r=n(e,t)})):r=e),r}(t,e)}function g(n,e){var t;return n&&(t=e?function(n,e){var t,r=o(e,n);for(t=r.shift();null!=t;){if(null==(n=n[t]))return;t=r.shift()}return n}(n.$data,e):Object.assign({},n.$data)),Promise.resolve({data:t})}function d(n,e){return n&&Object.keys(e).forEach((function(t){n[t]=e[t]})),Promise.resolve()}function p(e,t,r){return new Promise((function(o,i){if(!e)return i(n.VM_NOT_EXISTS);if(!e[t])return i(n.VM_NOT_EXISTS);var u,a=e[t].apply(e,r);!(u=a)||"object"!=typeof u&&"function"!=typeof u||"function"!=typeof u.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={}));var l=/Sync$/;var v={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(n){return c(n)}))})},getCurrentPage:function(){var n=getCurrentPages(),e=n.length;return new Promise((function(t,r){e?t(c(n[e-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){var e=n.method,t=n.args;return new Promise((function(n,r){if(!uni[e])return r(Error("uni."+e+" not exists"));if(function(n){return l.test(n)}(e))return n({result:uni[e].apply(uni,t)});var o=[Object.assign({},t[0]||{},{success:function(t){setTimeout((function(){n({result:t})}),"pageScrollTo"===e?350:0)},fail:function(n){r(Error(n.errMsg.replace(e+":fail ","")))}})];uni[e].apply(uni,o)}))}},_={getData:function(n){return g(s(n.pageId),n.path)},setData:function(n){return d(s(n.pageId),n.data)},callMethod:function(e){var t,r=((t={})[n.VM_NOT_EXISTS]="Page["+e.pageId+"] not exists",t[n.METHOD_NOT_EXISTS]="page."+e.method+" not exists",t);return new Promise((function(n,t){p(s(e.pageId),e.method,e.args).then((function(e){return n(e)})).catch((function(n){t(Error(r[n]))}))}))}};function h(n){return n.nodeId||n.elementId}var m={getData:function(n){return g(f(n.pageId,h(n)),n.path)},setData:function(n){return d(f(n.pageId,h(n)),n.data)},callMethod:function(e){var t,r=h(e),o=((t={})[n.VM_NOT_EXISTS]="Component["+e.pageId+":"+r+"] not exists",t[n.METHOD_NOT_EXISTS]="component."+e.method+" not exists",t);return new Promise((function(n,t){p(f(e.pageId,r),e.method,e.args).then((function(e){return n(e)})).catch((function(n){t(Error(o[n]))}))}))}},S={};Object.keys(v).forEach((function(n){S["App."+n]=v[n]})),Object.keys(_).forEach((function(n){S["Page."+n]=_[n]})),Object.keys(m).forEach((function(n){S["Element."+n]=m[n]}));var T=process.env.UNI_AUTOMATOR_WS_ENDPOINT;setTimeout((function(){!function(n){void 0===n&&(n={}),UniServiceJSBridge.subscribe("onAutoMessageReceive",(function(n){t(n)}));var e=uni.connectSocket({url:T,complete:function(){}}),t=function(n){return e.send({data:JSON.stringify(n)})};e.onOpen((function(e){n.success&&n.success(),console.log("已开启自动化测试...")})),e.onMessage((function(n){var e=JSON.parse(n.data),r=e.id,o=e.method,i=e.params,u={id:r},a=S[o];if(!a){var c=!1,s=i.pageId;if(!s){var f=getCurrentPages();if(f.length){var g=f[f.length-1].$page;s=g.id,c=!!g.meta.isNVue}}if(!c)return UniServiceJSBridge.publishHandler("sendAutoMessage",{id:r,method:o,params:i},s)}try{a(i).then((function(n){n&&(u.result=n)})).catch((function(n){u.error={message:n.message}})).finally((function(){t(u)}))}catch(n){u.error={message:n.message},t(u)}})),e.onError((function(n){console.log("automator.onError",n)})),e.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))}()}),500);
......@@ -12,4 +12,4 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
function e(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var u=arguments[t],i=0,c=u.length;i<c;i++,o++)r[o]=u[i];return r}var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),n=new Uint8Array(16);function r(){if(!t)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return t(n)}for(var o=[],u=0;u<256;++u)o[u]=(u+256).toString(16).substr(1);function i(e,t,n){var u=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||r)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var c=0;c<16;++c)t[u+c]=i[c];return t||function(e,t){var n=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)}var c=Object.prototype.hasOwnProperty,a=Array.isArray,s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function l(e,t){if(a(e))return e;if(t&&(n=t,r=e,c.call(n,r)))return[e];var n,r,o=[];return e.replace(s,(function(e,t,n,r){return o.push(n?r.replace(/\\(\\)?/g,"$1"):t||e),r})),o}function f(e,t){var n,r=l(t,e);for(n=r.shift();null!=n;){if(null==(e=e[n]))return;n=r.shift()}return e}var d=new Map;function m(e){var t=d.get(e);if(!t)throw Error("element destroyed");return t.element}function p(e){if(!function(e){if(e){var t=e.tagName;return 0===t.indexOf("UNI-")||"BODY"===t}return!1}(e))throw Error("no such element");var t,n,r={elementId:(t=e,n=t._id,n||(n=i(),t._id=n,d.set(n,{id:n,element:t})),n),tagName:e.tagName.toLocaleLowerCase().replace("uni-","")},o=e.__vue__;return o&&!o.$options.isReserved&&(r.nodeId=function(e){if(e._$id)return e._$id;var t=function(e){for(var t=e.$parent;t;){if(t._$id)return t;t=t.$parent}}(e);if(!e.$parent)return"-1";var n=e.$vnode,r=n.context;return r&&r!==t&&r._$id?r._$id+";"+t._$id+","+n.data.attrs._i:t._$id+","+n.data.attrs._i}(o)),"video"===r.tagName&&(r.videoId=r.nodeId),r}function v(e,t){return Promise.resolve(p(e.querySelector(t)))}function g(e,t){var n=[];return document.querySelectorAll(t).forEach((function(e){try{n.push(p(e))}catch(e){}})),Promise.resolve({elements:n})}function _(e,t){return Promise.resolve({properties:t.map((function(t){var n=f(e,t);return"document.documentElement.scrollTop"===t&&0===n&&(n=f(e,"document.body.scrollTop")),n}))})}function h(e,t,n){n||(n={}),n.touches||(n.touches=[]),n.changedTouches||(n.changedTouches=[]),n.touches.length||n.touches.push({identifier:Date.now(),target:e});var r=n.touches.map((function(e){return new Touch(e)})),o=n.changedTouches.map((function(e){return new Touch(e)}));return e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,touches:r,targetTouches:[],changedTouches:o})),Promise.resolve()}var y={input:{input:function(e,t){var n=e.__vue__;n.inputValue=t,n._onInput({target:{value:t}})}},textarea:{input:function(e,t){e.__vue__.valueSync=t}},"scroll-view":{scrollTo:function(e,t,n){var r=e.__vue__.$refs.main;r.scrollLeft=t,r.scrollTop=n},scrollTop:function(e){return e.__vue__.$refs.main.scrollTop},scrollLeft:function(e){return e.__vue__.$refs.main.scrollLeft},scrollWidth:function(e){return e.__vue__.$refs.main.scrollWidth},scrollHeight:function(e){return e.__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){var n=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})}}};var w={getElement:function(e){return v(document,e.selector)},getElements:function(e){return g(document,e.selector)},getWindowProperties:function(e){return _(window,e.names)}},$={getElement:function(e){return v(m(e.elementId),e.selector)},getElements:function(e){return g(m(e.elementId),e.selector)},getDOMProperties:function(e){return _(m(e.elementId),e.names)},getProperties:function(e){return _(m(e.elementId).__vue__,e.names)},getOffset:function(e){var t=m(e.elementId).getBoundingClientRect();return Promise.resolve({left:t.left+window.pageXOffset,top:t.top+window.pageYOffset})},getAttributes:function(e){return t=m(e.elementId),n=e.names,Promise.resolve({attributes:n.map((function(e){return String(t.getAttribute(e))}))});var t,n},getStyles:function(e){return t=m(e.elementId),n=e.names,r=getComputedStyle(t),Promise.resolve({styles:n.map((function(e){return r[e]}))});var t,n,r},getHTML:function(e){return t=m(e.elementId),n=e.type,Promise.resolve({html:(r="outer"===n?t.outerHTML:t.innerHTML,r.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,"")})))});var t,n,r},tap:function(e){return m(e.elementId).click(),Promise.resolve()},touchstart:function(e){return h(m(e.elementId),"touchstart",e)},touchmove:function(e){return h(m(e.elementId),"touchmove",e)},touchend:function(e){return h(m(e.elementId),"touchend",e)},callFunction:function(t){return n=m(t.elementId),r=t.functionName,o=t.args,(u=f(y,r))?Promise.resolve({result:u.apply(null,e([n],o))}):Promise.reject(Error(r+" not exists"));var n,r,o,u},triggerEvent:function(e){return t=m(e.elementId),n=e.type,r=e.detail,(o=t.__vue__).$trigger&&o.$trigger(n,{},r),Promise.resolve();var t,n,r,o}},b={};function T(e){return UniViewJSBridge.publishHandler("onAutoMessageReceive",e)}Object.keys(w).forEach((function(e){b["Page."+e]=w[e]})),Object.keys($).forEach((function(e){b["Element."+e]=$[e]})),UniViewJSBridge.subscribe("sendAutoMessage",(function(e){var t=e.id,n=e.method,r=e.params,o={id:t},u=b[n];if(!u)return o.error={message:n+" unimplemented"},T(o);try{u(r).then((function(e){e&&(o.result=e)})).catch((function(e){o.error={message:e.message}})).finally((function(){T(o)}))}catch(e){o.error={message:e.message},T(o)}}));
function e(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var u=arguments[t],i=0,c=u.length;i<c;i++,o++)n[o]=u[i];return n}var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),r=new Uint8Array(16);function n(){if(!t)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return t(r)}for(var o=[],u=0;u<256;++u)o[u]=(u+256).toString(16).substr(1);function i(e,t,r){var u=t&&r||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||n)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var c=0;c<16;++c)t[u+c]=i[c];return t||function(e,t){var r=t||0,n=o;return[n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]]].join("")}(i)}var c=Object.prototype.hasOwnProperty,a=Array.isArray,l=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function s(e,t){if(a(e))return e;if(t&&(r=t,n=e,c.call(r,n)))return[e];var r,n,o=[];return e.replace(l,(function(e,t,r,n){return o.push(r?n.replace(/\\(\\)?/g,"$1"):t||e),n})),o}function f(e,t){var r,n=s(t,e);for(r=n.shift();null!=r;){if(null==(e=e[r]))return;r=n.shift()}return e}var m=new Map;function d(e){if(!function(e){if(e){var t=e.tagName;return 0===t.indexOf("UNI-")||"BODY"===t}return!1}(e))throw Error("no such element");var t,r,n={elementId:(t=e,r=t._id,r||(r=i(),t._id=r,m.set(r,{id:r,element:t})),r),tagName:e.tagName.toLocaleLowerCase().replace("uni-","")},o=e.__vue__;return o&&!o.$options.isReserved&&(n.nodeId=function(e){if(e._$id)return e._$id;var t=function(e){for(var t=e.$parent;t;){if(t._$id)return t;t=t.$parent}}(e);if(!e.$parent)return"-1";var r=e.$vnode,n=r.context;return n&&n!==t&&n._$id?n._$id+";"+t._$id+","+r.data.attrs._i:t._$id+","+r.data.attrs._i}(o)),"video"===n.tagName&&(n.videoId=n.nodeId),n}var p={input:{input:function(e,t){var r=e.__vue__;r.inputValue=t,r._onInput({target:{value:t}})}},textarea:{input:function(e,t){e.__vue__.valueSync=t}},"scroll-view":{scrollTo:function(e,t,r){var n=e.__vue__.$refs.main;n.scrollLeft=t,n.scrollTop=r},scrollTop:function(e){return e.__vue__.$refs.main.scrollTop},scrollLeft:function(e){return e.__vue__.$refs.main.scrollLeft},scrollWidth:function(e){return e.__vue__.$refs.main.scrollWidth},scrollHeight:function(e){return e.__vue__.$refs.main.scrollHeight}},swiper:{swipeTo:function(e,t){e.__vue__.current=t}},"movable-view":{moveTo:function(e,t,r){e.__vue__._animationTo(t,r)}},switch:{tap:function(e){e.click()}},slider:{slideTo:function(e,t){var r=e.__vue__,n=r.$refs["uni-slider"],o=n.offsetWidth,u=n.getBoundingClientRect().left;r.value=t,r._onClick({x:(t-r.min)*o/(r.max-r.min)+u})}}},g={getEl:function(e){var t=m.get(e);if(!t)throw Error("element destroyed");return t.element},querySelector:function(e,t){return Promise.resolve(d(e.querySelector(t)))},querySelectorAll:function(e,t){var r=[];return document.querySelectorAll(t).forEach((function(e){try{r.push(d(e))}catch(e){}})),Promise.resolve({elements:r})},queryProperties:function(e,t){return Promise.resolve({properties:t.map((function(t){var r=f(e,t);return"document.documentElement.scrollTop"===t&&0===r&&(r=f(e,"document.body.scrollTop")),r}))})},queryAttributes:function(e,t){return Promise.resolve({attributes:t.map((function(t){return String(e.getAttribute(t))}))})},queryStyles:function(e,t){var r=getComputedStyle(e);return Promise.resolve({styles:t.map((function(e){return r[e]}))})},queryHTML:function(e,t){return Promise.resolve({html:(r="outer"===t?e.outerHTML:e.innerHTML,r.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,"")})))});var r},dispatchTouchEvent:function(e,t,r){r||(r={}),r.touches||(r.touches=[]),r.changedTouches||(r.changedTouches=[]),r.touches.length||r.touches.push({identifier:Date.now(),target:e});var n=r.touches.map((function(e){return new Touch(e)})),o=r.changedTouches.map((function(e){return new Touch(e)}));return e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,touches:n,targetTouches:[],changedTouches:o})),Promise.resolve()},callFunction:function(t,r,n){var o=f(p,r);return o?Promise.resolve({result:o.apply(null,e([t],n))}):Promise.reject(Error(r+" not exists"))},triggerEvent:function(e,t,r){var n=e.__vue__;return n.$trigger&&n.$trigger(t,{},r),Promise.resolve()}};var v=Object.assign({},function(e){return{"Page.getElement":function(t){return e.querySelector(document,t.selector)},"Page.getElements":function(t){return e.querySelectorAll(document,t.selector)},"Page.getWindowProperties":function(t){return e.queryProperties(window,t.names)}}}(g),function(e){var t=function(t){return e.getEl(t.elementId,t.pageId)};return{"Element.getElement":function(r){return e.querySelector(t(r),r.selector)},"Element.getElements":function(r){return e.querySelectorAll(t(r),r.selector)},"Element.getDOMProperties":function(r){return e.queryProperties(t(r),r.names)},"Element.getProperties":function(r){return e.queryProperties(t(r).__vue__,r.names)},"Element.getOffset":function(e){var r=t(e).getBoundingClientRect();return Promise.resolve({left:r.left+window.pageXOffset,top:r.top+window.pageYOffset})},"Element.getAttributes":function(r){return e.queryAttributes(t(r),r.names)},"Element.getStyles":function(r){return e.queryStyles(t(r),r.names)},"Element.getHTML":function(r){return e.queryHTML(t(r),r.type)},"Element.tap":function(e){return t(e).click(),Promise.resolve()},"Element.touchstart":function(r){return e.dispatchTouchEvent(t(r),"touchstart",r)},"Element.touchmove":function(r){return e.dispatchTouchEvent(t(r),"touchmove",r)},"Element.touchend":function(r){return e.dispatchTouchEvent(t(r),"touchend",r)},"Element.callFunction":function(r){return e.callFunction(t(r),r.functionName,r.args)},"Element.triggerEvent":function(r){return e.triggerEvent(t(r),r.type,r.detail)}}}(g));function _(e){return UniViewJSBridge.publishHandler("onAutoMessageReceive",e)}UniViewJSBridge.subscribe("sendAutoMessage",(function(e){var t=e.id,r=e.method,n=e.params,o={id:t},u=v[r];if(!u)return o.error={message:r+" unimplemented"},_(o);try{u(n).then((function(e){e&&(o.result=e)})).catch((function(e){o.error={message:e.message}})).finally((function(){_(o)}))}catch(e){o.error={message:e.message},_(o)}}));
......@@ -12,4 +12,4 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
function e(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),o=0;for(n=0;n<t;n++)for(var u=arguments[n],i=0,a=u.length;i<a;i++,o++)r[o]=u[i];return r}var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),t=new Uint8Array(16);function r(){if(!n)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(t)}for(var o=[],u=0;u<256;++u)o[u]=(u+256).toString(16).substr(1);function i(e,n,t){var u=n&&t||0;"string"==typeof e&&(n="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||r)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,n)for(var a=0;a<16;++a)n[u+a]=i[a];return n||function(e,n){var t=n||0,r=o;return[r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]]].join("")}(i)}var a=Object.prototype.hasOwnProperty,c=Array.isArray,s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function f(e,n){if(c(e))return e;if(n&&(t=n,r=e,a.call(t,r)))return[e];var t,r,o=[];return e.replace(s,(function(e,n,t,r){return o.push(t?r.replace(/\\(\\)?/g,"$1"):n||e),r})),o}function l(e,n){var t,r=f(n,e);for(t=r.shift();null!=t;){if(null==(e=e[t]))return;t=r.shift()}return e}var d=new Map;function g(e){var n=d.get(e);if(!n)throw Error("element destroyed");return n.element}function m(e){if(!function(e){if(e){var n=e.tagName;return 0===n.indexOf("UNI-")||"BODY"===n}return!1}(e))throw Error("no such element");var n,t,r={elementId:(n=e,t=n._id,t||(t=i(),n._id=t,d.set(t,{id:t,element:n})),t),tagName:e.tagName.toLocaleLowerCase().replace("uni-","")},o=e.__vue__;return o&&!o.$options.isReserved&&(r.nodeId=function(e){return e._uid}(o)),"video"===r.tagName&&(r.videoId=r.nodeId),r}function p(e,n){return Promise.resolve(m(e.querySelector(n)))}function v(e,n){var t=[];return document.querySelectorAll(n).forEach((function(e){try{t.push(m(e))}catch(e){}})),Promise.resolve({elements:t})}function _(e,n){return Promise.resolve({properties:n.map((function(n){var t=l(e,n);return"document.documentElement.scrollTop"===n&&0===t&&(t=l(e,"document.body.scrollTop")),t}))})}function h(e,n,t){t||(t={}),t.touches||(t.touches=[]),t.changedTouches||(t.changedTouches=[]),t.touches.length||t.touches.push({identifier:Date.now(),target:e});var r=t.touches.map((function(e){return new Touch(e)})),o=t.changedTouches.map((function(e){return new Touch(e)}));return e.dispatchEvent(new TouchEvent(n,{cancelable:!0,bubbles:!0,touches:r,targetTouches:[],changedTouches:o})),Promise.resolve()}var y={input:{input:function(e,n){var t=e.__vue__;t.inputValue=n,t._onInput({target:{value:n}})}},textarea:{input:function(e,n){e.__vue__.valueSync=n}},"scroll-view":{scrollTo:function(e,n,t){var r=e.__vue__.$refs.main;r.scrollLeft=n,r.scrollTop=t},scrollTop:function(e){return e.__vue__.$refs.main.scrollTop},scrollLeft:function(e){return e.__vue__.$refs.main.scrollLeft},scrollWidth:function(e){return e.__vue__.$refs.main.scrollWidth},scrollHeight:function(e){return e.__vue__.$refs.main.scrollHeight}},swiper:{swipeTo:function(e,n){e.__vue__.current=n}},"movable-view":{moveTo:function(e,n,t){e.__vue__._animationTo(n,t)}},switch:{tap:function(e){e.click()}},slider:{slideTo:function(e,n){var t=e.__vue__,r=t.$refs["uni-slider"],o=r.offsetWidth,u=r.getBoundingClientRect().left;t.value=n,t._onClick({x:(n-t.min)*o/(t.max-t.min)+u})}}};var T,I={getElement:function(e){return p(document,e.selector)},getElements:function(e){return v(document,e.selector)},getWindowProperties:function(e){return _(window,e.names)}},E={getElement:function(e){return p(g(e.elementId),e.selector)},getElements:function(e){return v(g(e.elementId),e.selector)},getDOMProperties:function(e){return _(g(e.elementId),e.names)},getProperties:function(e){return _(g(e.elementId).__vue__,e.names)},getOffset:function(e){var n=g(e.elementId).getBoundingClientRect();return Promise.resolve({left:n.left+window.pageXOffset,top:n.top+window.pageYOffset})},getAttributes:function(e){return n=g(e.elementId),t=e.names,Promise.resolve({attributes:t.map((function(e){return String(n.getAttribute(e))}))});var n,t},getStyles:function(e){return n=g(e.elementId),t=e.names,r=getComputedStyle(n),Promise.resolve({styles:t.map((function(e){return r[e]}))});var n,t,r},getHTML:function(e){return n=g(e.elementId),t=e.type,Promise.resolve({html:(r="outer"===t?n.outerHTML:n.innerHTML,r.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,"")})))});var n,t,r},tap:function(e){return g(e.elementId).click(),Promise.resolve()},touchstart:function(e){return h(g(e.elementId),"touchstart",e)},touchmove:function(e){return h(g(e.elementId),"touchmove",e)},touchend:function(e){return h(g(e.elementId),"touchend",e)},callFunction:function(n){return t=g(n.elementId),r=n.functionName,o=n.args,(u=l(y,r))?Promise.resolve({result:u.apply(null,e([t],o))}):Promise.reject(Error(r+" not exists"));var t,r,o,u},triggerEvent:function(e){return n=g(e.elementId),t=e.type,r=e.detail,(o=n.__vue__).$trigger&&o.$trigger(t,{},r),Promise.resolve();var n,t,r,o}},S={};function O(e){return UniViewJSBridge.publishHandler("onAutoMessageReceive",e)}function P(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function w(e){return e.route||e.uri}function b(e){return e.options||e.$page&&e.$page.options||{}}function M(e){return{id:P(e),path:w(e),query:b(e)}}function $(e){var n=function(e){return getCurrentPages().find((function(n){return P(n)===e}))}(e);return n&&n.$vm}function N(e,n){var t=$(e);return t&&function e(n,t){var r;return n&&(!function(e,n){return e._uid===n}(n,t)?n.$children.find((function(n){return r=e(n,t)})):r=n),r}(t,n)}function C(e,n){var t;return e&&(t=n?l(e.$data,n):Object.assign({},e.$data)),Promise.resolve({data:t})}function x(e,n){return e&&Object.keys(n).forEach((function(t){e[t]=n[t]})),Promise.resolve()}function A(e,n,t){return new Promise((function(r,o){if(!e)return o(T.VM_NOT_EXISTS);if(!e[n])return o(T.VM_NOT_EXISTS);var u,i=e[n].apply(e,t);!(u=i)||"object"!=typeof u&&"function"!=typeof u||"function"!=typeof u.then?r({result:i}):i.then((function(e){r({result:e})}))}))}Object.keys(I).forEach((function(e){S["Page."+e]=I[e]})),Object.keys(E).forEach((function(e){S["Element."+e]=E[e]})),UniViewJSBridge.subscribe("sendAutoMessage",(function(e){var n=e.id,t=e.method,r=e.params,o={id:n},u=S[t];if(!u)return o.error={message:t+" unimplemented"},O(o);try{u(r).then((function(e){e&&(o.result=e)})).catch((function(e){o.error={message:e.message}})).finally((function(){O(o)}))}catch(e){o.error={message:e.message},O(o)}})),function(e){e.VM_NOT_EXISTS="VM_NOT_EXISTS",e.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(T||(T={}));var V=/Sync$/;var j={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return M(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),n=e.length;return new Promise((function(t,r){n?t(M(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(function(e){return V.test(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)}))}},k={getData:function(e){return C($(e.pageId),e.path)},setData:function(e){return x($(e.pageId),e.data)},callMethod:function(e){var n,t=((n={})[T.VM_NOT_EXISTS]="Page["+e.pageId+"] not exists",n[T.METHOD_NOT_EXISTS]="page."+e.method+" not exists",n);return new Promise((function(n,r){A($(e.pageId),e.method,e.args).then((function(e){return n(e)})).catch((function(e){r(Error(t[e]))}))}))}};function D(e){return e.nodeId||e.elementId}var R={getData:function(e){return C(N(e.pageId,D(e)),e.path)},setData:function(e){return x(N(e.pageId,D(e)),e.data)},callMethod:function(e){var n,t=D(e),r=((n={})[T.VM_NOT_EXISTS]="Component["+e.pageId+":"+t+"] not exists",n[T.METHOD_NOT_EXISTS]="component."+e.method+" not exists",n);return new Promise((function(n,o){A(N(e.pageId,t),e.method,e.args).then((function(e){return n(e)})).catch((function(e){o(Error(r[e]))}))}))}},H={};Object.keys(j).forEach((function(e){H["App."+e]=j[e]})),Object.keys(k).forEach((function(e){H["Page."+e]=k[e]})),Object.keys(R).forEach((function(e){H["Element."+e]=R[e]}));var X=process.env.UNI_AUTOMATOR_WS_ENDPOINT;setTimeout((function(){!function(e){void 0===e&&(e={}),UniServiceJSBridge.subscribe("onAutoMessageReceive",(function(e){t(e)}));var n=uni.connectSocket({url:X,complete:function(){}}),t=function(e){return n.send({data:JSON.stringify(e)})};n.onOpen((function(n){e.success&&e.success(),console.log("已开启自动化测试...")})),n.onMessage((function(e){var n=JSON.parse(e.data),r=n.id,o=n.method,u=n.params,i={id:r},a=H[o];if(!a){var c=u.pageId;if(!c){var s=getCurrentPages();s.length&&(c=s[s.length-1].$page.id)}return UniServiceJSBridge.publishHandler("sendAutoMessage",{id:r,method:o,params:u},c)}try{a(u).then((function(e){e&&(i.result=e)})).catch((function(e){i.error={message:e.message}})).finally((function(){t(i)}))}catch(e){i.error={message:e.message},t(i)}})),n.onError((function(e){console.log("automator.onError",e)})),n.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))}()}),500);
function e(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var u=arguments[t],i=0,c=u.length;i<c;i++,o++)r[o]=u[i];return r}var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),n=new Uint8Array(16);function r(){if(!t)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return t(n)}for(var o=[],u=0;u<256;++u)o[u]=(u+256).toString(16).substr(1);function i(e,t,n){var u=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||r)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var c=0;c<16;++c)t[u+c]=i[c];return t||function(e,t){var n=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)}var c=Object.prototype.hasOwnProperty,a=Array.isArray,s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function l(e,t){if(a(e))return e;if(t&&(n=t,r=e,c.call(n,r)))return[e];var n,r,o=[];return e.replace(s,(function(e,t,n,r){return o.push(n?r.replace(/\\(\\)?/g,"$1"):t||e),r})),o}function f(e,t){var n,r=l(t,e);for(n=r.shift();null!=n;){if(null==(e=e[n]))return;n=r.shift()}return e}var g=new Map;function p(e){if(!function(e){if(e){var t=e.tagName;return 0===t.indexOf("UNI-")||"BODY"===t}return!1}(e))throw Error("no such element");var t,n,r={elementId:(t=e,n=t._id,n||(n=i(),t._id=n,g.set(n,{id:n,element:t})),n),tagName:e.tagName.toLocaleLowerCase().replace("uni-","")},o=e.__vue__;return o&&!o.$options.isReserved&&(r.nodeId=function(e){return e._uid}(o)),"video"===r.tagName&&(r.videoId=r.nodeId),r}var d={input:{input:function(e,t){var n=e.__vue__;n.inputValue=t,n._onInput({target:{value:t}})}},textarea:{input:function(e,t){e.__vue__.valueSync=t}},"scroll-view":{scrollTo:function(e,t,n){var r=e.__vue__.$refs.main;r.scrollLeft=t,r.scrollTop=n},scrollTop:function(e){return e.__vue__.$refs.main.scrollTop},scrollLeft:function(e){return e.__vue__.$refs.main.scrollLeft},scrollWidth:function(e){return e.__vue__.$refs.main.scrollWidth},scrollHeight:function(e){return e.__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){var n=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})}}},m={getEl:function(e){var t=g.get(e);if(!t)throw Error("element destroyed");return t.element},querySelector:function(e,t){return Promise.resolve(p(e.querySelector(t)))},querySelectorAll:function(e,t){var n=[];return document.querySelectorAll(t).forEach((function(e){try{n.push(p(e))}catch(e){}})),Promise.resolve({elements:n})},queryProperties:function(e,t){return Promise.resolve({properties:t.map((function(t){var n=f(e,t);return"document.documentElement.scrollTop"===t&&0===n&&(n=f(e,"document.body.scrollTop")),n}))})},queryAttributes:function(e,t){return Promise.resolve({attributes:t.map((function(t){return String(e.getAttribute(t))}))})},queryStyles:function(e,t){var n=getComputedStyle(e);return Promise.resolve({styles:t.map((function(e){return n[e]}))})},queryHTML:function(e,t){return Promise.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,"")})))});var n},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});var r=n.touches.map((function(e){return new Touch(e)})),o=n.changedTouches.map((function(e){return new Touch(e)}));return e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,touches:r,targetTouches:[],changedTouches:o})),Promise.resolve()},callFunction:function(t,n,r){var o=f(d,n);return o?Promise.resolve({result:o.apply(null,e([t],r))}):Promise.reject(Error(n+" not exists"))},triggerEvent:function(e,t,n){var r=e.__vue__;return r.$trigger&&r.$trigger(t,{},n),Promise.resolve()}};var v,h=Object.assign({},function(e){return{"Page.getElement":function(t){return e.querySelector(document,t.selector)},"Page.getElements":function(t){return e.querySelectorAll(document,t.selector)},"Page.getWindowProperties":function(t){return e.queryProperties(window,t.names)}}}(m),function(e){var t=function(t){return e.getEl(t.elementId,t.pageId)};return{"Element.getElement":function(n){return e.querySelector(t(n),n.selector)},"Element.getElements":function(n){return e.querySelectorAll(t(n),n.selector)},"Element.getDOMProperties":function(n){return e.queryProperties(t(n),n.names)},"Element.getProperties":function(n){return e.queryProperties(t(n).__vue__,n.names)},"Element.getOffset":function(e){var n=t(e).getBoundingClientRect();return Promise.resolve({left:n.left+window.pageXOffset,top:n.top+window.pageYOffset})},"Element.getAttributes":function(n){return e.queryAttributes(t(n),n.names)},"Element.getStyles":function(n){return e.queryStyles(t(n),n.names)},"Element.getHTML":function(n){return e.queryHTML(t(n),n.type)},"Element.tap":function(e){return t(e).click(),Promise.resolve()},"Element.touchstart":function(n){return e.dispatchTouchEvent(t(n),"touchstart",n)},"Element.touchmove":function(n){return e.dispatchTouchEvent(t(n),"touchmove",n)},"Element.touchend":function(n){return e.dispatchTouchEvent(t(n),"touchend",n)},"Element.callFunction":function(n){return e.callFunction(t(n),n.functionName,n.args)},"Element.triggerEvent":function(n){return e.triggerEvent(t(n),n.type,n.detail)}}}(m));function _(e){return UniViewJSBridge.publishHandler("onAutoMessageReceive",e)}function y(e){return e.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void 0}function E(e){return e.route||e.uri}function T(e){return e.options||e.$page&&e.$page.options||{}}function S(e){return{id:y(e),path:E(e),query:T(e)}}function P(e){var t=function(e){return getCurrentPages().find((function(t){return y(t)===e}))}(e);return t&&t.$vm}function O(e,t){var n=P(e);return n&&function e(t,n){var r;return t&&(!function(e,t){return e._uid===t}(t,n)?t.$children.find((function(t){return r=e(t,n)})):r=t),r}(n,t)}function b(e,t){var n;return e&&(n=t?f(e.$data,t):Object.assign({},e.$data)),Promise.resolve({data:n})}function w(e,t){return e&&Object.keys(t).forEach((function(n){e[n]=t[n]})),Promise.resolve()}function I(e,t,n){return new Promise((function(r,o){if(!e)return o(v.VM_NOT_EXISTS);if(!e[t])return o(v.VM_NOT_EXISTS);var u,i=e[t].apply(e,n);!(u=i)||"object"!=typeof u&&"function"!=typeof u||"function"!=typeof u.then?r({result:i}):i.then((function(e){r({result:e})}))}))}UniViewJSBridge.subscribe("sendAutoMessage",(function(e){var t=e.id,n=e.method,r=e.params,o={id:t},u=h[n];if(!u)return o.error={message:n+" unimplemented"},_(o);try{u(r).then((function(e){e&&(o.result=e)})).catch((function(e){o.error={message:e.message}})).finally((function(){_(o)}))}catch(e){o.error={message:e.message},_(o)}})),function(e){e.VM_NOT_EXISTS="VM_NOT_EXISTS",e.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(v||(v={}));var M=/Sync$/;var $={getPageStack:function(){return Promise.resolve({pageStack:getCurrentPages().map((function(e){return S(e)}))})},getCurrentPage:function(){var e=getCurrentPages(),t=e.length;return new Promise((function(n,r){t?n(S(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(function(e){return M.test(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)}))}},N={getData:function(e){return b(P(e.pageId),e.path)},setData:function(e){return w(P(e.pageId),e.data)},callMethod:function(e){var t,n=((t={})[v.VM_NOT_EXISTS]="Page["+e.pageId+"] not exists",t[v.METHOD_NOT_EXISTS]="page."+e.method+" not exists",t);return new Promise((function(t,r){I(P(e.pageId),e.method,e.args).then((function(e){return t(e)})).catch((function(e){r(Error(n[e]))}))}))}};function A(e){return e.nodeId||e.elementId}var q={getData:function(e){return b(O(e.pageId,A(e)),e.path)},setData:function(e){return w(O(e.pageId,A(e)),e.data)},callMethod:function(e){var t,n=A(e),r=((t={})[v.VM_NOT_EXISTS]="Component["+e.pageId+":"+n+"] not exists",t[v.METHOD_NOT_EXISTS]="component."+e.method+" not exists",t);return new Promise((function(t,o){I(O(e.pageId,n),e.method,e.args).then((function(e){return t(e)})).catch((function(e){o(Error(r[e]))}))}))}},C={};Object.keys($).forEach((function(e){C["App."+e]=$[e]})),Object.keys(N).forEach((function(e){C["Page."+e]=N[e]})),Object.keys(q).forEach((function(e){C["Element."+e]=q[e]}));var x=process.env.UNI_AUTOMATOR_WS_ENDPOINT;setTimeout((function(){!function(e){void 0===e&&(e={}),UniServiceJSBridge.subscribe("onAutoMessageReceive",(function(e){n(e)}));var t=uni.connectSocket({url:x,complete:function(){}}),n=function(e){return t.send({data:JSON.stringify(e)})};t.onOpen((function(t){e.success&&e.success(),console.log("已开启自动化测试...")})),t.onMessage((function(e){var t=JSON.parse(e.data),r=t.id,o=t.method,u=t.params,i={id:r},c=C[o];if(!c){var a=u.pageId;if(!a){var s=getCurrentPages();if(s.length){var l=s[s.length-1].$page;a=l.id,!!l.meta.isNVue}}return UniServiceJSBridge.publishHandler("sendAutoMessage",{id:r,method:o,params:u},a)}try{c(u).then((function(e){e&&(i.result=e)})).catch((function(e){i.error={message:e.message}})).finally((function(){n(i)}))}catch(e){i.error={message:e.message},n(i)}})),t.onError((function(e){console.log("automator.onError",e)})),t.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))}()}),500);
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册