Appium DesiredCapabilities参数配置及含义

一、DesiredCapabilities的作用

负责启动服务端时的参数设置,启动session的时候是必须提供的。
Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情,比如:
本次测试是启动浏览器还是启动移动设备?
是启动andorid还是启动ios?
启动android时,app的package是什么?
启动android时,app的activity是什么?

如何找参数appPackage和appActivity的包?
首先找到你的SDK安装路径,找到build-tools里的版本号,这是我的路径:C:\android-sdk-windows\build-tools\30.0.3
*然后cmd进入这个路径,然后输入命令:aapt.exe dump badging C:\Users\Acheng\Desktop\base.apk
在这里插入图片描述
这里就是appPackage的包,appActivity的包要往下翻,基本在这个位置:
在这里插入图片描述
当然有的apk它的appActivity在这里不显示,不过一般情况都会显示的,没有的话这时可以用另外一个命令找:
首先输入adb shell,然后输入logcat | grep cmp=
在这里插入图片描述
出现一大堆,先不用管它,然后在模拟器打开你要找的app,打开以后再看
在这里插入图片描述
找到cmp=,就是了

二、参数的初始化设置

 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");//设置避免重新签名

autoGrantPermissions:取消自动权限弹框的处理 true or false
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿肆si

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值