移动自动化测试-appium

  • app自动化介绍
  • 工具说明

主流工具

app自动化执行原理

app类型(技术)

  • 环境搭建

  • 所需环境

  • JDK
  • android-sdk
  • appium
  • 模拟器

1、JDK安装

说明:为什么要安装JDK?

  • 安卓应用或开发工具是使用JAVA语言开发,必须使用jdk。

  • 查看是否安装jdk

    安装

  • 下载安装包后直接以管理员方式安装,下一步到最后即可。

  1. android-sdk

说明:android工具包

安装:

  • 1、解压到指定目录
  • 2、将目录添加到path中
    • 1、新建环境变量:ANDROID_HOME=D:\android\sdk(这里为安装目录)
    • 2、添加path路径,在path中添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
      提示:tools有查看元素工具,我们必须使用;platform-tools是adb命令工具所在目录。

3、appium安装

说明:需要安装appium服务端程序python中调用的api库

服务端:

  • 作用:将脚本发送给手机
  • 安装:双击安装程序appium-desktop-1.8.0.exe,一直到完成即可。
  • python的appium.api库
    • 作用:自动化测试使用api
    • 安装:pip install Appium-Python-Client==1.2.0

4、模拟器

说明:安卓手机

安装:雷电、mumu、夜神,默认安装完成即可

  • adb命令

说明:通过电脑,操作android系统的工具。

  • adb工作原理
  • adb命令
  • 获取包名和启动名
    • 包名:一个安卓应用的唯一标识符,操作哪个应用需要依赖包名
    • 启动名:应用中界面标识符,允许重复。
go 复制代码
1、mac/linux:adb shell dumpsys window | grep usedApp
2、windows:adb shell dumpsys window | findstr usedApp
  • 上传和下载命令
    • 上传:adb push 路径\xxx.txt/sdcard
    • 下载:adb pull /sdcard/xxx.txt本地文件夹路径
  • 启动时间命令
    • 命令:adb shell am start -W 包名/启动名

      注意:查看时间,一般要冷启动(应用程序没有启动)
      冷启动:应用程序未启动
      热启动:应用程序已启动在后台或当前页面。
  • 查看日志
    • 命令:adb logcat > d:\xxx.log
    • 提示:对app操作时,要先开启日志,记录app操作的步骤和异常
  • 其他常用命令

提示:

1、adb start-server 正常不需要手动启动,自动启动adb.exe进程。当应用进程死机,需要执行杀服务,杀完后

需要执行命令启动。

2、adb connect ip:端口 正常不要手动连接,系统会自动连接。如果执行adb devices 没有看到设备列表,需要

手动连接。

  • 元素定位
  • 查看元素定位信息

为什么要查看元素信息?

说明:自动化测试就是查找元素操作元素,要查找元素,就需要根据元素的信息来查找(id、

class、text、...)

  • 如何查找?

使用:android SDK 自带工具:uiautomatorviewer工具

  • 如何使用?

1、启动

2、截屏查看

  • 使用常见问题
  • 元素操作
  • 基础操作API
    入门示例

前置:

  • 打开模拟器
  • 必须启动appium服务器
  • 获取要测试App的包名/界面名。
go 复制代码
from appium import webdriver
#定义字典变量
desired_caps={}
#字典追加启动参数
desired_caps["platformName"]="Android"
#注意:版本号必须正确
desired_caps["platformVersion"]="7.1.1"
#android不检测内容,但是不能为空
desired_caps["deviceName"]="192.168.56.101:5555"
desired_caps["appPackage"]="com.android.settings"
desired_caps["appActivity"]=".Settings"
#设置中文
desired_caps["nicodeKeyboard"]=True
desired_caps["resetKeyboard"]=True
#获取driver
driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
相关推荐
测试员周周9 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
测试员周周16 小时前
【Appium 系列】第13节-混合测试执行器 — API + UI 的协同执行
开发语言·人工智能·python·功能测试·ui·appium·pytest
测试员周周1 天前
【Appium 系列】第15节-视觉测试 — 截图、对比、视觉回归
人工智能·python·数据挖掘·回归·appium·测试用例·测试覆盖率
Wpa.wk2 天前
APP自动化-Appium环境安装
运维·appium·自动化
Wpa.wk3 天前
APP自动化-Appium原理
运维·appium·自动化
测试员周周5 天前
【Appium 系列】第12节-智能路由 — API测试 vs UI 测试的自动选择
开发语言·人工智能·python·功能测试·ui·appium·测试用例
测试员周周6 天前
【Appium 系列】第09节-数据驱动测试 — YAML 数据 + parametrize
服务器·数据库·人工智能·python·测试工具·语言模型·appium
测试员周周6 天前
【Appium 系列】第10节-手势操作实战 — 滑动、拖拽、缩放与轻拂
linux·服务器·开发语言·人工智能·python·appium·pytest
测试员周周6 天前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
测试员周周7 天前
【Appium 系列】第07节-API测试封装 — BaseAPI 的设计与实现
开发语言·人工智能·功能测试·测试工具·appium·自动化·测试用例