App自动化 Appium环境安装和使用 L1

环境安装和使用

概述

  • 目前 mobile 自动化解决方案
  • Appium 介绍
  • Appium 框架介绍
  • Appium 环境安装

目前 mobile 自动化解决方案

iOS Android
Calabash-iOS calabash-Android
Frank MonkeyTalk
UIAutomation Robotium
iOS-driver UIAutomator
KeepItFunctional Selendroid
Macaca Macaca
Appium Appium

自动化工具选择

工具名称 被测系统 脚本语言 是否支持 H5 是否支持跨应用 工具稳定性 是否为 sdk 自带
MonkeyRunner Android Y N 稳定 Y
Monkey Android Java N N 稳定 Y
Uiautomator2 Android Java Y Y 稳定 Y
Uiautomation iOS 弃用
Adb-For-Test Android Java/Python Y Y 稳定 Y
Appium Android,iOS Java/Python/JS/C# Y Y 一般 N

选择条件

  • 单平台测试/多平台测试?
  • 是否多设备同时测试?
  • 不局限测试环境,任何版本、任何环境都可以测试?
  • 最擅长开发语言
  • 当前市面是否有满足项目需求的测试工具?是否需二次开发?

应用划分

  • 原生应用
    • 用 android 或 iOS 编写的应用
  • 移动网页应用
    • 网页应用,类似于 iOS 中 safari 或者 QQ 浏览器
  • 混合应用
    • 包裹 webview 的应用

什么是 Appium

  • appium 简介
  • 移动端的自动化测试框架
  • 第三方自动化工具
  • app 自动化测试
  • 开源的、跨平台的
    • ios、Android、Window、Mac、

Appium介绍

  • appium 简介
  • Client/Server Architecture:c/s 架构
  • 脚本多语言支持
    • Java、Python、ruby、PHP、JavaScript、C#
  • 生态丰富,社区强大

Appium 原理


Appium 通信原理

Appium Server

  • server 里面不只有 webDriver「安卓 driver、 iOSdriver」还有各种工作引擎

Appium 工作引擎

Platform Driver Platform Versions Appium Version
iOS XCUITest「推荐」 iOS 9.3+ Appium 1.6+
UIAutomation「弃用」 iOS 9.3- All
Android UiAutomator All Appium 1.14+
UiAutomator2「推荐」 Android5.0+ Appium 1.6+
Espresso Appium 1.9+
Mac appium-mac-driver Mac OS X 10.7 Appium 1.6.4+
Windows windows Windows 10 Appium 1.6+

Appium 生态工具

  • 命令行工具
    • adb
    • ideviceinstaller
  • Appium Desktop
    • Appium Server GUI
    • Appium Inspector
  • Appium Client
  • AppCrawler

Android 命令行工具

  • 管理移动端设备上应用程序的安装与卸载,以及查看相关信息
  • adb
    • 安卓系统的命令行控制工具
    • 获取安卓端的各种数据和控制
    • sdk 自带工具
adb devices #显示当前所连接设备的udid

iOS 命令行工具

  • ideviceinstaller
    • iOS 系统的命令行控制工具
    • 获取 iOS 端的各种数据和控制
idevice_id -l #显示当前所连接设备的 udid

Appium Desktop

  • 内嵌了 Appium Server
  • Appium Server GUI
    • Appium 核心工具,命令行工具
  • Appium Inspector
    • 1.22 版本后,和 desktop 分开

Appium Client

  • 各种语言的客户端封装库、用于连接 Appium Server

AppCrawler

  • 自动化遍历工具,底层也是 Appium

Appium 安装-简化版

image

jdk

  • 11
java -version

sdk

adb version


Appium Desktop

验证

  • 使用安卓端验证相关环境是否安装成功
      1. 命令行验证 jdk、adb
      1. 打开 Appium Desktop,点击 start server 不报错
      1. 准备安卓设备(真机/模拟器)连接电脑
      1. adb 命令查看设备是否连接
      1. 编写启动配置,启动 app 不报错

模拟器竖屏

  • [l] mumu 设置竖屏

参数查看

  • 查看设备 ID
adb devices
  • 查看设备的 Android 系统版本
adb shell getprop ro.build.version.release
  • 查看想要启动 app 的包名
adb shell pm list packages
  • 查看想要启动 app 的启动页面
adb shell monkey -p ${package.name} -vvv 1

启动参数

{
  "platformName": "Android",
  "appium:platformVersion": "6.0",
  "appium:deviceName": "emulator-5554",
  "appium:appPackage": "com.android.settings",
  "appium:appActivity": ".Settings"
}