基于appnium+python+夜神模拟器的自动化

Posted testlearn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于appnium+python+夜神模拟器的自动化相关的知识,希望对你有一定的参考价值。

首先参考https://www.cnblogs.com/testlearn/p/11419797.html搭好appnium环境

 

1、下载安装夜神模拟器后,在cmd命令输入adb connect 127.0.0.1:62001,显示出设备则表示连接成功

技术图片

2、定位元素

打开安卓目录下,...\\sdk\\tools目录下面的uiautomatorviewer.bat文件;

打开 uiautomatorviewer 时若报错:Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn‘t exist!

Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn‘t exist!

 重新执行第1步即可

技术图片

 技术图片

 如上,左上角图标应该就是获取手机上当前页面的“元素”/app的信息,这两个属性 resource-id和class就是他对应的属性,可以通过这些属性来定位元素。

package为当前启动应用的包名,获取包名的另一种方式为:启动应用,在CMD命令行输入adb shell dumpsys activity | find "mFocusedActivity"

技术图片

3.、获取到元素之后,开始编码

# coding=utf-8

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# appium服务监听地址
server = http://localhost:4723/wd/hub     # localhost为本机;4723为端口;/wd/hub可以看成是规定的默认地址
# app启动参数
desired_caps = 
  "platformName": "Android",            # platformName:使用哪个移动操作系统平台;ios,Android或FirefoxOS
  "deviceName": "127.0.0.1:62001",      # deviceName:使用的移动设备或模拟器的种类
  "appPackage": "com.tencent.mm",  # appPackage:你想运行的Android应用程序的Java包(仅限Android使用)
  "appActivity": ".ui.LauncherUI"     # 要从包中启动的Android活动的活动名称。(仅限Android使用)


# 驱动
driver = webdriver.Remote(server, desired_caps)
wait = WebDriverWait(driver, 30)
# 获取登录按钮
login_btn = wait.until(EC.presence_of_element_located((By.ID, "com.tencent.mm:id/edu")))
# 点击登录按钮
login_btn.click()
# 获取手机号文本框
phone_text = wait.until(EC.presence_of_element_located((By.ID, "com.tencent.mm:id/li")))
# 填写手机号文本框
phone_text.send_keys("12345678900")

 

以上是关于基于appnium+python+夜神模拟器的自动化的主要内容,如果未能解决你的问题,请参考以下文章

Pythontesseract+uiautomator2+夜神模拟器 悠长假期手游集市识别验证码自动购买

移动(appium)自动化测试-爬虫的另一种手段

appium+python自动化45-nox连不上问题解决

Appium + Python App自动化第一个脚本

Appium + Python App自动化第一个脚本

《夜神安卓模拟器》使用方法教程