smartapp-cts
介绍
smartapp-cts
是百度智能小程序一致性兼容测试套件,旨在为百度智能小程序生态联盟合作伙伴 APP 提供一致性兼容测试能力,从而让智能小程序在所有联盟 APP 上的运行拥有一致性的用户体验。
实现机理
以一个百度智能小程序(简称:CTS 小程序
)为测试载体,在其中组合使用小程序各类 API、组件、框架时序等能力,
针对 CTS 小程序
使用 smartapp-automator(百度小程序自动化测试引擎)编写一系列自动化测试用例,
同时,针对一些无法自动化测试的能力(如,音视频组件等能力),在 CTS 小程序
提供引导式的手动测试用例,
从而形成对百度智能小程序提供的各项能力的全面测试覆盖。
再通过为联盟合作伙伴提供本工具,指引一致性兼容测试进行。
快速开始
环境配置
- 运行环境配置:
-
Mac 电脑运行环境配置
- 支持驱动 Android、iOS、web 三端
- Window 电脑运行环境配置(暂不支持)
-
Mac 电脑运行环境配置
工程配置
请在你的工程目录里运行以下命令,安装 smartapp-cts
:
$ npm i smartapp-cts --save
进入工程目录
$ cd ./node_modules/smartapp-cts
安装npm
依赖
$ npm run build
用例执行器
$ node ./runner.js
运行 node ./runner.js --help
即可根据命令行提示,得到 ./runner.js
的使用方法:
Usage: node ./runner.js [options]
Options:
-V, --version CTS Runner Version
-O, --token <token> [必传]执行密钥
-DL, --deviceList 展示当前连接的设备 ID 列表
-D, --deviceId <deviceId> 指定待测设备 ID (default: 连着的第一台设备)
-P, --package <package> 指定待测宿主 APP 别名 (default: "baidu")
-T, --deviceType <deviceType> 指定待测设备类型 (default: "android")
-S, --suitePath [suitePath] 指定待执行用例路径 (default: [])
-W, --wdaProjPath <wdaProjPath> WDA 项目的绝对路径 (default: ~/WebDriverAgent/WebDriverAgent.xcodeproj)
-A, --autotest <autotest> 是否运行自动化用例 (default: true)
-L, --level <level> 能力级别 L1 ~ L4 (default: 4)
-C, --canIUse <canIUse> 是否开启 canIUse 前置校验 (default: true)
-R, --retry <retry> 是否开启 retry 功能 (default: true)
-ST, --singleTest <singleTest> 单测模式 (default: false)
-PN, --packageName <packageName> 包名
-SH, --schemeHead <schemeHead> 协议头
-SC, --scheme <scheme> scheme 格式
-h, --help display help for command
自动化测试
执行测试
方式一:
自定义执行宿主包名
、协议头
、scheme 格式
$ node ./runner.js -O ${token} -PN ${packageName} -SH ${schemeHead} -SC ${scheme}
方式二:
使用底层定义宿主代号执行测试
$ node ./runner.js -O ${token} -P ${package}
已支持 package 参数列表:
- baidu:手百 APP
- baidulite:百度极速版
- baiduMap:百度地图
- baiduTomas:百度大字版
- ...
方式三:
快捷方式
百度 APP 一致性兼容测试
$ npm run baidu ${token}
百度极速版一致性兼容测试
$ npm run baiduLite ${token}
百度地图一致性兼容测试
$ npm run baiduMap ${token}
百度大字版一致性兼容测试
$ npm run baiduTomas ${token}
报告查看
用例执行后会自动生成测试报告置放于 ./report
目录下。
报告上传
宿主每天最多可 上传 3 次
node ./upload.js -R ${reportPath} -O ${token}
运行 node ./upload.js --help
即可根据命令行提示,得到 ./upload.js
的使用方法:
Usage: node ./upload.js [options]
Options:
-V, --version CTS Upload Version
-O, --token <token> [必传]执行密钥
-R, --reportPath <reportPath> 指定待处理报告目录
-h, --help display help for command
手动测试
执行测试
与自动化测试相同,都调用 runner.js
执行器,需要额外传递 -A false
参数
$ node ./runner.js -O ${token} -PN ${packageName} -SH ${schemeHead} -SC ${scheme} -A false
报告上传
宿主每天最多可 上传 3 次
点击首页 提交测试结果
按钮即可提交报告。
Q&A
smartapp-cts
?
Q:谁在维护 百度小程序测试团队&百度小程序测试中台
Q:当前支持哪些 APP 运行 CTS ?
当前支持:百度 APP、百度地图、百度极速版...
更新日志
详细日志参考:ChangeLog
- 2021.11.22 发布 v1.8.0 版本,支持宿主工具产品化升级需求
- 2021.09.10 发布 v1.7.1 版本,支持宿主分级测试,新增部分功能日志打点
- 2021.09.01 发布 v1.6.1 版本,报告服务代码优化,支持多次 retry 功能
- 2021.08.12 发布 v1.5.5 版本,已知 bug 修复,稳定性优化
- 2021.07.26 发布 v1.4.1 版本,新增图片背景色比对本地算法
- 2021.07.20 发布 v1.3.1 版本,测试报告展示信息优化,token鉴权修改
- 2021.04.01 发布 v1.2.0 版本,AI相关能力切云端
- 2020.11.13 发布 v1.1.0 版本,支持 Mac 电脑操控 IOS 手机运行 CTS 自动化测试用例,支持报告上传
- 2020.10.30 发布 v1.0.0 版本,支持 Mac 电脑操控 Android 手机运行 CTS 自动化测试用例