APP自动化测试工具大全

一、UI自动化测试工具

1. uiautomator2

openatx开源的ui自动化工具,支持Android和iOS。主要面向的编程语言是Python,API设计简洁易用,在开源社区也是很受欢迎。

安装:

pip install --upgrade --pre uiautomator2# Or you can install directly from github sourcegit clone https://github.com/openatx/uiautomator2pip install -e uiautomator2

2. Appium

基于Node.js的一款非常成熟的APP UI自动化工具,支持多种语言开发,在测试圈非常流行,可以说是APP UI自动化领域的标杆产品。如果你不知道Appium,都不好意思说自己干测试这行。

3. ATX-Test

基于uiautomator2和unittest封装的一个UI自动化测试框架。项目作者已经把框架设计、可配置化、底层设备连接、日志模块、报告模块都做好了,使用者只需要编写PageObject和脚本逻辑即可,大大提高了uiautomator2的易用性。不仅如此,该项目现在还支持Monkey运行。

4. Airtest

网易开源的一个ui自动化测试工具,通过图像识别和UI控件检索技术,使得游戏测试简单快捷。支持Android、iOS、Windows、Unity、Cocos2dx、白鹭引擎、微信小程序,上手简单,游戏测试的朋友可以体验体验。

5. ATXServer2

支持Android和iOS的移动设备管理平台。可以通过web界面,察看测试手机的状态,可以做到远程操控手机,对于测试兼容性具有较大帮助。部署方便,支持docker-compose部署。

6. STF

远程移动设备管理平台,支持Android、iOS真机管理,功能非常强大。

7. Appetizer

使用十分方便。可以进行APP UI自动化测试,也可以支持APP稳定性测试,提供GUI界面操作,易用性极强,满足日常UI自动化需要。可惜只有部分组件开源。

二、APP稳定性测试工具

8. UICrawler

基于Appium的App UI遍历 & Monkey 工具,支持iOS和Android

9. Maxim

号称是智能monkey,用过的人都觉得真香。支持原生monkey、遍历控件、黑白名单等功能,而且也封装了更加易解析的日志文件。有了它之后,已经可以不需要再用原生monkey了。

10. AppCrawler

一个基于自动遍历的app爬虫工具. 支持android和iOS, 支持真机和模拟器. 最大的特点是灵活性. 可通过配置来设定遍历的规则。

三、APP性能测试工具

11. SoloPi

SoloPi是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间(官方介绍)。一般用于APP的性能测试比较多。

12. GT

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

利用 GT,仅凭一部手机,无需连接电脑,即可对 APP 进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等。如果您觉得 GT 提供的功能还不够满足您的需要,您还可以利用 GT 提供的基础 API 自行开发有特殊功能的 GT 插件,帮助您解决更加复杂的 APP 调试问题。

GT 支持 iOS 和 Android 两个手机平台,其中:

iOS 版是一个 Framework 包,必须嵌入 APP 工程,编译出带 GT 的 APP 才能使用;iPhone 和 iPad 应用都能支持。Android 版由一个可直接安装的 GT 控制台 APP 和 GT SDK 组成,GT 控制台可以独立安装使用,SDK 需嵌入被调测的应用、并利用 GT 控制台进行信息展示和参数修改。

四、抓包工具

13. AnyProxy

阿里开源的抓包工具,基于Node.js可进行二次开发,使用场景:app爬虫、接口数据分析等。

14. mitmproxy

基于Python的抓包工具,对于pythoner更加友好,主要作用是对抓包数据进行采集供后续分析。

1.常见应用模式

    Native

    Hybird

    H5

    React Native

2.常用调试工具

    Android平台

     adb

    ddms

    aapt

    monkey

    monkeyrunner

    emulator

    hierarchyviewer

    monitor

    UIAutomatorviewer


    iOS平台

    atos

    xcode

    instruments

    codesign

    iExplorer

    xcrun

3.常见UI自动化框架

    Android平台

    Instrumentation

    Appium

    Robotium

    Instrumentation

    Athrun

    Monkey

    MonkeyRunner

    UIautomator

    Selendroid

    Calabash-Android

    Espresso

    cafe

    Macaca


    iOS平台

    UIautomation

    Frank

    Appium

    Monkeytalk

    Calabash-iOS

    iOS-driver

    XCUITesting

    TuneupJs

    YNM3K

4.常见的单测框架

    Android平台

    Robolectric

    Mockito

    RxJava

    Instrumentation

    AndroidJUnitRunner

    Espresso


    iOS平台

    XCTest

    GHUnit

    OCUnit

    OCMock

    OCMockito

    Expecta

    OCHamcrest

5.常用的抓包工具

    Fiddler

    Charles

    Tcpdump

    Wireshark

    BurpSuites

    第三方proxy server(如:Anyproxy、mitmproxy、browsermob-proxy)

6.弱网模拟

    Fiddler

    Charles

    ACT(Augmented Traffic Control by facebook)

    iOS developer mode

    其他限速软件,比如各种随身WIFI、路由器、网卡等

7.常用的专项测试工具

    Android平台

    集成工具

    GT(腾讯开源)

    易测(淘宝不开源)

    emmagee(网易开源)

    iTest(科大讯飞不开源)


    CPU

    DDMS

    Monitor

    TraceView

    ADB Shell

        /proc/stat && /proc/%pid%/stat

        Top

        dumpsys cpuinfo

     Android API


    内存

    MAT

    DDMS(or Monitor)

    Android Studio Monitor

    Allocation Tracker

    LeakCanary

    ADB shell

      dumpsysmeminfo %package_name% && dumpsys     

       meminfo %pid%

       top

    procrank

    Android API

    Memory Leaks(iOS)


    流量

    Tcpdump

    ADB shell

        /proc/uid_stat/uid/tcp_send(上传流量)

        /proc/uid_stat/uid/tcp_rcv(下载流量)

    Wireshark

    Fiddler

    Charles

    Android API(版本限制)


    FPS

    ADB shell

       service call SurfaceFlinger 1013(需要root)

        dumpsys SurfaceFlinger

       dumpsys gfxinfo %packagename%(版本限制)

    Android开发者模式-GPU呈现模式分析

    高速摄像头


    启动时间

    冷启动定义(无数据首次启动APP)

    热启动定义(BACK退出APP后启动APP)

    Logcat(Android 4.4+)

    am start -W [packageName]/[packageName.MainActivity]


    功耗(电量)

    Android平台

    dumpsys batterystats(版本限制)

    反编译获取power_profile.xml查看

    Battery Historian Tool(版本限制)

    Android API


    iOS平台

    开发者选项->logging ->start recording + Instrument


    功耗测试仪,如安捷伦

8.静态扫描

    Android平台

    火线

    Findbugs

    Infer

    Sonar

    Lint

    P3C(阿里基于PMD开发)

    PMD

    CheckStyle

    360代码卫士(商业)

    Fortify(商业)

    Coverity(商业)


    iOS平台

    OClint

    infer

    scan-build

    Clang Static Analyzer

9.代码覆盖率

    JaCoCo

    Cobertura

    Emma

    Code Coverage in Xcode(iOS)

10.常用的云测平台

    免费开源

    STF


    商业(限时免费)

    Testin

    百度MTC

    阿里MQC

    腾讯UTest

    东软易测云

    腾讯WeTest

    TestBird

    华为云

    Pefecto

    LessPainful

    TestDroid

11.持续集成

    Jenkins

    Travis CI

    Buildbot

    Strider

    Integrity

    GO

12.监控SDK

    探针

    BlockCanary

    LeakCanary

    Bugly

    crashlytics

    友盟

    网易云捕


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战  

三、Web自动化项目实战


四、App自动化项目实战  

五、一线大厂简历


六、测试开发DevOps体系  

七、常用自动化测试工具

八、JMeter性能测试  

九、总结(文末尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到! 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

ArcGIS无法绘制一个或多个图层

背景:在导入一份数据时候,arcmap出现无法绘制一个或多个图层的错误,...点数少于要素所要求的的数量,查阅了半天资料发现是制作数据时候拓扑关系错误造成,现将处理方法详细记录如下: 1.原数据: …

北斗卫星助力消防救援实现精确升级

北斗卫星助力消防救援实现精确升级 在浙江省湖州市,当地消防支队建设了基于北斗系统的“智慧用水”等湖州市“智慧消防”综合信息指挥平台,初步实现了火灾精确预警、精确防范、精确指挥和精确处置。 湖州市“智慧用水系统”通过将北斗系统与地理信息管网…

plf::list原理分析

plf::list是一个比std::list性能要好的另外一种实现,根据作者的性能测试: 293% faster insertion 57% faster erasure 17% faster iteration 77% faster sorting 70% faster reversal 91% faster remove/remove_if 63% faster unique 811% faster clear …

【分享】7-Zip软件如何压缩文件?

7-Zip是一款完全免费的解压缩软件,不仅拥有自己独特的格式,还支持众多主流压缩格式,相比其他解压缩软件,它的压缩率更好,压缩速度更快。今天来分享一下如何使用7-Zip软件来压缩文件。 首先,我们可以到7-Zi…

SpringBoot热部署

SpringBoot热部署 借鉴链接&#x1f517;&#xff1a;SpringBoot中的热部署 添加devtools依赖和pom插件 <!-- devtools 依赖 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId&…

C语言——结构体

一、结构的基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量结构的&#xff0c;每个成员可以是不同类型的变量。 二、结构的声明 struct tag {member-list; }variable-list; 描述一个学生&#xff1a; typedef struct Student {char name[20]; //姓名int age; …

SpringBoot入门及整合

前言 Spring Boot是一个基于Spring框架的快速开发脚手架&#xff0c;它简化了Spring应用的初始化和搭建过程&#xff0c;提供了众多便利的功能和特性并且使用"习惯优于配置"的理念&#xff0c;通过提供默认设置来快速搭建应用&#xff0c;同时也保留了灵活性以进行定…

IntelliJ IDEA创建一个spark的项目

在开始之前&#xff0c;需要说明的是 要跑通基本的wordcount程序&#xff0c;是不需要在windows上安装 hadoop 和spark的&#xff0c;因为idea在跑程序的时候&#xff0c;会按照 pom.xml配置文件&#xff0c;从指定的 repository源&#xff0c;按照properties指定的版本&#x…

系统架构设计师教程(一)绪论

系统架构设计师 1.1 系统架构概述1.1.1 系统架构的定义及发展历程1.1.2 软件架构的常用分类及建模方法1、软件架构常用分类2、系统架构的常用建模方法 1.2 系统架构设计师概述1.3 如何成为一名好的系统架构设计师 1.1 系统架构概述 自1946年第一台计算机诞生以来&#xff0c;计…

LVDS硬件设计

LVDS接口有: 1、四对信号传输差分线&#xff0c;最多传输 4*728bit数据 2、一对时钟。 3、一对差分线有8位&#xff0c;但是最多传输7 bit 的数据。 4、一个LVDS通道只能传输8bit的RGB信号&#xff08;3*8 3 27bit&#xff09;。高于8Bits 就需要两个channel。 5、LVDS的时钟一…

CSS import 规则

导入 “navigation.css” 样式到当前的样式表&#xff1a; import “navigation.css”; /* 使用字符串 / 或者 import url(“navigation.css”); / 使用 url 地址 */ 属性定义及使用说明 CSS import 用于从其他样式表导入样式规则。 import 规则必须在 CSS 文档的头部&#xff…

怎么用qq邮箱发送大视频文件?一分钟解决!

QQ邮箱发送文件时&#xff0c;单个文件的大小不能超过32MB。但是&#xff0c;如果用户发送的邮件包含多个附件&#xff0c;则所有附件的总大小不能超过2GB。所以&#xff0c;下面就向大家介绍这两种不同的文件大小情况如何发送&#xff0c;下面是三种方法具体的操作。 方法一&…

国产服务器网卡和进口芯片服务器网卡性能测试

服务器网卡的主要功能是管理和处理网络流量&#xff0c;要求数据传输稳定、可靠&#xff0c;性能卓越。受前两年缺芯浪潮影响&#xff0c;国产芯片急流勇进&#xff0c;不断取得新突破和新进展&#xff0c;成为工业以太网控制器领域冉冉升起的新星&#xff0c;为用户提供更多选…

LeetCode-654. 最大二叉树【栈 树 数组 分治 二叉树 单调栈】

LeetCode-654. 最大二叉树【栈 树 数组 分治 二叉树 单调栈】 题目描述&#xff1a;解题思路一&#xff1a;递归&#xff0c;这个问题的难点在于如何找到每个子数组的最大值。此处用的是暴力查找最大值&#xff0c;然后递归构建左右子树。解题思路二&#xff1a;单调栈&#xf…

LinuxC中进程通信

LinuxC中进程通信 信号&#xff08;Signals&#xff09;&#xff1a;Linux 提供了信号机制&#xff0c;允许一个进程向另一个进程发送信号以通知特定事件的发生。这是一种轻量级的通信机制&#xff0c;通常用于处理异步事件。您可以使用 kill 命令或 kill 函数来发送信号&…

DAP数据集成与算法模型如何结合使用

企业信息化建设会越来越完善&#xff0c;越来越体系化&#xff0c;当今数据时代背景下更加强调、重视数据的价值&#xff0c;以数据说话&#xff0c;通过数据为企业提升渠道转化率、改善企业产品、实现精准运营&#xff0c;为企业打造自助模式的数据分析成果&#xff0c;以数据…

比Flex更强大的Grid网格布局

比Flex更强大的Grid网格布局 什么是 Grid 布局浏览器兼容性Flex 兼容性更好Grid 看需求选择 基本概念容器属性grid-template-columns 划分列grid-gap / grid-column-gap 间距justify-items(水平方向) / align-items(垂直方向) 单元格内容的对齐方式justify-content(水平方向) /…

ansible中的角色

1.理解roles在企业中的定位及写法 查看创建目录结构 ansible - galaxy list 指定新的位置 vim ansible.cfg roles_path ~/.ansible/roles 建立项目 cd roles/ ansible-galaxy init vsftpd tree vsftpd/ 编辑任务执行&#xff08;顺序&#xff09;文件 vim vsftpd/tas…

做数据分析为何要学统计学(9)——什么是回归分析

​回归分析&#xff08;regression analysis)是量化两种或两种以上因素/变量间相互依赖关系的统计分析方法。回归分析根据因素的数量&#xff0c;分为一元回归和多元回归分析&#xff1b;按因素之间依赖关系的复杂程度&#xff0c;可分为线性回归分析和非线性回归分析。我们通过…

ETLCloud的应用策略——实时数据处理是关键

一、ETLCloud是什么&#xff1f; ETLCloud又称数据集成&#xff08;DataOps&#xff09;&#xff0c;是RestCloud旗下的一款数据仓库管理工具&#xff0c;通过自动化数据转换和集成来实现企业内部和外部数据的无缝对接&#xff0c;从而帮助企业快速获取准确的数据信息&#xff…