DesiredCapabilities的作用

Posted 小叶子leavescy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DesiredCapabilities的作用相关的知识,希望对你有一定的参考价值。

负责启动服务端时的参数设置,启动session的时候是必须提供的。

Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情,比如:

  • 本次测试是启动浏览器还是启动移动设备?
  • 是启动andorid还是启动ios
  • 启动android时,app的package是什么?
  • 启动android时,app的activity是什么?

二、参数的初始化设置

    DesiredCapabilities capabilities;// 负责启动服务端时的参数设置

   //本地安装apk包的文件路径设置,不需要安装就不用设置(格式固定)

 

   

 

    File calsspathRoot=new File(System.getProperty("user.dir"));

 

 

 

    File appDir=new File(calsspathRoot,"apps");

 

 

    File app=new File(appDir, "app-ceshi.apk"); //填写的是安装包名

 

 

 

 

       //设置自动化相关参数(设置的过程中只需更改value值)

 

   

 

        capabilities=new DesiredCapabilities();     


        //设置测试的web浏览器,如果是测试app则忽略
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");  


        //设置测试的平台是IOS/Android/FirefoxOS
        capabilities.setCapability("platformName", "Android");      


        //设置设备的序列号
        capabilities.setCapability("deviceName","SUNMI");        


        //设置测试的安卓系统版本
        capabilities.setCapability("platformVersion", "6.0.1");        


        //设置apk路径
        capabilities.setCapability("app", app.getAbsolutePath());

        //设置apk的包名
        capabilities.setCapability("appPackage", "com.ceshi.pos");


        //设置启动Activity
        capabilities.setCapability("appActivity", "com.ceshi.pos.activity.WelcomeActivity");

        //capabilities.setCapability("appWaitActivity", "com.test.merchant.app.activity.LoginActivity");
        capabilities.setCapability("noReset", true);//防止重安装app

        capabilities.setCapability("unicodeKeyboard", true);//使用 Unicode 输入法 ,支持中文输入

        capabilities.setCapability("resetKeyboard", true);  //重置输入法到原有状态  

        capabilities.setCapability("noSign", "true");//设置避免重新签名

以上是关于DesiredCapabilities的作用的主要内容,如果未能解决你的问题,请参考以下文章

Appium - DesiredCapabilities对象的参数配置及含义

APP自动化测试系列之Desired Capabilities详解

Appium的DesiredCapabilities参数设置

selenium源码通读·9 |DesiredCapabilities类分析

如何解决日志信息在 selenium 项目中使用 `new FirefoxOptions()` 优于 `DesiredCapabilities.firefox()`

转:DesiredCapabilities内容详解--Appium服务关键字