TW使用经验杂谈(四)–UI自动化脚本规范思考

在确定使用TW实施基于ui自动化时候,对H2O的按系统功能统计了一下,5大主页83个功能481个业务用例,然后再按步骤、校验、逻辑条件数量来准备,这将是一个庞大的工程。如何准确、高效的做出可靠性强的脚本,就需要特别注意脚本结构和规则制定,方便以此展开工作:
1、目录清晰
TW有对象、步骤、用例、业务四个部分,每个部分下都可以建立独立的目录(文件夹),最开始在步骤下按照APP的页面层级建立目录,再建立对应的二级目录、三级目录,这样,当我再去组装用例和修改步骤时就可以到对应目录下找,建议避免建立超过三级的目录。同样,用例、业务、对象也和步骤一样使用同样的目录。快速同步目录结构的方法在之前的文中有提到。
2、用例干净
干净,不仅仅针对用例,同样也针对业务,在讲步骤拼装为用例时,要做到不拖泥带水,可有可无或着无关的步骤内容就不要加进来,一来也会增加维护难度和阅读成本,二来会增加运行时间,且会造成不稳定导致脚本运行异常。只有最精简的用例,然后拼装业务时才会更轻松,在加进计划时才更清晰和可靠。
3、命名规范
按照操作名作为前缀去创建,如点击查看计划列表页、左滑查看周排行榜、长按删除计划_首页,校验的脚本命名也是一样,如校验_首页音乐icon元素存在、校验_课程详情页title、校验_截图图片比较等。
4、具有闭环性
每一个用例都应是一个闭环,有前置执行条件,中后期校验,后期归位(初始化)。例如参加第一个课程_课程列表的用例,启动app–登录账号–点击进入全部练习页–点击进入课程列表页–存储_第一个课程名字为执行变量–点击进入第一个课程详情–点击参加课程–校验_课程参加成功_详情页–校验_课程参加成功_首页。
5、可靠性
由于硬件、网络、屏幕尺寸、系统、用例设计、业务组合、人为的等等元素会直接影响到脚本的执行正确性,可以通过校验方式和增加元素等待时长等去调试脚本,增加脚本的可靠性。这个在前文中有过提及。另外,需要对数据库和脚本进行定期备份,保护脚本数据安全。
6、数据维护
快速定位,批量修改。自动化的步骤脚本较多,需要进行数据维护的多在登录和校验方面,所以就需要对数据有规范的使用和管理。目前H2O的业务脚本多使用的数据常量、执行变量、随机数,基本应用在登录和校验方面,在多语言校验方面还有一定的工作量要做。TW一共提供了5种数据维护:全局变量、随机数、数据常量、执行变量、参数化变量。全局变量和随机数是在步骤操作栏处理,数据常量需要在步骤里修改,其他2个都是在执行计划时进行维护。另外,TW支持数据库链接和SQL脚本相关的执行,这个下次进行说明。
7、脚本复用
脚步复用可以降低维护成本,在实际录制时,很容易发现很多固定位置存在着相同元素,像name、id、value、lable等等,原本有20个页面都有它,现在至需要录制1个页面里1个步骤就解决,并可以把这类可以通用的步骤或用例整理出来,新建1个通用目录来管理。

TW使用经验杂谈(四)--UI自动化脚本规范思考相关推荐

  1. java ui自动化测试脚本,如何用Airtest编写UI自动化脚本(示例代码)

    前言 游戏并不像app一样直接把渲染树节点暴露出来,这就造成游戏UI自动化在元素定位上的不方便性,不过依赖airtest的图片识别,我们可以直接跳过元素检查,以图片对比的形式进行自动化,虽然效率可能会 ...

  2. UI自动化脚本运行找不到元素解决方案

    UI自动化解密之元素定位后为啥放在脚本里面找不到 我们是否在浏览器F12下面,进行右键Copy Element Xpath/Css 时,放在浏览器里面直接就能够正确查找,为什么放在脚本里面就找不到了呢 ...

  3. python脚本写ui自动化_如何用Airtest编写UI自动化脚本

    前言 游戏并不像app一样直接把渲染树节点暴露出来,这就造成游戏UI自动化在元素定位上的不方便性,不过依赖airtest的图片识别,我们可以直接跳过元素检查,以图片对比的形式进行自动化,虽然效率可能会 ...

  4. python ui自动化脚本_ui自动化:python+appium----环境搭建

    前言: appium可以说是app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本支持java和python.以下为python+appium的安装教程... 环境准备... ...

  5. 〖Python WEB 自动化测试实战篇⑩〗- 实战 - UI自动化脚本设计常见场景剖析

    万叶集

  6. UI自动化 | 痛彻心扉的脚本维护之路

    弱不禁风的UI自动化脚本,迎来了他第一次版本升级的洗礼,33%的通过率,他蒙了,我还好 于是,开启了漫漫无边的脚本维护之路... 版本升级脚本维护的背景是这样的,我们的UI自动化处于初期的阶段,除了自 ...

  7. 基于airtest的安卓ui自动化实践

    在tester home上初识airtest感觉很惊艳,最近想给组里的同学分享一下,仔细研究了一番.分享之后,发现他们练习做的还很不错. 莫非我真的有教书育人的能力?(天真脸) 分为四个部分讲解:ai ...

  8. UI自动化框架如何设计及搭建?

    目录 UI自动化框架 自动化原则: 如何减少自动化维护成本? UI自动化框架优化方案:(在不增加维护成本前提下) UI自动化脚本可分为3种: 已经实现自动化的模块可以不做手工测试了吗? UI自动化公式 ...

  9. 【得物技术】浅尝UI自动化之Airtest实践

    一.背景 由于很多公司都采用敏捷开发的模式,测试也要跟着进行敏捷测试.而每个迭代的周期非常短,经常要对原有功能进行回归测试,这样就增加了大量重复人力成本.引入UI自动化测试可以用来快速回归测试app原 ...

最新文章

  1. hibernate和struts2实现分页功能
  2. LeetCode 152. Maximum Product Subarray--动态规划--C++,Python解法
  3. 亚洲诚信带你玩转[2018国家网络安全宣传周]上海地区活动!
  4. CSS3-transform-style
  5. 图片加载之SDWebImage(上)
  6. 使用tf.print()打印tensor内容
  7. consul历史版本下载地址
  8. SharePoint 编程指南(转)
  9. 力扣题目——98. 验证二叉搜索树
  10. 你相信这是XP经典桌面拍摄地现在的模样吗?
  11. div垂直居中的几种方法
  12. U盘不能分区,不能格式化,解决方案
  13. kettle 同步Oracle 与 Postgres
  14. Modbus的十大问题
  15. 优酷视频怎么转二维码_优酷视频转二维码
  16. 免费音视频格式转换软件
  17. vlan聚合---supper vlan
  18. 无线充电的技术原理和发展现状
  19. Leetcode 递归题目总结
  20. Linux中pthread_create函数的实现

热门文章

  1. WMIC命令的利用技巧
  2. Android RxBus
  3. MFC Tab 控件使用
  4. 无参考图像质量评价NR-IQA
  5. python爬取天天基金历史净值_用Python抓取天天基金网基金历史净值数据
  6. bp神经网络图像特征提取,一文搞定bp神经网络
  7. 高级Lyapunov稳定性
  8. 调制解调器以及ADSL拨号上网
  9. Flex Ethernet (FlexE) 初识
  10. antdpro菜单自定义图标