Android
第一步:电脑安装Android SDK并且配置好adb命令
第二步:打开手机开发者选项
第三步:在开发者选择中设置允许USB调试
第四步:在终端命令行中执行adb devices
lujunpeng@lujunpengdeMacBook-Pro ~ % adb devices
List of devices attached
VBJDU18608004539 device
第五步:在终端命令行中执行 adb tcpip 5555
lujunpeng@lujunpengdeMacBook-Pro ~ % adb tcpip 5555
restarting in TCP mode port: 5555
第六步:打开手机设置WiFi界面找到WiFi连接的IP
第七步:在终端命令行执行 adb connect 手机IP
lujunpeng@lujunpengdeMacBook-Pro ~ % adb connect 10.10.31.85
connected to 10.10.31.85:5555
启动appium 然后使用appium server连接真机
配置参数
deviceName 设备名称
,通过adb devices -l
命令获取model参数值
lujunpeng@lujunpengdeMacBook-Pro ~ % adb devices -l
List of devices attached
VBJDU18608004539 device usb:336592896X product:COL-AL10 model:COL_AL10 device:HWCOL transport_id:9
10.10.31.85:5555 device product:COL-AL10 model:COL_AL10 device:HWCOL transport_id:10
platformName
系统名称,Android
platformVersion
系统版本,非必填,通过设置-关于手机-Android版本查看 10.0.1
appPackage
,应用包名
获取方法:
1.aapt dump badging /Users/lujunpeng/Downloads/app-release.apk
2.adb shell pm list packages
3.adb shell pm list packages -3
列出所有第三方包名称
4.adb shell dumpsys window windows|grep -I current
,列出当前打开的应用的包名以及Activity
5.adb shell dumpsys window windows | grep -E 'mCurrentFocus'
lujunpeng@lujunpengdeMacBook-Pro ~ % aapt dump badging /Users/xxx/app-release.apk
package: name='cn.xxx.management_app' versionCode='66' versionName='1.18.3' compileSdkVersion='28' compileSdkVersionCodename='9'
sdkVersion:'21'
targetSdkVersion:'28'
appActivity
,应用启动项名称
获取方法:
1.aapt dump badging /Users/lujunpeng/Downloads/app-release.apk
2.adb shell dumpsys window windows | grep -E 'mCurrentFocus'
from common import *
#前面获取的真机参数
appium_connect = {
'appium:deviceName': 'COL_AL10', 'appium:appPackage': 'cn.styd.management_app',
'appium:appActivity': 'cn.styd.management_app.MainActivity', 'platformName': 'Android'}
driver = Remote('http://127.0.0.1:4723/wd/hub', appium_connect)
print(driver)
# 允许
driver.find_element(By.ID, 'com.android.permissioncontroller:id/permission_allow_button').click()
# 禁止
# driver.find_element(By.ID, 'com.android.permissioncontroller:id/permission_deny_button').click()
driver.find_element(By.ID, 'com.android.permissioncontroller:id/permission_allow_button').click()
time.sleep(1)
driver.find_element(By.XPATH, '//android.view.View[@content-desc="同意协议"]').click()
# driver.find_element(By.ID, 'com.android.permissioncontroller:id/permission_deny_button').click()
# driver.find_element(By.PARTIAL_LINK_TEXT, '不同意并退出').click()
driver.find_element(By.XPATH, '//android.view.View[@content-desc="登录"]').click()
driver.find_element(By.CLASS_NAME, 'android.widget.EditText').send_keys('username')
driver.find_element(By.XPATH, '//android.view.View[@content-desc="请输入密码"]').send_keys('passwrod')
driver.find_element(By.CLASS_NAME, 'android.widget.ImageView').click()
time.sleep(1)
driver.find_element(By.CLASS_NAME, 'android.view.View').click()