@teamix/testing-capability
Version:
TeamixTest 测试能力
170 lines (161 loc) • 7.07 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.version = exports.teamixTest = exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _listenerPostMessage = _interopRequireDefault(require("./module/listenerPostMessage"));
var _listenerError = _interopRequireDefault(require("./precheck/listenerError"));
var _design = _interopRequireDefault(require("./design"));
var _network = _interopRequireDefault(require("./network"));
var _module = _interopRequireDefault(require("./module"));
var _performance = _interopRequireDefault(require("./performance"));
var _ui = _interopRequireDefault(require("./ui"));
var _precheck = _interopRequireDefault(require("./precheck"));
var _utils = require("./utils");
var _calculate = require("./utils/calculate");
exports.pageCalculate = _calculate.pageCalculate;
exports.productCalculate = _calculate.productCalculate;
exports.calculateUES = _calculate.calculateUES;
exports.calculateSingleUESScore = _calculate.calculateSingleUESScore;
var _designRules = require("./design/designRules");
exports.UES_MAP = _designRules.UES_MAP;
exports.STANDARD_MAP = _designRules.STANDARD_MAP;
var _networkRules = require("./network/networkRules");
exports.NETWORK_RULES = _networkRules.NETWORK_RULES;
var _opentest = _interopRequireDefault(require("./opentest"));
exports.openTestMap = _opentest["default"];
require("geteventlisteners");
var _excluded = ["ruleType", "testItem", "theme", "brand", "language", "uiPrefix", "proPrefix", "infoLimit", "extendMap"];
/**
* 开始监听postMessage数据
*/
(0, _listenerPostMessage["default"])();
/**
* 开始监听页面报错信息
*/
(0, _listenerError["default"])();
/**
* teamixTest测试能力
* @param config
* @returns result
*/
var testInner = /*#__PURE__*/function () {
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
var ruleType, testItem, _ref$theme, theme, _ref$brand, brand, _ref$language, language, _ref$uiPrefix, uiPrefix, _ref$proPrefix, proPrefix, _ref$infoLimit, infoLimit, _ref$extendMap, extendMap, reset, config, actionItem, teamixTestResult, openTestKey;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
ruleType = _ref.ruleType, testItem = _ref.testItem, _ref$theme = _ref.theme, theme = _ref$theme === void 0 ? 'light' : _ref$theme, _ref$brand = _ref.brand, brand = _ref$brand === void 0 ? 'default' : _ref$brand, _ref$language = _ref.language, language = _ref$language === void 0 ? 'zh-CN' : _ref$language, _ref$uiPrefix = _ref.uiPrefix, uiPrefix = _ref$uiPrefix === void 0 ? ['.next-'] : _ref$uiPrefix, _ref$proPrefix = _ref.proPrefix, proPrefix = _ref$proPrefix === void 0 ? ['.teamix-pro'] : _ref$proPrefix, _ref$infoLimit = _ref.infoLimit, infoLimit = _ref$infoLimit === void 0 ? 2 : _ref$infoLimit, _ref$extendMap = _ref.extendMap, extendMap = _ref$extendMap === void 0 ? {} : _ref$extendMap, reset = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
config = (0, _extends2["default"])({}, reset, {
ruleType: ruleType,
theme: theme,
brand: brand,
language: language,
uiPrefix: uiPrefix,
proPrefix: proPrefix,
infoLimit: infoLimit,
extendMap: extendMap
});
(0, _utils.configRecordInfo)(infoLimit);
// 根据依赖关系生成执行项
actionItem = testItem === null || testItem === void 0 ? void 0 : testItem.reduce(function (p, c) {
// 待测试项的依赖关系
var actionDependencies = {
DESIGN: ['DESIGN', 'MODULE', 'NETWORK', 'PERFORMANCE']
};
var mergeActionItem = p.concat(actionDependencies[c] || c);
return mergeActionItem;
}, []); // 创建检查结果对象
teamixTestResult = {
beginTime: new Date().getTime(),
endTime: 0
};
/**
* 组件库依赖检查
*/
if (!actionItem.includes('MODULE')) {
_context.next = 9;
break;
}
console.log('moduleTest => ing...');
_context.next = 9;
return (0, _module["default"])(config, function (moduleInfo) {
teamixTestResult.moduleInfo = moduleInfo;
});
case 9:
/**
* 网络通信检查
*/
if (actionItem.includes('NETWORK')) {
(0, _network["default"])(config, function (networkResult) {
teamixTestResult.networkInfo = networkResult;
});
}
/**
* 页面性能检查
*/
if (actionItem.includes('PERFORMANCE')) {
(0, _performance["default"])(teamixTestResult, config);
}
/**
* UI覆盖率检查
*/
if (actionItem.includes('UI')) {
(0, _ui["default"])(teamixTestResult, config);
}
/**
* 体验设计检查
*/
if (actionItem.includes('DESIGN')) {
(0, _design["default"])(teamixTestResult, config);
}
/**
* 预测试
*/
if (actionItem.includes('PRECHECK')) {
(0, _precheck["default"])(teamixTestResult, config);
}
/**
* 开放测试能力
*/
_context.t0 = _regenerator["default"].keys(_opentest["default"]);
case 15:
if ((_context.t1 = _context.t0()).done) {
_context.next = 23;
break;
}
openTestKey = _context.t1.value;
if (!actionItem.includes(openTestKey)) {
_context.next = 21;
break;
}
_context.next = 20;
return _opentest["default"][openTestKey].test(teamixTestResult, config);
case 20:
(0, _calculate.optimizeInfo)(teamixTestResult);
case 21:
_context.next = 15;
break;
case 23:
return _context.abrupt("return", (0, _extends2["default"])({}, teamixTestResult, {
endTime: new Date().getTime()
}));
case 24:
case "end":
return _context.stop();
}
}, _callee);
}));
return function testInner(_x) {
return _ref2.apply(this, arguments);
};
}();
var teamixTest = testInner;
exports.teamixTest = teamixTest;
var version = '1.0.53';
exports.version = version;
var _default = teamixTest;
exports["default"] = _default;