Appium + Python APP 自动化测试学习

小白:Appium 环境怎么搭建,你能带带我吗?
大白:挠挠头
大白:呐,给你(伸手就是一篇 博客
接下来就可以愉快地学习 APP 自动化啦~~


1. 导入 package

首先导入 appium 模块(需要先 pip 安装模块)

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


2. 创建 webdriver 实例

2.1 Remote

Remote 实际上就是包装过的 webdriver ,通过下面的代码

创建一个 webdriver 实例:

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

'http://localhost:4723/wd/hub' 为 Appium server 的 HTTP 服务端口和地址,每次打开 Appium 都会显示:

[Appium] Appium REST http interface listener started on 0.0.0.0:4723

自动化程序就是客户端,通过创建实例使客户端与 server 连接。


2.2 配置信息

desired_caps 是自动化配置信息

desired_caps = {
  'platformName': 'Android', # 被测手机是安卓
  'platformVersion': '8', # 手机安卓版本
  'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
  'appPackage': 'tv.danmaku.bili', # 启动APP Package名称
  'appActivity': '.ui.splash.SplashActivity', # 启动Activity名称
  'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
  'resetKeyboard': True, # 执行完程序恢复原来输入法
  'noReset': True,       # 不要重置App
  'newCommandTimeout': 6000,
  'automationName' : 'UiAutomator2'
  # 'app': r'd:\apk\bili.apk',
}

2.3 appPackage & appActivity

其中,appPackageappActivity 的获取方式如下:

打开应用,使用下面的命令查看:

adb shell dumpsys activity recents | grep "intent"

输出的第一行为:

intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tv.danmaku.bili/.ui.splash.SplashActivity}

其中 cmp=tv.danmaku.bili/.ui.splash.SplashActivity 包含了

'appPackage': 'tv.danmaku.bili'
'appActivity': '.ui.splash.SplashActivity'


3. 定位元素

3.1 uiautomatorviewer

双击 D:\android-sdk\tools\bin\uiautomatorviewer 打开窗口(注意要先将 Appium Inspector 关闭),点击左上角第二个图标即可加载手机页面和页面的树:

在这里插入图片描述

右侧展示了节点的信息!

对了,通过 uiautomatorviewer 也可以查看 appPackage 信息哦 ~


3.2 Appium Inspector

使用 Appium Inspector 查看 DOM 和查看元素的信息

在表格内输入信息后,点击保存,点击 Start Session

在这里插入图片描述

此时,Inspector 会充当一个 client,可以看到 Appium 上的 HTTP 请求信息 ~

可以刷新展示 APP 当前页面:

在这里插入图片描述

点击右上角的搜索按钮可以查看元素,根据返回值的个数可以确定是否能够唯一查找 ~


3.3 定位方法

定位方法主要包括利用元素 CSS 定位,以及通过 Xpath 定位,定位方法可以参考这两篇文章哈~

CSS 定位方法: Selenium 元素查找和操作元素

Xpath 定位方法:使用 xpath 选择元素



REFERENCE:

  1. https://www.bilibili.com/video/BV1tE411n7rV?p=10

END

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值