一个颠覆传统的自动化测试工具,你必须值得拥有

简介: 做为一名一线的Android开发者,在实际的项目开发中,最需要哪些工具,来提升开发效率,自己是最清楚的,基于实际,而拓展有用的辅助工具,也一直是自己平时所研究的方向。

如何打造一个简单,便捷,又非常容易上手的自动化测试工具,一直是自己最近在研究的方向,关注我的读者,可能有所了解,在此之前,自己陆续推出了,自动化代码生成工具,自动化规范检查工具,而自动化测试工具,则是自动化系列的第三个家族成员,做为一名一线的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连接电脑后,点击捕获你的手机当前页面,就可以获取到你想要的任何信息了。



关于源码以及如何实现的,目前我还在整理,准备下一篇开源出来,这篇暂时先到这里吧。

相关文章
|
1月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
53 3
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
52 4
|
1月前
|
运维 Linux Apache
Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例
【10月更文挑战第8天】本文介绍了Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例。Puppet通过定义资源状态和关系,确保系统配置始终如一,支持高效管理基础设施。文章详细讲解了Puppet的安装步骤、配置方法及DSL语言示例,帮助读者快速掌握Puppet的使用技巧。
63 2
|
1月前
|
监控 虚拟化 云计算
从物理到云:使用自动化工具简化服务器迁移流程
【10月更文挑战第4天】随着云计算的快速发展,越来越多的企业选择将物理服务器迁移到云环境以提高效率和降低成本。本文详细介绍了使用自动化工具简化从物理到云的服务器迁移流程的技术实现细节,并提供了代码示例。
114 6
|
7天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
6天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
6天前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
10 2
|
8天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
29 4
|
10天前
|
运维 监控 数据安全/隐私保护
自动化运维工具的设计与实现
【10月更文挑战第34天】在现代IT基础设施管理中,自动化运维工具扮演着至关重要的角色。它们不仅提高了运维效率,还确保了服务的连续性和稳定性。本文将深入探讨如何设计并实现一个自动化运维工具,从需求分析到功能实现,再到最终的测试与部署。我们将通过一个简单的代码示例来展示如何自动执行常见的运维任务,如日志清理和性能监控。文章旨在为读者提供一套完整的方法论,以便他们能够构建自己的自动化运维解决方案。
|
17天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
17 1