App 测试工具大全,收藏这篇就够了

随着移动互联网的高速发展,App应用非常火,测试工程师也会接触到各种app应用。除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的app测试工具做了一个统一整理,欢迎补充。

一、APP自动化测试工具

Appium

官网:http://appium.io/

Github地址:
https://github.com/appium/appium

介绍:

Appium是一个开源的、跨平台的自动化测试工具。支持自动化iOS,Android和Windows桌面平台上的原生、移动Web和混合应用。 开发者可以使用WebDriver兼容的任何语言编写测试脚本,如Java,OC,JS,PHP,Python,Ruby,C#,Clojure 和Perl语言。是做UI自动化测试必须要掌握的工具之一。

Airtest

官网:
http://airtest.netease.com/
介绍:
Airtest是网易游戏推出的一个UI自动化测试工具,适用于游戏和应用,支持的平台为Windows,Android和iOS。Airtest提供了跨平台的API,包括安装应用、模拟输入、断言等。 基于图像识别技术定位UI元素,你无需嵌入任何代码即可进行自动化测试。 并且测试脚本运行后可以自动生成详细的HTML测试报告。

uiautomator2 (python)

Github地址:
https://github.com/openatx/uiautomator2
介绍:

uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库。其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。

二、APP稳定性测试工具

Monkey

地址:
https://developer.android.google.cn/studio/test/monkey

介绍:

Monkey 是一个在模拟器或设备上运行的程序,可生成伪随机用户事件(例如点击、轻触或手势)流以及很多系统级事件。使用 Monkey 以随机且可重复的方式对正在开发的应用进行压力测试。

MonkeyRunner

地址:
https://developer.android.google.cn/studio/test/monkeyrunner

介绍:

monkeyrunner 工具提供了一个 API,用于编写可从 Android 代码外部控制 Android 设备或模拟器的程序。使用 monkeyrunner,可以编写一个 Python 程序去安装 Android 应用或测试软件包,运行它,向其发送按键,截取其界面的屏幕截图,并将屏幕截图存储到工作站中。monkeyrunner 工具主要用于在功能/框架级测试应用和设备以及运行单元测试套件,但也可以自由地将其用于其他目的。

Maxim

Github地址:
https://github.com/zhangzhao4444/Maxim

介绍:

Maxim是基于monkey做的二次开发,相较原生monkey,相对智能。除了保留原生monkey已有的功能外,可深度遍历控件,可自定义黑白名单,可设定执行时长,增加防睡眠/防假死机制、防跳出/防误点状态栏及下拉状态栏等。

UICrawler

Github地址:
https://github.com/lgxqf/UICrawler

介绍:
基于Appium的App UI遍历 & Monkey 工具,支持Android和Ios移动App,或H5或微信等应用。v2.3版已支持 Appium 1.16.0, Java-client 7.3.0。

三、APP性能测试工具

GT

官网: https://gt.qq.com/

介绍:

腾讯开源的APP的随身调测平台,支持ios和android。直接运行在手机上,可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。

Perfdog

官网: https://perfdog.qq.com/

介绍:

腾讯游戏部门开发的移动全平台iOS/Android性能测试、分析工具平台。手机无需ROOT/越狱,手机硬件、游戏及应用APP也无需做任何修改,极简化即插即用。

PerfDog支持iOS和Android,支持移动平台所有应用程序(游戏、APP应用、浏览器、小程序、小游戏、H5、后台系统进程等)、Android模拟器、云真机等性能测试。PC上PerfDog可多开,单PC可同时测试多台手机。目前免费体验,谁用谁香。

SoloPi

Github地址:
https://github.com/alipay/SoloPi

介绍:
SoloPi是一个无线化、非侵入式的Android自动化工具。除了公测版的录制回放、性能测试、一机多控三项主要功能之外,SoloPi还提供了数据 Mock,性能加压、网络模拟、智能 Monkey等功能,能为测试开发人员节省宝贵时间。

四、APP弱网测试&抓包工具

QNET

官网:
https://wetest.qq.com/product/qnet

介绍:

QNET是腾讯wetest 服务平台推出了一款 App 弱网测试工具,该工具无需ROOT手机,无需连接数据线,以独立app的方式,为用户提供给快捷、可靠、功能完善的弱网络模拟服务(2G网络、极差网络、连续丢包、正常网络、4G网络、100%丢包等)。另外QNET还支持TCP/UDP网络协议抓包。

Fiddler

官网:
https://www.telerik.com/fiddler

介绍:

Fiddler是一款大家熟知且功能强大的抓包工具。通过设置代理,能够记录客户端与服务器端所有 http(s)通讯。可以针对捕获到的请求进行分析、设置断点、篡改请求及返回数据,还可以设置网络丢包和延时进行弱网络模拟等等。

Charles

官网
https://www.charlesproxy.com/

介绍:

Charles是HTTP代理/ HTTP监视器/反向代理,可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。可对截取的请求及响应进行分析、支持修改请求参数、支持弱网络模拟。

五、APP兼容性测试工具

TestIn

官网:https://www.testin.cn/

介绍

Testin是国内较早涉足云测试领域的平台之一。终端种类及数量都比较全面。提供远程真机测试、标准/深度/遍历兼容测试、自动化测试、测试专家驻场等。支持Android与iOS系统。但目前仅少部分服务为免费,绝大多数服务为收费项目。

腾讯优测

官网:
https://utest.21kunpeng.com/home

介绍:

腾讯旗下的云测试服务平台,拥有超过3000台真机实验室,覆盖市面99%主流机型。拥有十年终端测试服务经验,提供兼容性测试、自动化测试、云真机、设备分享等多种服务方式。

百度MTC

官网: http://mtc.baidu.com/

介绍:

百度MTC是百度开放平台旗下的移动云测试中心。提供超过1500款热门机型。提供的测试服务种类有兼容性测试、性能测试、功能测试。并且提供了脚本录制工具,类似Testin。

百度MTC的服务目前主要为收费服务。

阿里MQC

官网:
https://www.aliyun.com/product/mqc

介绍:

阿里MQC是阿里巴巴旗下的移动测试平台。提供大量热门机型,支持Android及iOS系统。提供兼容性测试、功能测试、性能测试以及稳定性测试。

六、APP安全测试工具

OWASP ZAP

官网:
https://owasp.org/www-project-zap/

介绍:

OWASP ZAP是目前最流行的免费APP移动安全测试工具,由全球数百个志愿者管理维护。该工具支持多种脚本语言类型,易安装,可以在APP的开发和测试阶段自动查找安全漏洞。

Drozer

Github地址:
https://github.com/FSecureLABS/drozer

介绍:

Drozer是一个由 MWR 安全团队维护开源的软件,该软件是针对Android平台的安全审计和攻击框架。安全人员可通过drozer自身提供的一些module完成一些基础的安全测试功能,同时也可以根据需求实现自己的module,甚至可以在利用drozer提供的框架实现一些自动化审计功能。

MobSF

Github地址:
https://github.com/MobSF/Mobile-Security-Framework-MobSF
介绍:

MobSF是一款自动化移动App安全测试工具,适用于 iOS和Android,可熟练执行动态、静态分析和Web API测试。可用于对Android和iOS应用进行快速安全分析。

QARK

Github地址:
https://github.com/linkedin/qark

介绍:

QARK是一个静态代码分析工具,旨在识别基于Java的Android应用程序的潜在安全漏洞和关注点。QARK还试图提供动态生成的ADB(Android调试桥)命令,以帮助验证其检测到的潜在漏洞。它甚至可以动态地创建一个定制的测试应用程序,以即用APK的形式,确定潜在问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【51单片机Keil+Proteus8.9+ADC0804】ADC实验 模拟转数字实验

一、实验名称 ADC实验 模拟转数字实验 二、设计思路 电路设计 1.选用AT89C51单片机作为电路核心单元,外接8位单通道AD转换器ADC0804芯片和LM016L显示器以及滑动变阻器等其它常用元器件构成电路。 2.将ADC0804芯片的控制引脚RD,WR,INTR接到AT89C51芯片对应引脚&…

Spring Boot程序的打包与运行:构建高效部署流程

引言 在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包&am…

外包干了5个月,技术退步明显...

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

【数据库】聊聊InnoDB存储引擎结构

在学习任何技术、框架、中间件的时候,我们都需要从一个宏观的角度先去了解一下大概视角,然后在通过剖定解牛的方式进行细分点的学习,同样对于任何存储结构来说,基本上都包含几块内容。 通信:解决信息传输问题、存储模型…

k8s资源介绍

Kubernetes架构图 Kubernetes系统用于管理分布式节点集群中的微服务或容器化应用程序,并且其提供了零停机时间部署、自动回滚、缩放和容器的自愈(其中包括自动配置、自动重启、自动复制的高弹性基础设施,以及容器的自动缩放等)等…

上海智慧岛大数据云计算中心项目正式封顶!

上海智慧岛大数据云计算中心封顶仪式现场 1月15日,云端股份在上海智慧岛大数据云计算中心举行封顶仪式。云之端网络(江苏)股份有限公司(以下称“云端股份”)总经理贡伟力先生,常务副总张靖先生等公司成员&…

VS生成C++动态链接库DLL

1、官方文档: 在 Visual Studio 中创建 C/C DLL | Microsoft Learn 演练:创建和使用自己的动态链接库 (C) | Microsoft Learn 创建和调用步骤,主要按照第二篇操作。 一、建立DLL项目生成库文件 直接建立C的DLL项目,注意叙述&am…

Docker(八)高级网络配置

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 高级网络配置 注意:本章属于 Docker 高级配置,如果您是初学者,您可以暂时跳过本章节,直接学习…

广东金牌电缆:法大大电子合同助力业务风险管控

广东金牌电缆集团股份有限公司(以下简称“广东金牌电缆”)成立于2013年,现为广东省电线电缆重点生产企业、广东省守合同重信用单位、国家专精特新小巨人企业、国家高新技术企业,拥有自主商标“夺冠”,“夺冠”商标被评…

Python 中多线程与多处理之间的区别

一、说明 在本文中,我们将学习 Python 中多线程和多处理的内容、原因和方式。在我们深入研究代码之前,让我们了解这些术语的含义。 二、基本术语和概念 程序是一个可执行文件,它由一组执行某些任务的指令组成,通常存储在计算机的…

IntelliJ IDEA 常用快捷键一览表(通用型,提高编写速度,类结构、查找和查看源码,替换与关闭,调整格式)

文章目录 IntelliJ IDEA 常用快捷键一览表1-IDEA的日常快捷键第1组:通用型第2组:提高编写速度(上)第3组:提高编写速度(下)第4组:类结构、查找和查看源码第5组:查找、替换…

第二课:BERT

文章目录 第二课:BERT1、学习总结:为什么要学习BERT?预训练模型的发展历程BERT结构BERT 输入BERT EmbeddingBERT 模型构建BERT self-attention 层BERT self-attention 输出层BERT feed-forward 层BERT 最后的Add&NormBERT EncoderBERT 输…

修复uni-simple-router@2.0.7版本query参数null的bug

问题:query参数为null或者为空时,插件内部参数校验问题导致的会报错:TypeError: Cannot convert undefined or null to object at Function.keys 源码修改如下: 通过打补丁的方式修复query参数类型校验问题 1. 安装patch-packag…

使 a === 1 a === 2 a === 3 为 true 的几种“下毒“方法

前言 这算得上是近些年的前端网红题了,曾经对这种网红题非常抵触,认为非常没有意义。 看到了不少人有做分享,有各种各样的方案,有涉及到 JS 非常基础的知识点,也不得不感叹解题者的脑洞之大。 但是,拿来…

传奇服务器搭建

传奇服务器搭建 传奇是一款非常经典的游戏,自从它推出以来就深受玩家们的喜爱。如果你也想要在自己的服务器上搭建一个传奇,那么本文将为你提供一些有用的信息。 首先,我们需要知道什么是传奇服务器。简单来说,它就是一个能够让…

线程池c++实现

线程池c实现 概述 线程池(Thread Pool)是一种并发编程的设计模式,它用于管理和重复使用线程,以提高程序的性能和资源利用率。线程池通过维护一组预先创建的线程,这些线程可以在需要时被重复使用,而不是为…

HarmonyOS鸿蒙学习基础篇 - 什么是HarmonyOS

概述 HarmonyOS是华为开发的一款面向未来的全场景分布式智慧操作系统,将逐步覆盖18N全场景终端设备; 对消费者而言 HarmonyOS用一个‘统一的软件系统’ 从根本上解决消费者面对大量智能终端体验割裂的问题,为消费者带来同意便利安全的智慧化全…

相关系数(皮尔逊相关系数和斯皮尔曼相关系数)

本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:5.1 对数据进行描述性统计以及皮尔逊相关系数的计算方法_哔哩哔哩_bilibili 注:直接先看 ( 三、两个相关系数系数的比较 ) 部分&#x…

Qt事件过滤

1.相关说明 监控鼠标进入组件、出组件、点击组件、双击组件的事件,需要重写eventFilter函数 2.相关界面 3.相关代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-&…

数据库(MySQL库表操作)

目录 1.1 SQL语句基础(SQL命令) 1.1.1 SQL的简介 1.1.2 SQL语句的分类 1.1.3 SQL语句的书写规范 1.2 数据库操作 1.2.1 查看 1.2.2 自建库 1.2.3 切换数据库 1.2.4 删库 1.3 MySQL字符集 1.3.1 MySQL字符集包括: 1.3.2 utf8 和 u…