我是用python编程的,所以以下说明都是python版,当然也有java版,这个可自行百度
Appium由客户端和服务器组成,客户端与服务器通过JSON Wire Protocol进行通信。
1. python安装
2. python编辑器:Eclipse
3. 模拟器环境:Android SDK
4. node.js:为了用命令行的方式启动Appium
5. 安装Appium服务器:
下载软件包安装https://bitbucket.org/appium/appium.app/downloads/
安装完成后启动如图
然后在安装目录下的\node_modules\.bin执行“appium-doctor”
注:因为之前安装sdk时设置的环境变量是ANDROID_SDK_HOME,这个出现了一点小错误
6. python-client
pytest是python的一个测试框架,主要是用来进行一些小的测试。
使用Appium
启动Appium Server,点击右上角的执行按钮
默认占用本机4723端口
或者安装Appium-Destop
点击“Start Server v1.7.2”
编写测试脚本
Desired Capabilities 在启动 session 的时候是必须提供的。
platformName:使用哪种移动平台。iOS, Android, orFirefoxOS。
platformVersion:指定平台的系统版本。例如指的Android平台,版本为5.1。
deviceName:启动哪种设备,是真机还是模拟器?iPhone Simulator,iPad Simulator,iPhone Retina 4-inch,Android Emulator,Galaxy S4…
appPackage:待测试的app的Java package。比如com.example.android.myApp, com.android.settings。
appActivity:待测试的app的Activity名字。比如MainActivity、.Settings。注意,原生app的话要在activity前加个”.“
automationName:使用哪种自动化引擎。appium(默认)还是Selendroid
其次还有很多其他配置。
注:其中appActivity、appPackage可以通过aapt工具查看,deviceName可以通过chrome://inspect/#devices查看
或
定位元素
模拟操作时需要定位元素,这个时候可以使用uiautomatorviewer.bat查看(位于sdk安装目录下的tools)
点击第二个按钮,可以查看到当前手机界面,每次切换界面都需要重新加载一下
resource-id就是id属性,text就是name属性,class属性,content-desc是Accessibility ID定位
注:定位是关键,这个会重点讲
也可以通过Appium-Destop查看
添加相关信息后,点击“Start Session”
只是提供了一种方式,用的话还得自己摸索
至此准备工作已经完成