Airtest 简单的 unittest + airtest (poco) + BeautifulReport app 自动化测试框架

disco可乐 · 2019年12月18日 · 最后由 disco可乐 回复于 2019年12月19日 · 3179 次阅读

12 月 30 日更新

  • 梳理代码
  • 添加 iOS connect 方法
  • 丰富测试 case 并加注释

说明

  • unittest 框架管理测试用例
  • 使用 poco 进行元素的定位和操作
  • BeautifulReport 作为测试结果的报告
这样组合框架的原因是:
  1. unitest 框架用起来顺手
  2. airtest 和 poco 没有部署环境的门槛
  3. 使用 airtest IDE 来定位元素超级简单,甚至可以通过录制来直接生成可用的定位元素代码
  4. BeautifulReport 好看,便于查看,可以在报告里面添加截图
  5. 写之前撸了 pocounit 框架,也是基于 unittest 做的,但是 pocounit 不好的地方就是无法生成 html 这样的报告,pocounit 的报告只能通过特定的阅读器去 check


使用

  • unittest 框架,在 test_cases 下对应模块的目录中添加用例
  • 直接运行 runner.py 执行所有用例
  • 报告生成在 ./report 目录下
  • 用例成功的截图保存在 ./img 目录下
  • 连接 iOS 相对麻烦,所以目前是在 runner.py 里面手动处理
  • 目前代码只适合连接单一设备测试

怎么写 case

  • 可以选择通过 airtest IDE 先进行元素定位,然后移植到 python case 中
  • 每个 case 的收尾工作应该是返回到首页
  • 对比结果需要放在每个 case 脚本的最后

未解决问题

  • poco 官方目前不支持 toast 的处理

闲谈

  • 个人认为 iOS 自动化最难的是前两步,首先有一个开发者账号,然后连接上真机
  • UI 自动化的最难的点就是怎么能够让客户端按照统一的规范标准进行开发
  • 连接 iOS 见官方教程:https://github.com/AirtestProject/IOS-Tagent

注:poco 的元素定位可以通过使用 airtest IDE 进行,具体 airtest 的用法请查看官方文档

共收到 3 条回复 时间 点赞

感觉自动化越不越不神秘了

对快速搭建有帮助

married577 回复

嗯,本来就不神秘,只是很多时候没有去实践

disco可乐 关闭了讨论 04月17日 10:46
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册