`
yidongkaifa
  • 浏览: 4038994 次
文章分类
社区版块
存档分类
最新评论

Android自动化测试之手机自动化测试工具基本原理(一)

 
阅读更多

手机自动化测试工具基本原理

一、首先说说手机自动化测试的原理
1、手机自动化测试的原理为PC上一个控制端(测试工具)与手机上的一个agent端,通过串口、USB或者无线方式将PC与手机终端相连,然后应用测试工具向手机发送请求或者命令,手机收到命令或者请求后,交给agent端解析,然后agent将这些解析的命令下发给手机的各个功能模块所能识别的命令,调用那些功能模块模拟操作。完成这些操作后,手机会返回一些信息,agent可以抓取这些信息,然后传回给PC端,这样就完成了一个完整的手机自动化测试。
2、关键点在于agent,有的公司是向自己的手机终端的软件功能模块中植入测试程序响应代码,有的公司可以利用MMI_Command的方式来控制手机终端;原理就是给手机提供一个响应的接口。
3、而对于PC控制端,这个测试脚本用各种编程语言都可以,看如何定义。
4、而有的自动化测试设计成录制的机制,说通俗点,就是记录手工操作的键盘信息或者LCD的操作信息(LCD需要用到智能识别机制)
5、自动化测试框架的搭建方法是通用的,你需要有一套自己的测试框架才能保证自动化测试的顺利开展。
二、Android自动化测试方向:
1、CTS,CTS 测试基于Android instrumentation 测试, 其基于JUnit 测试。说白了, CTS 就是一堆单元测试用例。这也是Java 语言的擅长部分。
2、 Monkey工具,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
3、ASE,ASE 意思为Android 脚本环境, 即我们可以通过脚本(比如Python)调用Android 的功能,从而定制一些测试。比如打电话,发短信,浏览网页,等。我们可以扩充它的API(Java 部分), 并用python 脚本调用这些API, 从而实现丰富的测试功能。用于API 部分可以访问到Android 全部API, python 又能灵活部署测试,所以ASE 的扩展性非常好。
4、Robotium,该工具用于黑盒的自动化测试。可以在有源码或者只有APK 的情况下对目标应用进行测试。Robotimu 提供了模仿用户操作行为的API,比如在某个控件上点击,输入Text等等。

5、MonkeyRunner工具提供了一个API,运用该API编写的程序可以不用通过Android代码来直接控制Android设置和模拟器,我们可以写一个Python程序对Android应用程序或测试包进行安装,运行,发送模拟击键,对用户界面进行截图并将截图存储在指定目录上等操作。
6、可以自己开发一个手机方面的自动化测试工具,原理上一样。

更多的手机自动化测试工具可以参考:
http://www.automationqa.com/forum.php?mod=viewthread&tid=1400
分享到:
评论

相关推荐

    Android UiAutomator 自动化测试

    Instrumentation是早期Google提供的Android自动化测试工具类 UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作 Espresso,Android Studio工程,以apk的形式执行测试 UiAutomator2,...

    深入理解Android自动化测试.许奔.2016

    第一部分为基础蕊(第I一7章》。简单介绍Android常用自动化侧试工具和框架的基本使用技巧与相关理论.帮助读者直接上手操作这些...这不仅仅是Android自动化侧试的问题,还是所有软件自动化侧试从业人员都在面临的问题。

    几款Android应用自动化测试工具

    简述:本文介绍几款流行的Android应用自动化测试工具。Monkey测试:随机测试,压力测试,运行在模拟器或实际设备中。MonkeyRunner测试:操作简单,可录制测试脚本,可视化操作,主要生成坐标的自动化操作,移植性不...

    Android自动化-UiAutomator

    Android官方自动化测试工具 基于python Monkey是Android SDK自带的测试工具 MonkeyRunner也是Android SDK提供的测试工具 uiautomatorviewer SDK Manager配置国内镜象 UiAutomation主要过程 UiAutomation中控件对象 ...

    Android开发自动化测试工具QT4A.zip

    QT4A (Quick Test for Android),基于QTA提供面向Android应用的UI测试自动化测试解决方案。支持多设备同时测试支持跨进程、跨应用测试支持进行过控件混淆的安装包(需要mapping文件)支持自定义控件(如果有代码混淆...

    Android应用测试与调试实战

    分为两大部分:第一部分为自动化测试篇(第1~11章),详细讲解了进行Android自动化测试需要掌握的各种技术、工具和方法,包括Android自动化测试基础、Android应用的白盒自动化测试和黑盒自动化测试的技术和原理、...

    安卓专项测试 - Python篇实战视频(Android)

    3-8 UnitTest框架之TestFixture自动化测试(一) 3-9 UnitTest框架之TestFixture自动化测试(二) 4-1 如何学好Android App API接口测试? 4-10 Fiddler构造HTTP Get请求 4-11 Fiddler构造HTTP Post请求 4-12 ...

    学习笔记之Android自动化测试工具Monkey

    Monkey测试是Android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性、健壮性。它的原理是向...

    Android手机自动化测试工具有哪几种?

    基于优秀的图像对比库opencv的测试工具,测试脚本使用...  我通过其核心包sikuli-script.jar实现了android的sikuli化,暂时不打算开源。其实原理挺简单的,认真看过sikuli源码的应该都能写出来。  看lz的意思应该

    IOS 自动化测试

    IOS 自动化测试   ​一、测试背景概述 随着移动互联网时代的发展,...经过调研使用Appium进行自动化测试,Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。 “移

    android手机安全卫士

    3.穿插介绍了企业开发中的bug管理,mantis的使用,自动化测试robotium的使用 ,log管理. 软件的打包,混淆,反编译和三方广告的加入等技巧。 该项目主要涵盖以下几大功能: 手机防盗: 根据预设参数, 判断手机是否被盗,...

    ConditionWatcher:Android工具,可帮助将应用程序行为与自动化测试中的测试线程同步

    创建简单类的目的是使Android自动化测试更轻松,更快,更清洁,更直观。 它将任何线程上可能发生的操作与测试线程同步。 ConditionWatcher可以用作Espresso的IdlingResources的替代品,或者可以与它们并行工作。 当...

    T-Plan Robot - GUI Test Automation:基于图像的测试自动化工具(Java)-可以在任何地方进行任何测试-开源

    T-Plan机器人(以前的VNCRobot)是市场上最灵活,通用性最强的黑匣子自动化测试工具。 该项目是以前的开源版本,现已被T-Plan Robot Enterprise取代。 机械手是独立于平台(Java)的,因此在其他工具可能会失效的...

    Android Monkey压力测试详细介绍

    Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试 阅读目录 环境搭建 什么是Monkey Monkey ...

    monkey测试指南

    Monkey测试是Android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性、健壮性。它的原理是向...

    AndroidAPP性能及专项测试

    Android篇   1.... (工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)GT等 测试方法: 1、设计场景:手工或自动化场景 2、获取数据:可获取的数据包括:内存、cp

    Java底层知识点、源码解读,技术栈相关原理知识点、工具解读最佳实践、功能点实战,问题排查,开发技巧等.zip

    Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与ORM工具: 数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据...

Global site tag (gtag.js) - Google Analytics