通过pip命令下载
pip install appium-python-client
Appium Server基于js开发
https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4
https://www.oracle.com/java/technologies/downloads/
安装完成后,添加环境变量JAVA_HOME
JAVA_HOME E:\java\jdk1.8.0_211
同样下载androidsdk安装包,完成后配置环境变量ANDROID_HOME,加入环境变量PATH
1.5.1 用USB线连接上安卓手机
1.5.2 设置➡关于手机,不断点击版本号7次以上
1.5.3 退出到上级菜单,在开发者模式中,启动USB调试
cmd调出命令行,输入adb devices -l,返回如下说明此时环境搭建完成
注:具体环境搭建操作和安装链接可参考up主白月黑羽
环境搭建
https://www.byhy.net/tut/auto/appium/01/#%E5%AE%89%E8%A3%85-android-sdk
手机上打开学习通APP,在cmd中执行
adb shell dumpsys activity recents | find "intent={"
输出
其中第一行最后cmp即为Package名和Actiivity名
应用的package名称就是com.chaoxing.mobile
应用的启动Activity就是.activity.SplashActivity
在你之前下载的androidsdk中D:\web\appium\androidsdk\androidsdk\tools\bin\uiautomatorviewer.bat
打开后,出现
点击
出现页面的构成元素
同样也是在之前下载好的软件中
输入手机的相关参数
定位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/master