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

简介: 做为一名一线的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月前
|
运维 Ubuntu Devops
自动化运维工具的魅力:Ansible入门
【9月更文挑战第5天】在快速变化的IT世界里,自动化运维不再是可选项,而是必需品。Ansible,一款简单却强大的自动化工具,正成为众多DevOps工程师的首选。本文将带你了解Ansible的基本概念、安装步骤以及如何编写简单的Playbook,从而开启你的自动化之旅。
70 36
|
11天前
|
运维 持续交付 开发工具
自动化运维工具:Ansible入门教程
【8月更文挑战第60天】在现代IT运维管理中,自动化工具的使用已成为提高生产效率、减少人为错误和确保环境一致性的重要手段。本文将介绍Ansible——一款流行的开源自动化运维工具,通过其简单易学的语法和强大的功能,帮助读者快速入门并实现自动化部署和管理。我们将从Ansible的基本概念讲起,逐步深入到实际的代码示例,展示如何利用Ansible简化日常的运维任务。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供实用的知识和技巧,让你轻松驾驭Ansible,开启自动化运维之旅。
|
10天前
|
运维 监控 jenkins
自动化运维之路:从脚本到工具的演变
【9月更文挑战第29天】在数字化浪潮中,运维不再是简单的服务器管理。本文将带您穿越自动化运维的发展历程,揭示如何通过技术革新提升效率与可靠性。我们将探索自动化工具如何解放双手,实现快速部署、监控和故障恢复,最终达到高效运维的目标。
|
17天前
|
运维 关系型数据库 MySQL
自动化运维工具:Ansible入门与实践
【9月更文挑战第23天】本文将带你进入自动化运维的世界,以Ansible为例,从基础概念到实际操作,让你轻松掌握自动化运维技能。我们将一起探索如何通过代码实现批量部署、配置管理和任务执行等功能,提高运维效率,减轻工作压力。让我们一起开启自动化运维之旅吧!
|
14天前
|
运维 Prometheus 监控
运维中的自动化工具与实践指南
本文深入探讨了自动化工具在IT运维中的重要性,提供了多种实用工具的推荐与应用实例。通过分析自动化工具如何提升运维效率、减少错误率,我们将揭示其在现代信息技术管理中的核心价值。无论你是IT新手还是经验丰富的专家,都能从中汲取到有益的知识,进而提升你的工作效果。
|
21天前
|
机器学习/深度学习 人工智能 运维
自动化运维:从脚本到工具的演进之路
【9月更文挑战第19天】在数字化时代的浪潮中,自动化运维如同一剂强心针,赋予IT系统以生命力。本文将带领读者穿梭于自动化运维的历史长河,探索它的起源、成长与变革。我们将一同见证如何从简单的shell脚本起步,逐步演化为复杂的自动化工具和平台。通过深入浅出的语言,我们不仅分享实用的代码示例,还将探讨自动化运维的最佳实践、面临的挑战以及未来的发展趋势。让我们开始这段旅程,解锁自动化运维的秘密,提升你的技术洞察力。
|
21天前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
34 4
|
23天前
|
存储 运维 网络安全
自动化运维工具:Ansible入门与实践
【9月更文挑战第17天】本文将介绍Ansible的基本概念、安装和简单使用,以及如何编写一个简单的Ansible playbook。通过本文,您可以了解到Ansible的基本原理和使用方法,以及如何在实际工作中应用Ansible进行自动化运维。
|
1天前
|
安全 网络安全 数据库
Kali渗透测试:使用工具Metasploit攻击操作系统(一)
Kali渗透测试:使用工具Metasploit攻击操作系统(一)
14 0
|
1天前
|
安全 Linux 网络安全
Kali渗透测试:使用工具Metasploit攻击操作系统(二)
Kali渗透测试:使用工具Metasploit攻击操作系统(二)
11 0