作者|王欣宇
引 言
UI自动化是业内常用的一种测试手段,在回归测试,兼容性测试、线上功能监控、冒烟测试等测试场景中都有较多的应用。
UI自动化仅仅只可以在测试流程中发光发热么?答案当然是 “No” 。
下面就让我们通过一个在转转团队的实际案例,看看UI自动化是如何帮助业务减少人力成本、提升效率的~
实 践 详 解
案例:转转自动下单流程实践
背景
运营同学在其它直播平台卖出手机后, 并不能在转转平台直接生成对应的订单,需要在转转App中手动下单处理,随着每天处理订单量的增多,人工成本也在逐渐增加. 因此想到通过UI自动化的方式实现自动下单,就可以将下单的人工成本节省下来。
前期方案实现调研
1、人工操作流程
(1)运营同学会把相关需要下单的订单数据从管理后台导出到excle表格
(2)按照表格中 商品的品牌、型号、颜色、成色信息 以及 买家的收货信息,手动在转转App中下单
(3)物流发货后,将转转App 订单的物流信息同步到管理后台
2、 UI自动化流程设计
(1)解析表格数据,得到具体预采购商品信息和买家收货信息列表
(2)通过UI自动化,使用预采购商品信息在app内进行搜索商品,筛选商品,再使用买家收货信息下单
(3)将转转订单号、支付金额等订单信息记录到原表格中,与采购订单准确对应,以便后续查询物流信息,手动录入管理后台
(4)自动下单过程中需要对每一步操作进行严格的校验和准确的操作日志输出,防止错误和异常订单的产生
(5)自动下单失败时必须区分&记录具体原因,以便定位问题&补充下单
3、具体实现
(1)表格数据处理
我们可以从选购商品列中,解析得到我们具体需要的商品品牌、型号、购买渠道;商品规格列中解析得到成色、内存、颜色等;以及一些表格中的其他信息,解析成我们模拟用户下单行为需要的参数
(2)UI自动化下单流程
UI自动化下单流程主要是使用表格中得到的订单采购信息,通过对app相关的元素进行识别,输入,点击,记录等操作,模拟用户行为进行商品搜索,筛选,下单,地址填写,支付等一系列操作
(3)物流信息查询
在转转App成功下单后,物流的发送时间不确定,需要人工反复的在App中查看订单。
为了建设一个除管理后台操作之外的其他操作都自动化的较完善流程。专门封装了查询订单物流信息接口在自动下单流程中调用,将物流信息也记录在表格中,运营同学可以直接将表格中的结果内容录入到管理后台;并提供了物流批量查询和单独查询的工具,方便处理发货较晚的订单。
两种方式结合,代替反复操作app查询物流信息的场景,大大减少了工作量。
(4)结果产出
产出结果包括成功结果和失败结果。
成功结果的内容包括成功商品,行数,商品订单号,商品实付款,以及下单成功后,根据对应的转转订单号,查询对应的运单号,并写入到表格。
失败结果则需要把对应的失败商品,和失败原因写入到表格
4、问题&解决
下面简单列了几个过程中的问题和解决方案
(1)UI执行过程中出现偶现的报错,导致当次执行失败
解决方案: 记录报错时间节点,并和对应的开发反馈,定位到是服务偶现的接口超时,不能避免。因此在UI执行过程中,增加了对应的超时文案识别和点击重试,减少订单二次执行耗时
(2)列表页最后一个商品,元素展示不全,可能会误点运营同学不想购买的微瑕商品
解决方案: 商品卡片内元素进行数量限定,少于3个元素,则跳过当前卡片, 滑动页面后,处理新的商品卡片
5、方案效果
手动下单一次需3分钟左右,平均每天要处理60+订单,实现自动下单流程后,每天可节省3小时左右的人工成本
总 结
通过以上案例可以看出,UI自动化不仅仅可以应用在测试流程中,也可以帮助业务团队降本提效。
在转转团队。这样的案例不只 转转自动下单这一个,需求类型也不只模拟业务流程这一种。
UI自动化是一种技术手段,模拟业务流程、页面数据采集、模块功能监控等都可以实现,只要合理合规的应用,就可以起到很好的降本提效作用~
看完全文的你,是否也想到了一些可以使用UI自动化提效的需求场景呢?欢迎在下方留言,一起交流、讨论~
end