移动自动化测试-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)
相关推荐
阿祖_in_coding4 天前
混合App(Hybrid App)自动化测试理解
appium
returnthem11 天前
安装Appium
appium
seabirdssss16 天前
Appium 在小米平板上的安装受限与闪退排查
android·appium·电脑
小陈的进阶之路20 天前
Selenium 滑动 vs Appium 滑动
python·selenium·测试工具·appium
小陈的进阶之路20 天前
Appium 自动化测试笔记
笔记·appium
linglan42822 天前
APPium环境配置
appium·自动化
lifewange1 个月前
Appium是什么
appium·压力测试
柚子+1 个月前
Appium+python+雷电模拟器自动化测试入门
数据库·python·appium
@Aurora.2 个月前
【GUI自动化测试】--基于QQ音乐项目的GUI自动化测试
appium