耗时一个星期整理的APP自动化测试工具大全

在本篇文章中,将给大家推荐14款日常工作中经常用到的测试开发工具神器,涵盖了自动化测试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

    友盟

    网易云捕

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我可以回答这个问题。自动化测试框架是一种用于自动化测试的软件工具,它可以帮助测试人员快速、准确地执行测试用例,提高测试效率和质量。一般来说,自动化测试框架包括测试用例管理、测试执行、测试结果分析等功能模块。常见的自动化测试框架有Selenium、Appium、Robot Framework等。您可以根据具体的测试需求选择合适的自动化测试框架。 ### 回答2: 自动化测试框架是一种软件测试工具,用于辅助自动化测试的执行和管理。它能够提高软件测试的效率和质量,同时减少重复性测试工作的人工操作。 在编写自动化测试框架之前,首先需要明确测试目标和需求。然后,可以按照以下步骤来设计和实现一个自动化测试框架: 1. 定义测试案例:根据项目需求和测试目标,确定需要自动化执行的测试案例。 2. 选择测试工具:根据测试需求,选择适合的测试工具,如Selenium WebDriver、Appium等。这些工具可以模拟用户的操作,实现对Web应用、移动应用的自动化测试。 3. 设计测试架构:根据测试需求,设计测试架构,包括测试环境搭建、测试数据准备、测试用例管理、测试报告生成等。 4. 编写测试脚本:使用选定的测试工具,编写测试脚本,实现对测试案例的自动化执行。测试脚本可以使用编程语言,如Java、Python等。 5. 集成测试工具:将测试工具集成到自动化测试框架中,以便自动化执行测试脚本。这样可以实现自动启动和关闭测试工具,并根据需要进行配置参数。 6. 设计测试数据:根据测试需求,准备测试数据。测试数据可以是各种场景下的输入数据,以验证系统的不同功能和性能。 7. 运行测试用例:使用自动化测试框架运行测试脚本,自动生成测试报告。可以根据测试结果,进行问题跟踪和修复。 8. 分析测试报告:分析测试报告,找出测试用例中存在的缺陷和问题。根据分析结果,进行修改和改进。 9. 进行回归测试:在代码更新后,采用自动化测试框架执行回归测试,验证修改是否对整个系统产生了负面影响。 总之,自动化测试框架有助于提高测试效率和质量,减少人工操作的重复性工作。通过选择适当的测试工具和设计优雅的测试架构,可以实现更高度的自动化测试。 ### 回答3: 自动化测试框架是一种用于执行软件测试的工具或系统。它能够自动执行测试用例、生成测试报告和记录测试结果。以下是一个简单的自动化测试框架示例: 1. 确定测试需求:首先,需要明确测试的目标和范围,确定需要进行自动化测试的功能和场景。 2. 选择测试工具:选择适合项目需求的测试工具,比如Selenium、Appium或Robot Framework等。 3. 搭建测试环境:配置好测试环境,包括安装测试工具、设置浏览器驱动或移动设备的连接等。 4. 设计测试用例:根据测试需求编写测试用例,用于验证系统的功能和性能。测试用例应具有较高的覆盖率,用于模拟不同的用户行为。 5. 编写测试脚本:使用所选测试工具的语言或脚本语言编写测试脚本,根据测试用例中描述的步骤和预期结果进行编码。 6. 执行测试:执行编写好的测试脚本,自动化地运行测试用例。测试过程中,测试工具会模拟用户的操作,比如点击按钮、输入文字等。 7. 生成测试报告:测试执行完成后,自动化测试框架会生成测试报告,包含测试用例的执行情况、通过率和耗时等信息。 8. 分析测试结果:根据测试报告分析测试结果,查找问题并定位Bug。可以将Bug报告发送给开发团队进行修复。 9. 维护和更新:随着系统的迭代和更新,需要更新和维护自动化测试框架,保持与系统的兼容性。 10. 扩展和集成:根据需要,可以扩展自动化测试框架的功能,比如集成持续集成工具,实现自动化触发测试。 总结:自动化测试框架是一个整体的工具或系统,需要明确测试需求、选择合适的测试工具、编写测试用例和测试脚本、执行测试并生成报告,最后分析运行结果。通过使用自动化测试框架,可以提高测试效率、降低人工测试的工作量,并能够快速发现和解决软件问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值