UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

101 lines (96 loc) 3.15 kB
'use strict'; var tslib_es6 = require('./tslib.es6-01322ba9.js'); var e2eTest_element = require('./element-3c20a9c6.js'); // eslint-disable-next-line @typescript-eslint/naming-convention exports.DRAG_TYPE = void 0; (function (DRAG_TYPE) { DRAG_TYPE["DOT_TO_DOT"] = "DOT_TO_DOT"; DRAG_TYPE["STEPS"] = "STEPS"; })(exports.DRAG_TYPE || (exports.DRAG_TYPE = {})); var STEP_UNIT = 56; function dragElement(_a) { var page = _a.page, source = _a.source, target = _a.target, mode = _a.mode, _b = _a.reverse, reverse = _b === void 0 ? false : _b, _c = _a.stepUnit, stepUnit = _c === void 0 ? STEP_UNIT : _c; return tslib_es6.__awaiter(this, void 0, void 0, function () { var sourceRect, targetRect, start, end, _d, unit, steps, i; return tslib_es6.__generator(this, function (_e) { switch (_e.label) { case 0: return [4 /*yield*/, e2eTest_element.getRect(source, page)]; case 1: sourceRect = _e.sent(); return [4 /*yield*/, e2eTest_element.getRect(target, page)]; case 2: targetRect = _e.sent(); start = (sourceRect.top + sourceRect.bottom) / 2; end = (targetRect.top + targetRect.bottom) / 2; if (reverse) { end = start - (end - start); } return [4 /*yield*/, page.mouse.move((sourceRect.left + sourceRect.right) / 2, start)]; case 3: _e.sent(); return [4 /*yield*/, page.mouse.down()]; case 4: _e.sent(); _d = mode; switch (_d) { case exports.DRAG_TYPE.DOT_TO_DOT: return [3 /*break*/, 5]; case exports.DRAG_TYPE.STEPS: return [3 /*break*/, 8]; } return [3 /*break*/, 14]; case 5: return [4 /*yield*/, page.mouse.move((targetRect.left + targetRect.right) / 2, end)]; case 6: _e.sent(); return [4 /*yield*/, e2eTest_element.justWait(1000)]; case 7: _e.sent(); return [3 /*break*/, 15]; case 8: unit = end > start ? stepUnit : -stepUnit; steps = Math.abs(Math.round((end - start) / unit)); i = 0; _e.label = 9; case 9: if (!(i < steps)) return [3 /*break*/, 13]; return [4 /*yield*/, page.mouse.move((targetRect.left + targetRect.right) / 2, start + unit * (i + 1), { steps: 1 })]; case 10: _e.sent(); return [4 /*yield*/, e2eTest_element.justWait(200)]; case 11: _e.sent(); _e.label = 12; case 12: i++; return [3 /*break*/, 9]; case 13: return [3 /*break*/, 15]; case 14: _e.label = 15; case 15: return [4 /*yield*/, page.mouse.up()]; case 16: _e.sent(); return [2 /*return*/]; } }); }); } var drag = /*#__PURE__*/Object.freeze({ __proto__: null, get DRAG_TYPE () { return exports.DRAG_TYPE; }, dragElement: dragElement }); exports.drag = drag; exports.dragElement = dragElement;