如何打造一个简单,便捷,又非常容易上手的自动化测试工具,一直是自己最近在研究的方向,关注我的读者,可能有所了解,在此之前,自己陆续推出了,自动化代码生成工具,自动化规范检查工具,而自动化测试工具,则是自动化系列的第三个家族成员,做为一名一线的Android开发者,在实际的项目开发中,最需要哪些工具,来提升开发效率,自己是最清楚的,基于实际,而拓展有用的辅助工具,也一直是自己平时所研究的方向。
Android端的自动化测试工具,市场上还是颇多的,像Espresso,UI Automator,Appium等,当然了也有一些三方的自动化测试平台,如,Testin,腾讯优测等等,无论框架还是三方,无不透露着一些局限的问题,比如收费,比如入手困难,比如需要写入大量的脚本信息,这些所谓的问题,阻挡了一批又一批想要实现自动化测试的开发者,而最终无奈只能人工的点点点操作。
面对如此的问题,简单,便捷,容易上手,便成了工具的宗旨,而基于此,自己在不断的摸索之后,终于1.0.0版本的自动化测试工具可以面世了,这个工具最突出的一个特点就是,简单,特别简单,哪怕你是一个小白,毫无开发经验,毫无测试经验,也能实现特定功能的特定测试。
工具其实就是一个App,下载地址在文章后面,按照自己的风格,我设计了一个黑色系,起了一个小A自动的名字,名字没有其他的特殊含义,纯属瞎起的,安装之后,如下图所示。
打开应用之后,就一个单独的页面,一个孤零零的按钮,非常的简洁,我估计大家这辈子,也很难见到一个如此简洁的应用。
对于这样的一个App,很多读者估计都懵了,这是啥玩意啊,哪来的自动化,别慌,我们点击之后就会别有洞天,但是点击之前,有一个前提条件需要做,那就是,保证你的手机和你的电脑处于同一个网络,因为接下来,所有的执行动作,是依赖于电脑端完成的,当然你也可以通过其他设备。
点击之后,我们就会发现,需要我们开启无障碍功能权限,因为此工具是用AccessibilityService来实现的,这个权限是必须要授权的,我们一步一步授权即可。
权限授权之后,回到应用,我们再次点击启动服务,就会看到如下效果:
根据提示,我们直接把地址,在电脑端的浏览器中输入即可。
没错,也是一个黑色风格,我设计了左中右三块,左边是用来展示当前手机中安装的所有App,中间则是我们程序编辑的区域,右边是当前程序执行的状态,也就是成功和失败,别看这个页面相对简单,但也苦了一番斟酌,想法很简单,但要付出实际的效果,真的不太容易。
左侧区域,大家可以寻找或者进行检索想要测试的应用,直接选择就行,选择需要测试的应用之后,就进入到了中间最重要的区域,就是程序编辑,相对于市场上比较复杂的脚本设计,此自动化测试工具,就无比的简单了,大家可以点击右侧的文档,里面有详细的程序编辑说明。
我把图片单独选取一下。
大家没看错,1.0.0版本就这么多东西,而且支持中文编辑,比如你想点击页面中的某一个按钮,直接就可以编辑:点击+你想要的点击的文字,比如,点击登录:
点击登录
比如点击我的
点击我的
当然,也有简写,点击的简写就是ck,上边的就可以简写成:
ck登录 ck我的
除了点击文字之外,你也可以,通过控件的id进行点击,或者通过页面的坐标点进行点击。文档中都写的很清楚,其他的暂时不罗列了,大家按照文档说明,书写即可,一定要注意,严格按照文档来,不可自己随意编写,负责不能实现你想要的效果。
中间的程序编辑区域,最上边是当前你选择的应用的脚本列表,考虑到多个应用的测试,这里对每个应用,你都可以编写不同的程序,然后进行添加,删除和修改,底部默认展示创建程序信息,比如我选择支付宝,创建一个。
点击创建之后,顶部就会展示你刚才创建的一条程序,并一直做为保存,一个应用的执行程序,可以有无限个,也就是说你想创建几个就创建几个。
点击你刚才创建的程序,底部的按钮就会发生变化,可以对当前脚本进行,删除,更改和运行。
点击运行,你会发现程序已经开始运行了……
并且,你的手机已经打开了支付宝,并且点击了底部我的,我做了一个gif图,大家可以更加直观的看到效果,我把网页缩小一点,把手机投屏到电脑右侧。
当然了你可以编写很多你想要实现的应用程序,比如针对我们公司的欧拉项目,我想要实现,点击我的,进入到我的订单,未登录下,进入登录页面,选择密码登录,然后输入账号和密码,同意用户协议,然后进行登录,那么就可以如下操作。
执行状态中,会进行当前程序的判断,成功会显示绿色,错误会展示红色,目前底部的执行程序保存暂时还没有实现,后续会加上,目前初步打算会把执行的程序结果进行存储到文件里,这样一个程序的执行结果,就可以统一分析后,反馈至开发人员那里。
程序的编写,你可以实现很多要实现的功能,在于你实际的业务,当然你也可以薅羊毛的操作,比如电商平台抢东西等,都是可以实现的。1.0.0的版本,还有很多的不足,很多逻辑上也没有及时的修正,很多状态下也没有很好的判断,后续的版本我会一点一点的进行优化,也希望大家能够提出宝贵的意见。
App体验下载:
https://www.vipandroid.cn/ming/a/apk.html?a_apk_id=198
这里有一个需要注意的,那就是,在使用的过程中,如何获取控件的id以及当前的坐标信息呢?这个很简单,有Android SDK的话,你可以直接到sdk的tools目录下,直接双击uiautomatorviewer.bat即可,没有的话,大家可以去下面的地址进行下载
https://www.androiddevtools.cn/
SDK的tools目录:
双击之后
手机USB连接电脑后,点击捕获你的手机当前页面,就可以获取到你想要的任何信息了。
关于源码以及如何实现的,目前我还在整理,准备下一篇开源出来,这篇暂时先到这里吧。