appium的安装与使用

Appium做IOS自动化必须要用mac

appium用python开发要装下面的包
pip install appium-python-client

安装Appium Server

安装JDK

安卓APP的自动化,必须要安装安卓SDK(后面会讲到),而安卓SDK需要 JDK 环境

 

安装 Android SDK

对于安卓APP的自动化,Appium Server 是需要 Android SDK的。

因为要用到里面的一些工具,比如 要执行命令设置手机、传送文件、安装应用、查看手机界面等。

下载最新的 Android SDK文件包: androidsdk.zip ,并且解压,即可。

  1. 在D盘新建一个文件夹androidSDK,里面建两个文件夹分别叫platform-tools和tools,把刚下载的压缩文件androidsdk.zip解压内容全部复制到androidSDK这个文件夹里
  2. 添加一个 环境变量 ANDROID_HOME,设置值为sdk包解压目录, 例如变量值输入D:\androidSDK,路径结尾不能含有“;”分号
  3. 配置环境变量path,变量值输入%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

通过adb操作与手机通信

adb操作命令:
#列出连接电脑上的安卓设备
adb devices -l 

如果你应用已经安装在手机上了,可以直接打开手机上该应用,进入到你要操作的界面

然后执行

adb shell dumpsys activity recents | find "intent={"
会显示如下,最近的 几个 activity 信息,

intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tv.danmaku.bili/.ui.splash.SplashActivity}
intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000300cmp=com.huawei.android.launcher/.unihome.UniHomeLauncher}
intent={flg=0x10804000 cmp=com.android.systemui/.recents.RecentsActivity bnds=[48,1378][10322746]}
intent={flg=0x10000000 cmp=com.tencent.mm/.ui.LauncherUI}
其中第一行就是当前的应用,我们特别关注最后

cmp=tv.danmaku.bili/.ui.splash.SplashActivity
应用的package名称就是 tv.danmaku.bili

应用的启动Activity就是 .ui.splash.SplashActivity

 

adb 连接模拟器,我的是mumu模拟器,操作如下:

1、mumu模拟器打开开发者模式,设置--关于平板电脑--版本号(点击三次)(有开发者选项直接点击进入);打开usb调试

各模拟器adb连接端口

夜神安卓模拟器 62001
逍遥模拟器 21503
蓝叠模拟器 5555
雷电 5555
天天 5037
mumu 7555
Genymotion 5555
腾讯手游助手 adb connect 127.0.0.1:5555

在cmd命令行:adb connect 127.0.0.1:7555,如下状态表示连接成功

连接安卓手机时的,需要的配置

from appium import webdriver
from appium.webdriver.extensions.android.nativekey import AndroidKey

desired_caps = {
  'platformName': 'Android', # 被测手机是安卓
  'platformVersion': '10', # 手机安卓版本
  'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
  'appPackage': 'com.jiaparts.dsy', # 启动APP Package名称
  'appActivity': '.ui.StartActivity', # 启动Activity名称
  'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
  'resetKeyboard': True, # 执行完程序恢复原来输入法
  'noReset': True,       # 不要重置App,如果没有的话,每次执行自动化前会重置APP的数据,像刚刚安装的状态一样
  'newCommandTimeout': 6000, #连接超时时间
  'automationName' : 'UiAutomator2' #appium的自动化版本
  # 'app': r'd:\apk\bili.apk',
}

# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 设置缺省等待时间
driver.implicitly_wait(5)


连接模拟器,deviceName  改为 所连接的  模拟器 的 地址端口

{
  "automationName": "uiautomator2",
  "platformName": "Android",
  "platformVersion": "5.1.1",
  "deviceName": "127.0.0.1:21503",
  "appPackage": "com.jiaparts.dsy",
  "appActivity": "com.jiaparts.dsy.ui.StartActivity"
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值