Capability 的配置详解可参考官网:http://appium.io/docs/cn/writing-running-appium/caps/#appium-capability
首先,desired capability的功能是配置Appium的会话,就是要告诉Appium服务器我们想要自动化的平台和应用程序,Desired Capabilities是一组设置的键值(字典)对的集合,其中键对应的是设置的名称,而值对应的是设置的值(example:"platfromName":"ios"),其主要用于通知Appium服务器建立需要的Session。
Session:Appium的客户端和服务端之间进行通信必须在一个Session的上下文中进行。客户端在发起通信的时首先会发送一个被称作“Desired Capabilities”的JSON对象传给服务器。当服务器收到该数据后,就会创建一个 Session会话,并将session的ID返回到客户端,接着苦短可以利用该session的ID发送后续的指令。
其实,对Capability有过了解的就会发现一个特点,他主要有三个部分组成:公用的Capability、Android独有的Capability、iOS独有的Capability。如果Android 的想用iOS的话,是不会被允许的,所以就需要我们去了解每个平台有哪些。想了解的朋友可以参照上面的链接。
目录
1、如何用 Capability 启动 App
Automatic Server:本地 Appium 服务器
Custom Server:自己选择服务器,也就是说服务器不在本地,需要指定(Remote Host:另一台网络中的Appium服务器主机,Remote Port:另一台网络中的Appium服务器的端口号,Remote Path:远程路径)
Select Cloud Providers:可以选择云服务提供商,调用一些远程的测试设备来进行会话;
2、Capability 常用参数的配置与介绍:
{
"platformName": "Android",
"platformVersion": "4.4.2",
"deviceName": "127.0.0.1:62001",
"appPackage": "com.wandoujia.phoenix2",
"appActivity": "com.pp.assistant.activity.PPMainActivity",
"noReset": true
}
# 参数介绍:
{
"platformName":# 平台的名称
"platformVersion":# 平台对应的版本号
"deviceName":# 设备的名称
"appPackage":# APP包名
"appActivity":# app的launchable-activity对应的信息(Activity 的名字是指从你的包中所要启动的 Android acticity)
"noReset":# 不用重置session会话
}
这个JSON内容会根据自己配置的 Desired Capabilities 自动生成;
APP包名的获取和APPActivity信息的获取可以参考以下内容
3、配置Capability参数并启动会话
以启动豌豆荚为例:
4、对会话窗口界面菜单进行介绍
# 1 选择元素
# 2 滑动坐标点
# 3 点击坐标点
# 4 重新获取当前设备的最新页面
# 5 支持录制功能,根据 10 弹出的窗口输入的内容到 11 中的操作,会自动生成 8 中对应的脚本
# 6 搜索元素
# 7 将自动生成 8 中对应的脚本文件复制到剪贴板
# 9 生成脚本语言的选择
结合 5、8、10、11的具体操作:
根据具体的操作生成的 对用语言的Python的脚本: