appium+python开发02--appium-desktop基本操作脚本录制及简单的脚本编写
注:windwos中执行adb logcat |grep 'chrome' 会报错,grep不是内部命令,可以使用git bash
可以安装一个scrcpy,直接使用pip install scrcpy
1、连接mumu模拟器:
1)打开设置中的:USB调试模式
2)在cmd窗口执行命令:
adb connect 127.0.0.1:7555 #不同模拟器端口不同
3adb devices #查看是否连接
adb logcat #查看日志
adb logcat | grep -i xueqiu #xueqiu 的日志过滤出来
adb logcat | grep -i xueqiu | less
adb logcat |grep -i displayed
adb shell #进入交互页面
exit #推出交互页面
adb shell am | less看命令详情

adb shell am start -W -S -n com.xueqiu.android/.view.WelcomeActivityAlias #先杀掉雪球再重新启动

3)获取包名和activity方法:
(1)adb logcat |grep -i displayed.*.xueqiu #执行命令后去模拟器上启动app,日志中第一行就是包名和Activity名称

(2)adb shell dumpsys activity top |less
(3)apkanayse
4)adb安装apk的命令
adb install ***.apk
2、appium操作:
1)看帮助文档

2)配置参数:(不知道配置哪些参数,可以直接点击右下角start session按钮,报错信息中会有提示)

3)appium官网示例代码

4)移动APP定位常用策略:
id(resource-olk,id)
xpath
accessibilityid(content-desc)
5)使用appium的inspector录制脚本方法:

生成的python代码如下:
from appium import webdriver
caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "demo"
caps["app"] = "com.xueqiu.android"
caps["appActivity"] = "view.WelcomeActivityAlias"
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
driver.implicitly_wait(10) #加一段隐式等待代码,让脚本运行通过
el1 = driver.find_element_by_id("com.xueqiu.android:id/open")
el1.click()
el2 = driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button")
el2.click()
el3 = driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button")
el3.click()
el4 = driver.find_element_by_id("com.xueqiu.android:id/home_search")
el4.click()
el5 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
el5.send_keys("pdd")
el6 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.RelativeLayout/android.widget.ListView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout[1]")
el6.click()
driver.quit()
更多推荐
所有评论(0)