app自动化-Appium学习笔记

使用Appium,优点:

1、支持语言比较多,例如:Java、Python、Javascript、PHP、C#等语言

2、支持跨应用(windows、mac、linux)

3、适用平台Android、iOS

4、支持Native App(原生app)、Web App、Hybird App

原生应用:使用Android、iOS的标准SDK编写的应用。(肉眼查看:不用网络也能访问,优点:高效、流畅)

移动浏览器应用:使用移动平台的浏览器访问的应用。(肉眼查看:没网白屏看不到,优点:占内存比较小)

混合应用:把一个基于webview实现的功能进行包装的应用。(有些需要网络有些不需要网路)

Appium设计原理:

Appium本质上是一个web的服务器,实际是使用python+appium库编写脚本,使用http协议去控制Appium服务器,启动一个web服务器,使用ADB命令来操作手机端,实际是去控制web服务器,再去控制手机端

底层调用的是request.post()、request.get()方法

常用的adb命令:

连接手机设备:adb devices

设备命令符:adb shell

查看包名(当前启动界面):adb shell dumpsys window | findstr mCurrentFocus(雷电模拟器)

查看页面名:前面部分是包名 | 后面部分是页面名

实例:

创建实例化对象,并打开页面

python 复制代码
import time 
from appium import webdriver

#1.实例化启动对象

desired_caps = dict()
#链接app五大参数
desired_caps['platformName'] = 'Android'  #平台名称:Android/iOS
desired_caps['platformVersion'] = '5.1'   #版本号:知道准确的尽量写准确的,不知道可以把5.2.1写成 5.1或5
desired_caps['devicesName'] = '192.168.56.101:5555'  #设备名称:使用adb devices查看    
desired_caps['appPackage'] = 'com.android.settings'   #包名:查看启动包名称
desired_caps['appActivity'] = '.Settings'     #启动页名称:查看启动页名称

driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
#Remote是appium.webdriver的方法
#http://localhost:4723/wd/hub是固定值

#2.测试步骤

time.sleep(5)


#3.关闭驱动对象
driver.quit()
相关推荐
Code哈哈笑4 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
QQ同步助手1 小时前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
流浪的小新1 小时前
【AI】人工智能、LLM学习资源汇总
人工智能·学习
A懿轩A2 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
云边有个稻草人2 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
南宫生10 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__10 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨10 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
数据的世界0112 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐12 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习