diff --git a/packages/wxa-cli/README.md b/packages/wxa-cli/README.md index 430bcaf5..53365e84 100644 --- a/packages/wxa-cli/README.md +++ b/packages/wxa-cli/README.md @@ -5,6 +5,7 @@ * 目前无法支持: * catchtap、catchlongpress等阻止冒泡事件(自动化element.tap、element.longpress等方法无法阻止冒泡) * 主动操作返回(因无法监听返回事件,所以录制过程中 *点击物理返回键*、*小程序titlebar返回键*、*ios手势返回*等返回操作,暂无法支持) + * 刷脸、文件上传 * 已知bug: * 暂无 * 待优化&计划: @@ -16,14 +17,17 @@ * 简化配置步骤,对测试更友好点 * 【真机】:支持真机 * 【服务器】:有个公共服务器解决用例执行的问题 + * 支持物理返回操作 + * 支持清理历史案例结果,可个性化配置仅保留X次 + * 开发配套web服务,实现录制回放全过程不用命令行 * 各种未知bug -2020年3月11日 +2021年4月23日 # 使用手册 ### 安装 * 先安装项目依赖 `wnpm i` -* 项目目录下执行命令 `wnpm i @webank/wxa-cli2-apple` +* 项目目录下执行命令 `wnpm i @webank/wxa-cli2-apple -D` ### python 及依赖安装(可选,带参数--py-diff时需要安装) * [Python官网](https://www.python.org/)下载Python安装包(python-3.X.X.exe) diff --git a/packages/wxa-cli/package.json b/packages/wxa-cli/package.json index 64345f28..cb4d0dba 100644 --- a/packages/wxa-cli/package.json +++ b/packages/wxa-cli/package.json @@ -1,6 +1,6 @@ { "name": "@webank/wxa-cli2-apple", - "version": "1.0.57", + "version": "1.0.63", "description": "cli for wxa development", "main": "dist/wxa.js", "scripts": { diff --git a/packages/wxa-cli/src/tester/domWalker.js b/packages/wxa-cli/src/tester/domWalker.js index 70c21aa5..428a0b4a 100644 --- a/packages/wxa-cli/src/tester/domWalker.js +++ b/packages/wxa-cli/src/tester/domWalker.js @@ -79,7 +79,9 @@ class XMLManager { let {isIeration, indexVariable} = this.findSelfOrAncestorIterationDirective(element); let keyElement = [pagePath, hash, element.attribs.id]; - if (isIeration) keyElement.push(`-{{${indexVariable}}}`); + if (isIeration){ + keyElement.push(`-{{${indexVariable}}}`); + } let id = this.assembleUniqueId(keyElement); element.attribs['data-_wxaTestUniqueId'] = id; @@ -136,7 +138,7 @@ class XMLManager { assembleUniqueId(keyElement) { return keyElement.reduce((prev, key)=>{ if (key) { - key = key.replace(/[^\w]/g, ''); + key = key.replace(/[^\w\{\}\-]/g, ''); key = key[0].toUpperCase() + key.slice(1); return prev + key; diff --git a/packages/wxa-cli/src/tester/wxa-e2eTest/e2eTestCaseTpl.ejs b/packages/wxa-cli/src/tester/wxa-e2eTest/e2eTestCaseTpl.ejs index ef0d13c0..d61e7173 100644 --- a/packages/wxa-cli/src/tester/wxa-e2eTest/e2eTestCaseTpl.ejs +++ b/packages/wxa-cli/src/tester/wxa-e2eTest/e2eTestCaseTpl.ejs @@ -110,7 +110,7 @@ for (let j = 0; j < testCaseNameArr.length; j++) { for (let i = 0; i < record.length; i++) { let recordItem = record[i]; let recordAction = recordItem.action; - let lastRecordAction = record[i - 1]?.action; + let lastRecordAction = record[i - 1] && record[i - 1].action; while (true) { page = await miniProgram.currentPage() if (recordAction.event === 'switchTab') {