当前位置: 首页 > news >正文

移动自动化测试-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命令
  • 获取包名和启动名
    • 包名:一个安卓应用的唯一标识符,操作哪个应用需要依赖包名
    • 启动名:应用中界面标识符,允许重复。
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、启动1、启动
2、截屏查看
在这里插入图片描述
在这里插入图片描述

  • 使用常见问题
    在这里插入图片描述
  • 元素操作
  • 基础操作API
    入门示例

前置:

  • 打开模拟器
  • 必须启动appium服务器
  • 获取要测试App的包名/界面名。
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)

http://www.mrgr.cn/news/99067.html

相关文章:

  • Windows使用SonarQube时启动脚本自动关闭
  • leetcode 674. Longest Continuous Increasing Subsequence
  • Unity webgl 获取图片或视频数据
  • leetcode 300. Longest Increasing Subsequence
  • AI分析师
  • 爬虫入门学习
  • 计算机网络八股——HTTP协议与HTTPS协议
  • 杨校老师课堂之C++入门练习题梳理
  • 【刷题Day20】TCP和UDP(浅)
  • Ubuntu20.04下Docker方案实现多平台SDK编译
  • 信创开发:开启信息自主创新、国产替代新时代
  • pgsql中使用jsonb的mybatis-plus和Spring Data JPA的配置
  • MLA(多头潜在注意力)原理概述
  • js day3
  • Redis命令——list
  • 将 DeepSeek 集成到 Spring Boot 项目实现通过 AI 对话方式操作后台数据
  • ospf实验
  • 山东科技大学人工智能原理考试回忆复习资料
  • [密码学实战]基于Python的国密算法与通用密码学工具箱
  • 命令update-alternatives