目录
2.1 查找APP Package名和启动Activity名
一、环境搭建
1.1 安装client编程库
通过pip命令下载
pip install appium-python-client
1.2 安装Appium Server
Appium Server基于js开发
1.3 安装JDK
安装完成后,添加环境变量JAVA_HOME
JAVA_HOME E:\java\jdk1.8.0_211
1.4 安装 Android SDK
同样下载androidsdk安装包,完成后配置环境变量ANDROID_HOME,加入环境变量PATH
1.5 手机调试
1.5.1 用USB线连接上安卓手机
1.5.2 设置➡关于手机,不断点击版本号7次以上
1.5.3 退出到上级菜单,在开发者模式中,启动USB调试
1.6 环境验证
cmd调出命令行,输入adb devices -l,返回如下说明此时环境搭建完成
注:具体环境搭建操作和安装链接可参考up主白月黑羽
环境搭建https://www.byhy.net/tut/auto/appium/01/#%E5%AE%89%E8%A3%85-android-sdk
二、自动化操作
2.1 查找APP Package名和启动Activity名
手机上打开学习通APP,在cmd中执行
adb shell dumpsys activity recents | find "intent={"
输出
其中第一行最后cmp即为Package名和Actiivity名
应用的package名称就是 com.chaoxing.mobile
应用的启动Activity就是 .activity.SplashActivity
2.2 界面元素查看
2.2.1 uiautomatorviewer
在你之前下载的androidsdk中D:\web\appium\androidsdk\androidsdk\tools\bin\uiautomatorviewer.bat
打开后,出现
点击
出现页面的构成元素
2.2.2 Appium
同样也是在之前下载好的软件中
输入手机的相关参数
定位xpath元素
接下来就是一步一步xpath,一步一步click
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 设置缺省等待时间
driver.implicitly_wait(5)
# 南通大学图书馆
driver.find_element(By.XPATH, '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.TabHost/android.widget.RelativeLayout/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ViewFlipper/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.support.v4.view.ViewPager/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[1]/android.view.ViewGroup/android.widget.TextView').click()
time.sleep(1)
三、源码
完整代码放在Github中,不同学校图书馆系统虽不一样,但大体思路相同,可自行编写
https://github.com/5-Daisy/NTU_Library/tree/masterhttps://github.com/5-Daisy/NTU_Library/tree/master