airtest 潜水
前提:各种环境的配置大家就自己搞定了~
1.selenium 原理
2.appium 原理
3.adb 原理
当启动 adb 客户端时,客户端首先检查 adb 服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的 TCP5037 端口,并且监听从 adb 客户端发来的命令——所有 adb 客户端都使用 5037 端口与 adb 服务端通信,之后通过命令实现各种操作
4.airtest
三者的结合++维护成本高+思想的拓展=airtest 的诞生
airtest 能做什么?
1.做过移动端或者web端自动化的同学都知道,版本的迭代与代码块的规范,对于自动化来说是多么重要,可是在实际工作中,永远都是项目紧,时间少,尤其对于qa来说,真实一个巨大的坎儿,越是到最后,应用 的稳定和逻辑正确已然是必须产品,但谁也不能保证,没有任何修改,尤其是哪些没有开发经验的pm来说,更是呵呵啦,在加上很多人都有个误区,理解自动化很高级,可以快速找出bug,真实难以言表的解释,干过的小伙伴 都应该晓得的 哈哈哈,说到这里大家可能会感觉到,其实这种情况并不是很适合自动化有没有? 答案 是肯定的 ,但是呢,对应这主快速回归的需求又越来越强,所有到处问询大牛,终于找到你啦
2.所里那么多,到底 这个工具能做啥呢 ?
目前所有的用户场景无非就是pc+h5+小程序+Android+ios 还是啥 ,应该差不多了吧 ,其实这些场景都可以完全在airtest中实现,那么问题来了 ,我没有自动化经验,能学会使用吗,这个需要什么基础吗,维护起来负责不?可以批量运行case?可以截图发邮件?...... 其实都可以的 ,有些功能还在探索中~~
3.很久以前有个著名的工具叫我selenium ide ,后来按键精灵也曾大火过,当然还有个死贵 的qtp,没办法,谁让游戏迷那么多,随着这几年 国内的猿类越来越多,
大家在乐于破解各种收费工具的同时,也在脑补为啥不开发个nb的东西,让业界happy下,这这样慢慢的 有些大牛比如思寒 ,闲不住 在加上各位开源爱好者和超强的github 资源库,不灵不灵 就诞生了
官网地址:
http://airtest.netease.com/docs/cn/6_poco_framework/poco_quick_start.html
1.通过这里大家可以快速小白上手
2.也可以学习下poco api,当然最好还是要 懂些自动化的东西如xpah,css定位,测试框架等,有助于快速掌握
3.另外呢,说下优点吧
1.维护成本低,可以使用历史case,也可以重新创建,分分钟高订
2.支持多平台ios ,andorid ,linux ,windows 都可以
3.支持脚本导入导出,可以手写自动化脚本(python),也可以录制,回放,设置检查点(当然自动化是不建议设置的)
4.盲点补充,自动化一次只适合一个场景,不要妄想一次走完所有流程(流程取正向即可)
5.最后一个,不要钱,不要钱,不要钱
4.任何一个工具都有缺点,这个也不例外:
1.因为是gui 节目,对内存影响较大,卡顿比较严重
2.录制场景不建议过长,容易导致回放失败
3.不自动导入包(虽不是必线),新手刚使用的时候还是有些头疼的
4.数据依赖(这是个老大难的问题),无论是接口还是gui 都是存在的 (如:ops的一个增删操作,如果通过接口,使用参数就可以搞的定,但是在可视化界面上可以以主流程为主,其他异常和数据关系还是要人为进行干预的)
5.还有其他的,暂时想不起来了...
啰嗦下:
任何工具的使用,一定要在理解原理的基础上进行
不要指望工具可以替代一切,那样,有一天你也会被替代
工具带给我们的只有方便,不会给你思考,你的思想觉得你的价值
作为qa 找bug 是日常,更要确定bug 是咋来的,如何阻止一连串的bug,甚至你能否解决bug,是时候看看你的level啦
最后个人观点:自动化工作以后被替代率会越来越高,希望所有qa小伙伴居安思危,勤勉好学,早日实现CK ,LV 日常化
对了:对于这个工具本人也处于小鸟阶段,如有哪里解释不清或误导,烦请指教 ~