真机练习
前提条件:需要一根数据线和电脑连接,手机需要开发者模式选择USB调试 (手机型号不同开启开发者模式不同,可以百度查找)
在命令提示符使用adb devices -l 查询手机型号
adb devices -l
在命令提示符使用adb shell dumpsys window | findstr mCurrentFocus 查询当前打开包名和Activity
adb shell dumpsys window | findstr mCurrentFocus
appium的控件添加内容
点击启动会话,查看是否成功
练习(app为米游社)
查询命名为“夜兰”的信息和攻略
点击定位“旅行者讨论区”,使用id定位
el2 = driver.find_element_by_id("com.mihoyo.hyperion:id/mHomeTalkTitleTv")
el2.click()
点击定位“每日一水”,使用xpath定位
el3=driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.view.ViewGroup/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView[2]")
el3.click()
点击定位搜索图标,使用xpath定位
e15=driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.ImageView[2]')
e15.click()
点击定位“夜兰”,使用xpath定位(因为没有搜索按钮,要不然输入也可以)
e16=driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[2]/android.widget.TextView')
e16.click()
点击定位第一个标题里的图片,使用xpath定位
e17=driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]/android.widget.FrameLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.ImageView')
e17.click()
代码展示
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
caps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "OPPO_R11_Pluskt"
caps["appPackage"] = "com.mihoyo.hyperion"
caps["appActivity"] = "com.mihoyo.hyperion.main.HyperionMainActivity"
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
#定位旅行者讨论区
el2 = driver.find_element_by_id("com.mihoyo.hyperion:id/mHomeTalkTitleTv")
el2.click()
#定位每日一水
el3 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.view.ViewGroup/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.TextView[2]")
el3.click()
#el4 = driver.find_element_by_xpath("//*[contains(@text,'优菈配队尝试—歪到的天空大剑不要丢')]")
#el4.click()
#e15 = driver.find_element_by_id('com.mihoyo.hyperion:id/mPostDetailActionBarIvBack')
#定位搜索图标
e15 = driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.ImageView[2]')
e15.click()
#定位夜兰
#e16 = driver.find_element_by_id('com.mihoyo.hyperion:id/customLeftIv')
e16 = driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[2]/android.widget.TextView')
e16.click()
#定位图片
#e17 =driver.find_element_by_id('com.mihoyo.hyperion:id/mSearchToolBarEt')
e17 =driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]/android.widget.FrameLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.ImageView')
e17.click()
#e17.send_keys("夜兰")