Appium操控安卓模拟器快速上手 (python) 含双机运行或双应用可行方法

本文介绍了使用Appium通过Python操控安卓模拟器进行自动化测试的快速入门方法,包括环境搭建、Appium Desktop调试、双机运行和双应用切换的实践。适合了解selenium的读者,文中提供了详细的步骤和代码示例。
摘要由CSDN通过智能技术生成

Appium操控安卓模拟器快速上手 (python)

非系统性学习,只是为了快速开始用,我自己用途主要是写脚本操控模拟器(当然安卓真机也可以)干一些事情,所以对于跑测试用例的可能用处不大(虽然本来应该的用途是跑测试用例)。适用于接触过selenium的人,或者至少知道怎么阅读html代码…
写了一段时间这个了,想记录一下。也会加入一些写了一段时间脚本的小小经验,包括什么双应用切换啊之类的。

环境搭建

我当初是看的这个教程,写的非常好了,跟着一步步做就能把环境搭好了。
总结起来需要的就是:

  • Appium客户端(desktop或者控制台版本应该都行,不过为了要分析html结构还是得下个desktop的,控制台版本我自己用的不多,貌似没desktop那么占资源)
  • Java SDK (需要配JAVA_HOME环境变量)
  • Android Studio,并且在里面的SDK Manager安装Android SDK
  • 如果用模拟器那么需要安装模拟器,我比较喜欢雷电,因为adb很好连
  • 调试adb(如果是雷电的话,启动模拟器之后adb devices一下应该就可以看到设备了)(建议可以把adb也配进环境变量,以后控制台直接adb xxxcommand会方便一些)

环境上基本就这么多,然后就是面向具体app的问题了。adb之前我也接触过一点,我遇到过的问题列在下面:

  • 模拟器和电脑adb版本不一致:把模拟器的adb替换成之前Android Studio里下载好的就行(在platfrom tools之类名字的文件夹里),链接里的教程也有提到。不过雷电的话我没遇到过这个问题。
  • 无法检测到真机:要打开USB调试权限,反正能开的相关权限都开开
  • 无法检测到模拟器:链接里的教程也提到了一点,adb devices检测不到的话需要adb connect 127.0.0.1:portNumber,具体的端口号可以上网查查,包括多开的端口号也都是有规律的,写脚本没有问题。

Appium Desktop调试

我这里用酷我音乐演示,app版本不同可能html结构会有一些差异。
这部分链接里的教程也写清楚了的,准备一个apk,然后去模拟器的安装根目录,里面有aapt.exe,然后执行.\aapt.exe dump badging xxx.apk,找到package name和lunchable activity name,复制下来。
像这样在appium里填上session各参数。
appium设置

{
   
  "platformName": "Android",
  "platformVersion": "5.1.1",	// 填模拟器或者真机的安卓版本,设置里能看见
  "deviceName": "emulator", // 安卓的话这个参数没有用,随便填都可以
  "appPackage": "cn.kuwo.player",	// 上面找到的package name
  "appActivity": "cn.kuwo.player.activities.EntryActivity"	// 上面找到的lunchable activity name
}

appium里这样填就可以了,注意appium里最后一条后面不可以打逗号(py里随意)
然后appium里就能像浏览器里F12检查源代码一样看见html代码,也可以做一些操作,也有操作录制什么的。

小例子

这里用我之前写过的脚本的一小部分来看看吧,我们控制模拟器在里面检索一个关键词,就这么简单一件小事情。
在appium里可以很容易看到搜索框的信息,一步步跟过去(可以用操作录制)能轻易获取各元素的id或者xpath等信息,于是我们可以开始写代码了。

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值