Appium具备的功能

Appium具备的功能# 欢迎使用Markdown编辑器写博客
Appium所具备的功能实际上是一系列的JSON对象(键值对集合),客户端把Desired capabilities发送到服务器。下面我们将描述我们感兴趣的自动化会话。
接下来我们一个一个地描述capabilities,首选我们看一下Appium服务的capabilities:
为了能够让java和desired capabilities一起协同工作我们需要导入
“import org.openqa.Selenium.remote.DesiredCapabilities”函数库。

功能 描述
自动化名字 这个功能用来去定义自动化引擎,假如你想在SDK版本低于17的情况下工作,你需要去用selendroid定义这个值,否则,capabilities默认为Appium,我们看看如何实例化这个参数: DesiredCapabilities caps = new DesiredCapabilities();//创建一个对象 caps.setCapability(“automationName”,”Selendroid”);//设置capabilities的值,我们也可以用Appium客户端设置capabilities。如果这样我们需要导入“import io.appium.java_client.remote.MobileCapabilityType”函数库:caps.setCapability(MobileCapabilityType.AUTOMATION_NAME,”Selendroid”);在ios中我们无需使用capabilities
平台名称 平台名称被用来设置移动操作平台,它使用对象中的值来确认给平台是IOS,Android或者FirefoxOS: caps.setCapability(“platformName”,”Android”);在appium案例中,可以使用下面的对象caps.setCapability(MobileCapabilityType.PLATFORM_NAME, “Android”);
平台版本 设置移动系统的版本例如:7.1,4.4.4,可以用下面的命令:caps.setCapability(“platformVersion”,”4.4.4”);或者也可以使用下面的命令:caps.setCapability(MobileCapabilityType.PLATFORM_VERSION, “4.4.4”);
设备名称 我们能够定义移动设备或者仿真器的类型,可以使用下面的命令,例如iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator,Moto x, Nexus 5等等 :caps.setCapability(“deviceName”, “Nexus 5”);使用下面的命令也可以达到同样的作用:caps.setCapability(MobileCapabilityType.DEVICE_NAME,”Nexus 5”);
App 我们可以添加.ipa,.apk或者.zip文件的绝对路径或者远程的http URL。Appium第一时间安装app的二进制文件在合适的设备上面。假如你的特别APPPackage和APPactivity(下面一章将会描述这两种功能)将会被记录在安卓的案例中,现在在这里讨论是没有必要的:caps.setCapability(“app”,”/apps/demo/demo.apk or http://app.com/app.ipa“);或者你可以使用下面的命令:caps.setCapability(MobileCapabilityType.APP,”/apps/demo/demo.apk or http://app.com/app.ipa“);
浏览器名字 如果你想自动化测试移动端的网络应用,你将不得不用到这个功能去识别浏览器。对于iOS的Safari,你可以使用这个命令:caps.setCapability(“browserName”, “Safari”);或者你可以使用下面这个命令:caps.setCapability(MobileCapabilityType.BROWSER_NAME, “Safari”);在安卓上面的谷歌浏览器,你可以使用下面的命令:caps.setCapability(“browserName”, “Chrome”);当然你也可以使用下面的命令:caps.setCapability(MobileCapabilityType.BROWSER_NAME, “Chrome”);
新命令超时 为了结束会话,Appium会在代理库推出之前为了来自代理库的命令等待几秒。默认的值为60秒,可以使用下面的命令设置超时的时间:caps.setCapability(“newCommandTimeout”, “30”);你也可以使用下面的命令结束会话:caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT,”30”);
自动启动 这个功能能够用来自动安装和启动App,默认的值设置为true,可以使用下面的命令设置这个功能:caps.setCapability(“autoLaunch”,”false”);
语言 这个功能用来在仿真器或者模拟器上面设置语言,例如法语,英语等等,下面的命令仅仅能够在仿真器或者模拟器上面才能执行:caps.setCapability(“language”,”fr”);
定位 这个功能用来在仿真器或者模拟器设置位置,例如,fr_CA, tr_TR等等,caps.setCapability(“locale”,”fr_CA”);
唯一的设备识别 唯一的设备识别基本是用来去识别IOS物理设备,她是一个40个字符长度的值(例如:1be204387fc072g1be204387fc072g4387fc072g)这个功能在IOS设备上面你自动化测试App的时候用到,我们通过点击序列号很容易从iTunes上面得到:caps.setCapability(“udid”, “1be204387fc072g1be204387fc072g4387fc072g”);
定位 这个功能仅仅用在模拟器或者仿真器开始去确定的方向,例如LANDSCAPE或者PORTRAIT:caps.setCapability(“orientation”, “PORTRAIT”);
自动网络查看 假如你在自动化测试一个混合App,现在想移到去测试Webview环境,那你就可以使用这个功能去设置,默认的值是false:caps.setCapability(“autoWebview”, “true”);
部分重置 这个功能用来在会话开始之前重置App的状态,默认的值是false:caps.setCapability(“noReset”-,” true”);
全部重置 在IOS环境中,这个功能完全删除仿真文件。在安卓环境里你可以通过卸载app来代替清理app数据来重置app状态,同样,它也可以在结束会话的时候移除app。默认的值为false,下面的命令就是全重置:caps.setCapability(“fullReset”, “true”);

你可能感兴趣的:(移动端测试)