# 版本记录
# v2.5
- 【需求】支持串联多场景的执行任务
# v2.4
- 【需求】轻舟与磐石打通,可以选择正向的case,用于端上的验证处理
- 【需求】提高步骤执行速度,避免某些场景下,控件快速消失导致操作失败的问题
- 【需求】执行任务进行中支持中断任务
- 【需求】点击步骤、如果步骤支持设定超时时间
- 【bug修复】按键步骤在报告中展示异常
- 【bug修复】用例报告中,mock数据展示不全
- 【bug修复】mock数据中的Unicode要转换成中文
- 【bug修复】屏幕滑动步骤在apad上大概率偶现向上/下滑动没效果,左右滑动位置奇特的现象
- 【bug修复】采用异步截图提高步骤执行速度后,报告的步骤没有截图
- 【bug修复】部分用例里面拖动步骤后,整个步骤的顺序乱掉了
- 【优化】用例编辑器步骤的拖动增加拖拽效果,速度更快
# v2.3
- 【优化】如果、循环步骤支持单步调试,不再检查语法规则
- 【优化】添加步骤选择控件支持搜索控件,解决控件太多查找控件困难的问题
- 【bug修复】修复手机上未安装指定测试包时,启动调试会迅速结束并且不报任何错误的问题
- 【bug修复】修复华为apad无法获取设备ip的问题,解决在代理拦截开启后,点击调试无响应的问题
# v2.2
- 【优化】测试环境与线上环境分离,避免因开发引起生产事故
# v2.1
- 【优化】执行设备页面可以查看当前正在执行或者调试的用例信息,并可以点击进入该用例
- 【优化】用例配置中去掉版本配置,被测应用版本不再需要手动填入,而是自动获取应用版本,这样版本更真实
- 【优化】用例配置新增测试结束后是否关闭应用的开关
- 【优化】用例配置中暂时去掉性能开关、覆盖安装等暂时无用的配置
- 【优化】点击步骤中的点击位置如果不是中间,将在步骤中显示偏移位置
- 【优化】去掉openCV,缩减180M体积
- 【新增】新增跳出循环步骤
# v2.0 big change! (^▽^)
# 1. Logo重新更换了,更简洁
👉👉👉
# 2. 与磐石打通
具体请看:与磐石协作
# 3. 新增轻舟系统信息页面
展示轻舟目前所使用的操作系统、Java虚拟机、轻舟版本以及UI自动化框架等信息。
# 4. 修复若干bug
# v1.4
# 1. 使用新Logo了!
👉👉👉
# 2. 支持接口请求步骤

# 3. 控件内滚动查找支持查找控件
以前这个步骤仅仅支持查找文本或变量,现在也支持查找某个控件

# v1.3
# 1. 轻舟开启调试或在执行任务中可以正常使用UIAutomatorViewer
写脚本的效率大大提升(约30%-50%),在调试脚本过程中不需要频繁打开关闭轻舟调试
# 2. 点击控件支持设定点击的位置,默认值是控件的中心位置

我们可以指定相对位置还是绝对位置,但都是以左上角为原点,绝对位置是指点击的目标位置与原点的实际距离,相对位置是绝对位置/对应的控件的长度或宽度,如0.5,0.5表示控件的中间位置。
这个功能非常有用,比如控件内部的小控件无法识别,我们可以识别大控件,然后点击里面的小控件的位置即可,还有一种场景就是偏移点击,就是某个控件外的控件无法识别,但这个控件是清楚的,我们可以做偏移点击,即点击的位置出现负数,如x=0.5,y=-0.5,那么就是点击的是距离当前控件上面高度的0.5个单位的位置。

# 3. UIAutomatorViewer支持获取点击的位置
这个功能是承接上面第二点引出的需求,人往往是难以获知具体要点击,我们改造了一下UIAutomatorViewer,自动计算要点击的位置:

# 4. 新增拖动控件步骤
即拖动指定控件,往指定方向拖动指定距离

如上图所示,我们拖动云学习的一个控件,向上1000像素距离,如下视频演示:
# 5. 用例、报告、场景等数据展示创建人、更新人、执行人
更加清楚的知道操作数据的用户是谁了

# v1.2
# 1. 场景用例参数化
在设计场景的时候,会拼凑多个用例,相同用例传递的参数可能不一样,这就是场景用例的参数化。
我们会自动从用例中自动筛选出输入型的变量,主要是:控件输入步骤、OCR点击步骤、控件内滚动查找步骤。
如下图,给一个场景新增一个登录用例,会自动抓取这个用例的输入型参数:

可以选择修改任何0个或多个参数,如果参数不修改,则使用这个参数的默认值。
如下图所示的关联的用例,分别携带2、1、0个参数:
# 2. UIAutomatorViewer支持XPath
由于在Web H5页面上几乎不存在ID,以及少量的文本,那么定位一个控件信息的参考条件就很少了,原来Android官方提供的UIAutomatorViewer就满足不了现在的需求,并且轻舟携带的自动化框架的XPath结构也并非来自官方控件树,而是自主渲染的一颗更优化树,所以轻舟此次升级的第二个重大更新就是让UIAutomatorViewer支持XPath,以解决在H5页面上定位控件的鸡肋。
如上图所示,工具抓取的是云学习App的一个H5页面,UIAutomatorViewer的工具改动有3点:
去掉没有参考意义的属性,只保留关键属性,更简洁
原resource-id属性名称改为ID,并且值的去掉原
:id/
前的内容新增了3个xpath结构,分别是:
- xpath:主要依靠自身的信息来定位自己,这个xpath不适用与自身信息变动的控件
- xpath2:先找到一个具备唯一id的控件,再相对定位自己,不依赖自身的信息
- Xpath3:先找到一个具备唯一的class的控件,再相对定位自己,不依赖自身的信息
这3中xpath各自都有自己的特点,需要根据实际情况来选择。
# 3. 修复华为P20、P30等Android 10下执行没有视频的问题
# 4. 优化脚本编辑器
体验更好的调试错误提醒:
就算页面变窄,也不会太丑

# v1.1
# 1. 独立出文档
将轻舟文档独立到外网,目的是减少轻舟包的体积(可以减少30兆),更新部署方便。轻舟文档地址是:http://39.97.236.195/ (opens new window)
目前需要连公司内网WiFi(tal-inc.com.cn)才能访问。
# 2. 现在支持直接执行用例并生成报告啦!
# 3. 支持遍历步骤,可以用来做压力测试、稳定性测试

# 4. 支持物理按键步骤,主要是返回键和Home键

# 5. 添加/更新步骤中,支持直接展示变量的值

# 6. 修复UIAutomatorViewer在大多数手机上无法截图的问题
现在你不用担心很多手机抓不到控件的问题啦!
# v1.0
完成轻舟的初版,包括前端、后端和UI自动化框架,核心功能有:
- 支持14余种步骤类型
- 录制脚本和执行场景
- 项目脚本数据管理,包括项目、场景、用例、配置、变量、控件库
- 设备状态监听和管理