# 版本记录

# 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点击步骤、控件内滚动查找步骤。

如下图,给一个场景新增一个登录用例,会自动抓取这个用例的输入型参数:

image-20200928141826126

可以选择修改任何0个或多个参数,如果参数不修改,则使用这个参数的默认值。

如下图所示的关联的用例,分别携带2、1、0个参数:

# 2. UIAutomatorViewer支持XPath

由于在Web H5页面上几乎不存在ID,以及少量的文本,那么定位一个控件信息的参考条件就很少了,原来Android官方提供的UIAutomatorViewer就满足不了现在的需求,并且轻舟携带的自动化框架的XPath结构也并非来自官方控件树,而是自主渲染的一颗更优化树,所以轻舟此次升级的第二个重大更新就是让UIAutomatorViewer支持XPath,以解决在H5页面上定位控件的鸡肋。

如上图所示,工具抓取的是云学习App的一个H5页面,UIAutomatorViewer的工具改动有3点:

  1. 去掉没有参考意义的属性,只保留关键属性,更简洁

  2. 原resource-id属性名称改为ID,并且值的去掉原:id/前的内容

  3. 新增了3个xpath结构,分别是:

    1. xpath:主要依靠自身的信息来定位自己,这个xpath不适用与自身信息变动的控件
    2. xpath2:先找到一个具备唯一id的控件,再相对定位自己,不依赖自身的信息
    3. Xpath3:先找到一个具备唯一的class的控件,再相对定位自己,不依赖自身的信息

    这3中xpath各自都有自己的特点,需要根据实际情况来选择。

# 3. 修复华为P20、P30等Android 10下执行没有视频的问题

# 4. 优化脚本编辑器

体验更好的调试错误提醒:

就算页面变窄,也不会太丑

image-20200928145051379

# v1.1

# 1. 独立出文档

将轻舟文档独立到外网,目的是减少轻舟包的体积(可以减少30兆),更新部署方便。轻舟文档地址是:http://39.97.236.195/ (opens new window)

目前需要连公司内网WiFi(tal-inc.com.cn)才能访问。

# 2. 现在支持直接执行用例并生成报告啦!

image-20200917172421110

# 3. 支持遍历步骤,可以用来做压力测试、稳定性测试

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

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

# 6. 修复UIAutomatorViewer在大多数手机上无法截图的问题

现在你不用担心很多手机抓不到控件的问题啦!

# v1.0

完成轻舟的初版,包括前端、后端和UI自动化框架,核心功能有:

  1. 支持14余种步骤类型
  2. 录制脚本和执行场景
  3. 项目脚本数据管理,包括项目、场景、用例、配置、变量、控件库
  4. 设备状态监听和管理