t-comm
Version:
专业、稳定、纯粹的工具库
101 lines (96 loc) • 3.15 kB
JavaScript
;
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;