appium+python开发02--appium-desktop基本操作脚本录制及简单的脚本编写

it2022-05-05  121

: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)