1、安装node.js
下载地址:https://nodejs.org/en/ ,默认安装即可
2、安装java JDK
下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
下载JDK安装后,配置环境变量
添加系统变量:
添加CLASSPATH ,变量值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
编辑PATH,添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
命令窗口运行,安装成功
3、安装Android SDK
下载地址:http://tools.android-studio.org/index.php/sdk
安装后打开SDK Manager,安装工具
配置环境变量,添加系统变量:
添加path变量:
命令输入adb验证安装是否成功
输入aapt ,成功
4、安装appium
下载地址:http://appium.io/,默认安装即可
打开appium
5、pycharm安装Appium-Python-Client
环境安装成功,写脚本:
参数准备:
platformName:Android
platformVersion:安装Android SDK Manager的版本号,此处是10,如果版本号跟安装的不一致会报错,Appium中会给出建议
deviceName:手机连接电脑,命令中执行adb devices
appPackage:apk的包名
appActivity:apk的launcherActivity
cmd输入命令aapt dump badging D:\xxx.apk (测试apk包的地址)
代码:
from appium import webdriver
desired_caps={}
desired_caps["platformName"]="Android"
desired_caps["platformVersion"]="10"
desired_caps["deviceName"]="XPL0220410000594"
desired_caps["appPackage"]="cn.lezhi.speedtest"
desired_caps["appActivity"]="cn.lezhi.speedtest.welcome.WelcomeActivity"
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
注:手机开启usb调试,运行脚本,首次运行手机会安装appium的工具,默认安装即可
查找包名和launcherActivity的其他办法
电脑连接手机后,运行adb shell monkey -p com.android.calculator2 -v -v -v 1,从手机所有安装包里找
Appium Desktop-启动异常Activity used to start app doesn't exist or cannot be launched!
1)确保手机和电脑已连接 adb devices
2)确保在你手机上,要测试的包启动着
3)dos运行:adb shell dumpsys activity activities >C:\Users\xxx\Desktop\aa.txt
打开C:\Users\xxx\Desktop\aa.txt文件,查找你的关键字
使用cmp里的.DefaultAlias启动正常
appium支持对手机上的app进行管理和操作:
1、install_app(self,app_path,**options): 安装app,app_path为安装包路径
2、remove_app(self,app_id,**options): 卸载app,app_id为app包名
3、is_app_installed(self,bundle_id): 检查app是否有安装bundle_id为app包名
4、launch_app(self): 启动app,启动desiredcapabilities配置的APP
5、close_app(self): 关闭app,关闭desiredcapabilities配置的APP
6、background_app(self,seconds): 后台运行app,seconds为运行时长
7、activate_app(self,app_id): 切换app,app_id为app包名
8、current_activity(self): 打印当前activity使用的时候不加()
9、start_activity(self,app_package,app_activity,**opts): 在当前应用中打开一个Activity,或者启动一个新应用并打开一个Activity,app_package为要启动的Activity的包名,app_activity要启动的Activity名。
10、reset(self):重置应用,删除应用相关数据操作