appium连接夜神模拟器操作app

前言:

appium调试手机软件:

  • 真机调试:即手机通过数据线连接电脑的方式,局限性太大,一个型号就要买一个手机,emmmm...
  • 模拟器:有很多模拟器软件,推荐夜神,可以在电脑上虚拟出化各种型号手机,极其方便

一、安装夜神模拟器

1.安装模拟器

1.下载安装最新的夜神模拟器:https://www.yeshen.com/

2.启动模拟器,基本操作:

  • 鼠标左键:点击选择
  • 鼠标右键:返回上一级
  • 按压左键,可上下左右滑动
  • 右下角小房子,可回到主界面

3.设置手机型号:

4.下载应用

2.开启开发者模式

第一步:点击桌面  工具 - 设置

 

 

 第二步:点击 关于:

 

 第三步:找到  版本号,连点5次即可开启开发者模式:

 

成功:

 

 3.替换nox_adb.exe

用安卓sdk的platform-tools文件中的adb.exe替换夜神模拟器bin文件夹中的nox_adb.exe,确保两者版本一致:
 

4.模拟器连接和查看设备信息(以后经常会用到)

夜神模拟器,默认端口号是62001

打开cmd命令窗口,分别输入以下命令

adb connect  127.0.0.1:62001  
adb devices -l

二、appium连接模拟器操作app

1.打开客户端

打开电脑上的appium客户端,我们使用默认配置都不修改,直接点击“Start Server”按钮启动

 

 

2.连接手机设备

  • 真机调试:手机数据线连接上电脑 - 开启开发人员选项 
  • 模拟器:上一章中最后一步

3.打开app

 

 输入必要参数,点击连接,以微信为例:

添加以下四项值,完后点击“Start Session”。

  • platformName---设备平台,Android或IOS
  • deviceName----设备名。按上边adb devices -l 查出的设备名modle填写即可
  • appPackage----要启动的app的包名,是App开发者提供的名称。微信是"com.tencent.mm"
  • appActivity----要启动的界面,是App提供的各种不同的功能。每个程序都有个MainActivity,就是打开程序时显示在屏幕的活动。微信启动界面是".ui.LauncherUI"

appPackage和appActivity获取:

首先在android手机或模拟器上打开App,输入下面的abd命令:

adb shell dumpsys window windows | findstr mFocusedApp

 

 

 

 连接后出现app界面,可以通过appium界面操作手机app:

 

 

 

 三、微信登陆代码演示

记得一定是提前安装好下面两个包的:

pip install Appium-Python-Client Selenium

Appium-Python-Client继承自Selenium所以使用方法和selenium是很类似的

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'
# app启动参数
desired_caps={
  "platformName": "Android",
  "deviceName": "OPPO_R11_Plus",
  "appPackage": "com.tencent.mm",
  "appActivity": ".ui.LauncherUI"
}

# 驱动
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/drp")))
# 点击登录按钮
login_btn.click()
# 获取手机号文本框
phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/ji")))
# 填写手机号文本框
phone_text.send_keys("123")

 

posted @ 2022-03-02 22:07  www.pu  Views(1825)  Comments(0Edit  收藏  举报