adb命令:
1. 进入设备的shell命令:adb -s 127.0.0.1:5555 shell
adb -s emulator-5554 shell
2. 获取当前设备打开的应用信息,包名称及活动页名称:dumpsys activity | grep mFocusedActivity
如果获取不到就用:adb shell dumpsys activity activities | findstr mResumedActivity
如果还是获取不到就用:adb shell dumpsys activity | findstr "ResumedActivity"
配置:
这里app使用的是蜻蜓FM+安卓7.1.2
{
"platformName": "Android",
"appium:platformVersion": "7.1.2",
"appium:deviceName": "emulator-5554”",
"appium:appPackage": "fm.qingting.qtradio",
"appium:appActivity": "fm.qingting.qtradio.QTRadioActivity",
"appium:automationName": "UiAutomator2"
}
app米游社+安卓9
{
"platformName": "Android",
"appium:platformVersion": "9",
"appium:deviceName": "emulator-5554",
"appium:appPackage": "com.mihoyo.hyperion",
"appium:appActivity": "com.mihoyo.hyperion.main.HyperionMainActivity",
"appium:automationName": "UiAutomator2"
}
附完整代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 米游社自动化登录
# 场景:未登录过app,首次打开,完成自动登录 ———— down
import time
from appium import webdriver
from appium.options.common.base import AppiumOptions
from appium.webdriver.common.appiumby import AppiumBy
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECS
# 配置appium通用项
options = AppiumOptions()
options.load_capabilities({
"platformName": "Android",
"appium:platformVersion": "9",
"appium:deviceName": "emulator-5554",
"appium:appPackage": "com.mihoyo.hyperion",
"appium:appActivity": "com.mihoyo.hyperion.main.HyperionMainActivity",
"appium:automationName": "UiAutomator2",
'appium:disableIdLocatorAutocompletion':"true"
})
dr = webdriver.Remote(command_executor='http://127.0.0.1:4723/wd/hub', options=options)
# 点击"选好了"
dr.find_element(AppiumBy.ID,'com.mihoyo.hyperion:id/initChannelLayout').click()
time.sleep(1)
# 点击我知道了
# dr.find_element(By.XPATH,'//*[text() = "我知道了"]')
dr.find_element(AppiumBy.ID,'com.mihoyo.hyperion:id/tv_dialog_i_know').click()
time.sleep(1)
# 点击我的
dr.find_element(By.XPATH,"//*[@resource-id = 'com.mihoyo.hyperion:id/mHomeTabRadioBtnIv' and @bounds = '[924,1785][1014,1875]']").click()
time.sleep(1)
# 显示等待
WebDriverWait(dr,10).until(ECS.presence_of_element_located((By.ID,"com.mihoyo.hyperion:id/phone_login_edit_number")))
# 点击手机号输入框
phone = dr.find_element(By.ID,"com.mihoyo.hyperion:id/phone_login_edit_number")
phone.click()
# 输入手机号
phone.send_keys('17835757162')
time.sleep(1)
# 勾选同意并阅读
dr.find_element(By.ID,"com.mihoyo.hyperion:id/phone_login_iv_agree_check").click()
time.sleep(1)
# 点击获取验证码
dr.find_element(By.ID,"com.mihoyo.hyperion:id/phone_login_btn_captcha").click()
time.sleep(3)
dr.quit()