二、基础使用

基础参数获取

1、设置好IP和端口,启动Appium。

2、连接手机(我这里使用的是模拟机)

获取到手机IP,这个IP端口就是下面deviceName的值。

3、获取appPackage\appActivity

aapt dump badging  apk文件路径

Appium安装启动APP

  • 这个步骤可以安装启动APP,已安装的会直接启动。

  • 需要注意的是这里如果使用Genymotion可能会报    Failure [INSTALL_FAILED_NO_MATCHING_ABIS] 这是因为模拟器实在x86的处理器上运行,而手机一般都是RAM架构的,所以得把模拟器刷成ARM的才行(是不是这个原因我不知道,百度大家都这样说~),解决办法就是下载对应的 Genymotion-ARM-Translation_v1.1.zip 压缩包,然后拉入模拟器,重启模拟器就可以了(是不是感觉很简单,值得注意的是有的小伙伴比如我偶尔喜欢使用中文做文件夹,所以注意了这是会报错的,最好是放在根目录下,我这里提供了几个安卓版本对应的zip包,网上实在太难找了,鬼知道我下载了多少狗皮软件。。。。提取码:5pl4 )

# -*- coding: utf-8 -*-
__author__ = 'Luke'
from appium import webdriver

# 定义字典,配置appium
desired_caps = {
    'platformName': 'Android', # 系统
    'platformVersion': '5.0',  # 版本
    'deviceName': '192.168.184.107:5555', # 我这里是模拟机
    'app': r'D:\android\zalo.apk',  # apk安装包位置
    'appPackage': 'com.zing.zalo',  # apk的package,通过aapt命令查找
    'appActivity': 'com.zing.zalo.ui.SplashActivity',  # apk的launcherActivity,通过aapt命令查找
    'noReset': True, # 重要参数,=True 恢复默认值,=False(缺省值) 每次都是从刚安装app的状态进入(格式化状态),可能会显示欢迎页等
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)  # 连接appium,并将参数(字典)传入
安装\启动 APP

元素定位识别工具

  • 常用的识别元素工具有uiautomator和monitor,我选用的是monitor其他的自己百度吧~

  • 这个工具在android SDK文件夹下的tools中(本机地址D:\android\android-sdk-windows\tools),点击启动即可使用。

Appium选择定位(元素)

  这个可以用JS、jQuery选择器来理解,主要包含ID、Class、centent-desc、text、xpath来定位。

通过id定位元素(find_element_by_id)

  • 元素的resource-id

  • 唯一标识该元素的值(id有时候并不唯一)

  • 一般优先根据id定位

driver.find_element_by_id('com.zing.zalo:id/btnLogin').click() # click为点击事件

 

通过class_name定位元素

通过content-desc定位元素

通过text定位元素

通过xpath定位元素

 

posted @ 2019-09-14 17:36  CLuke  阅读(346)  评论(0编辑  收藏  举报
Live2D