Capability介绍
desired capability的功能是配置Appium会话。他们告诉Appium服务器您想要自动化的平台和应用程序。Desired Capabilities是一组设置的键值对的集合,其中键对应设置的名称,而值对应设置的值。(如:“platformName”: “Android”)Desired Capabilities主要用于通知Appium服务器建立需要的Session。
Session
Appium的客户端和服务端之间进行通信都必须在一个Session的上下文中进行。客户端在发起通信的时候首先会发送一个叫作“Desired Capabilities”的JSON对象给服务器。服务器收到该数据后,会创建一个session并将session的ID返回到客户端。之后客户端可以用该session的ID发送后续的命令。
常用Capability配置讲解
Capability官方完整文档
主要分成了三部分:公共部分、ios部分、android部分。主要罗列一些常用选项,具体内容参考Capability官方文档。
公共部分
- platformName : 使用的手机操作系统
- platformVersion 手机操作系统版本
- deviceName 受用的手机或模拟器类型
- app 本地绝对路径或远程http URL所指向的一个安装包
- noReset: 当前session会话下不会重置应用的状态,默认状态未False,False(重置,如果为登录,上次登录后,下次仍需要登录),True(不重置,如果为登录,上次登录后,不会退出登录,下次可以直接登录。)
- udid : 链接真机的唯一设备号,当pc上同时链接真机和模拟器的时候,需要用udid进行区分,而不是deviceName
Android独有
appActivity Activity的名字是指从你的保重中索要启动Androidacticity 通常需要在前面添加“.”
appPackage: 运行的Android 应用的包名
appWaitActivity:用于等待启动的Android Activity
appWaitPackage:用于等待启动的Android应用包
含有中文时的输入(Android独有)
使用send_keys()传入中文时需要在Capability中配置以下两个参数
unicodeKeyboard:使用 Unicode 输入法。 默认值为 false
resetKeyboard:在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值为 false
注意:
使用Appium做了输入操作之后,如果出现输入法无法唤起,可以在系统设置——语言和输入法——将当前输入法替换为系统输入法或者其他输入法。
IOS独有
bundleId
udid
Capability启动App(Appium Desktop)
点击Appium Desktop快捷键,启动完成后,点击右上角的放大镜。
New Session Window 会话建立
· Automatic Server 本地AppiumServer服务
· Custom Server:例如,如果要针对运行网络中另一台计算机上的Appium服务器启动Inspector会话,这很有用。
Select Cloud Providers:选择相应的云测平台,包括:
· Sauce Labs:如果您无法访问机器上的iOS模拟器,则可以利用Sauce Labs帐户在云中启动Appium会话。
· TestObject:您还可以利用TestObject的真实设备云来进行真机测试。
· headspin:使用远程设备来创建会话。
参数信息(根据自己实际信息填写):
{
“platformName”: “Android”, 手机系统类型
“platformVersion”: “5.1.1”, 手机系统版本号
“deviceName”: “127.0.0.1:62025”, 设备名称
“appPackage”: “com.tal.kaoyan”, 软件包名
“appActivity”: “com.tal.kaoyan.ui.activity.SplashActivity”, 启动Activity
“noReset”: true 是否充值
}
完成上述信息后,点击Start Session就可以启动。
新的会话窗口允许您构造一组desired capabilities,用于启动Appium会话。您可以针对当前运行的Appium Desktop服务器(默认的)启动一个会话,或者您可以针对各种其他端点启动一个会话。
因为不需要使用Appium Desktop自己的服务器,您可以在不启动Appium Desktop服务器的情况下进入新的会话窗口。只需点击“File”(Windows / Linux)或“Appium”(Mac),然后选择“New Session…”,它将打开新的会话窗口,而不必启动本地服务器。在这种情况下,将禁用附加到本地服务器。
Inspector元素获取
启动成功之后就可以使用 Inspector来进行元素空间获取了。 注意:默认的元素定位有一些不准,需要切换到第二个坐标点定位选项后再切换回来才能准确定位
此功能主要用于元素定位,id name class 属性获得