• appium+java(二)appium初始化参数部分详解


    Capabilities介绍

    实际上它的全称是:Desired capabilities

    Desired capability是一个JSON对象,包含一组keyvalue值。它由客户端发送给服务端,告诉服务端期望的Capabilities(可以理解为一种能力)有哪些,然后服务端根据这些capabilities创建自动化会话(session

    初始化参数详解

    ·AUTOMATION_NAME

    DesiredCapabilities caps = new DesiredCapabilities();

    //设置设备号

    caps.setCapability(MobileCapabilityType.AUTOMATION_NAME,"Selendroid");

    iOS无需进行这个设置,默认就是Appium引擎。

    ·platformName

    定义测试平台的名字,通常用于移动设备。值有:AndroidiOSFirefoxOS

    使用代码如下:

    caps.setCapability("platformName","Android");

    在使用的过程中,请按照实际平台来填写即可。

    ·platformVersion

    测试平台版本,移动设备固件的版本号,比如:iOS7.1.19.3等,Android4.4.25.1.1等。设置代码:

    caps.setCapability("platformVersion","4.4.4");

    还是请按照实际版本号来填写。

    ·deviceName

    移动设备的名字,比如iPhone 5sGoogle Nexus等,设置代码:

    caps.setCapability("deviceName", "Nexus 5");

    ·app

    苹果app或者安卓app的路径,可以是本地的绝对路径,也可以是远程网络路径,只要有访问权限即可。根据这个app capabilitiesAppium会在启动测试之前安装好app到设备。在测试安卓的时候,appPackage appActivity也需要设置,和app搭配使用。appPackage appActivity是安卓独有的capabilities

    设置方式:

    caps.setCapability("app","/apps/demo/demo.apk 或者 http://app.com/app.ipa");

    ·browserName

    如果你想测试web app,那么你就需要定义browserName。对于Android来说,你可能会一定chrome浏览器,设置代码:

    caps.setCapability("browserName", "Chrome");

    对于iOS来说你可能要定义Safari浏览器

    ·newCommandTimeout

    为了结束appium会话(session),appium会设置一个等待从客户端发送命令超时的时间。默认时间是60秒,如果你不进行设置,如果你需要设置,代码如下:

    caps.setCapability("newCommandTimeout", "30");

    ·autoLaunch

    设置设个capability,会自动安装app并且启动app。设置代码为:

    caps.setCapability("autoLaunch","false");

    ·autoWebview

    如果你测试的是混合应用并且想直接进入webview内容中,那么你需要设置设置这个capability的值为true,代码如下:

    caps.setCapability("autoWebview", "true");

    更多的capabilities可以参考这里:

    https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

    Android独有Capabilities

    ·appPackage

    设置安卓app的包名的capability,告诉appium你要运行哪个app

    设置代码为:

    caps.setCapability("appPackage", "com.android.calculator2");

    ·appActivity

    设置你想要运行的appactivity(相当于一个界面或者理解成网页),比如:LoginActivity,登录的activity,可以理解为登录界面。

    设置代码为:

    caps.setCapability("appActivity", "com.xxx.xxx.LoginActivity ");

    ·appWaitActivity

    设置你想要等待的android activity,设置方式为:

    caps.setCapability("appWaitActivity","com.android.calculator2.Calculator");

    ·appWaitPackage

    需要等待的app的包,设置方法:

    caps.setCapability("appWaitPackage","com.example.android.myApp");

    ·unicodeKeyboard

    是否使用unicode键盘输入,如果设置为true,那么可以输入中文和特殊字符,这个很常用,一般设置为true。设置代码为:

    caps.setCapability("unicodeKeyboard","true");

    ·resetKeyboard

    是否重置键盘为原始状态,比如你将键盘设置为了unicode键盘,当用例执行完成之后,将resetKeyboard设置为true,则键盘重置为原始状态。设置代码为:

    caps.setCapability("resetKeyboard","true");

    以上只选了几个代表性的capability,更多的capability请参考:

    https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

  • 相关阅读:
    redis 使用
    VS----id为xxxx的进程当前未运行 问题
    bootstrap--------bootstrap table显示行号
    js--------js获取当前时间,返回日期yyyy-MM-dd
    CLR via C#--------CLR的执行模式
    Python链表成对调换
    Python去除列表中的重复元素
    MySQL索引背后的数据结构及算法原理
    Python 垃圾回收机制
    Python 里的拷贝
  • 原文地址:https://www.cnblogs.com/longronglang/p/10235468.html
Copyright © 2020-2023  润新知