zoukankan      html  css  js  c++  java
  • APP端自动化 之 Appium初始化信息及获取方法

     Appium 初始化配置信息(Desired Capabilities),Desired Capabilities实际上就是一个字典,它主要用于向Appium Server提供初始化配置参数,如:想要测试的系统是Android还是IOS,测试哪款软件,软件的入口是哪里等。

    以打开手机上的QQ软件为例,python代码如下:

    from appium import webdriver
    
    # desc:负责启动服务端时的参数设置,appium server 与手机端建立会话关系时,根据这些参数服务端可以做出相应的处理
    desc = {}  #连接手机app初始化的一些信息
    # 设备信息
    desc['platformName'] = 'Android'  # 系统平台的名称
    desc['platformVersion'] = '6.0'  # 设备系统版本号  通过 手机版本(android 6.0)
    desc['deviceName'] = 'HIHQHEKVKZKF6HTO'  # 设备号  通过adb devices   (如果占用,可用adb kill-service杀掉再重新连接)
    # app信息
    # 通过cmd 窗口中输入 aapt dump badging C:Users	hinkDesktopxxx.apk 拿到包名和启动入口
    desc['appPackage'] = 'com.gfeng.daydaycook' # 包名
    desc['appActivity'] = 'com.gfeng.daydaycook.activity.WelcomeActivity_'  # 启动入口
    
    # appium的输入法,允许中文输入
    desc['unicodeKeyboard'] = True
    # 程序结束之后重置输入法
    desc['resetKeyboard'] = True
    # 不初始化app(不会清除app的数据包括缓存数据)
    desc["noReset"] = "True"
    
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desc)  # 声明对象后会直接启动参数中的应用

    初始化配置信息获取方法:

    1、platformName  :手机系统:Android、IOS

    2、platformVersion :手机的版本,如:Android6.0就是6.0

    3、deviceName :在手机连上电脑后,通过adb devices获取,注意需要打开USB调试模式(如下图,拿到的deviceName为:HIHQHEKVKZKF6HTO)

    4、appPackage(包名) 和 appActivity(入口) 的获取方式有两种

      第一种方法:通过监控adb操作日志来找到appPackageappActivity,CMD下输入adb logcat | findstr start,在手机上强制停止被测试软件,再次打开,观察logcat

           

      斜杠之前为appPackage,斜杠之后为appActivity。从此想抓哪个App,就抓哪个App。但是由于logcat的日志较多,要找点击时第一个Start proc的日志。 这种查看日志的方式比较不方便,所以推荐用下面的方法

      第二种方法:使用SDK中的aapt进行抓取appPackageappActivity。通过aapt dump badging xxx.apk命令来查看appPackageappActivity。命令如下:

            

      

    运行代码,启动测试软件

    1、启动Appium服务

    2、运行上面的python代码,则可看到手机QQ被启动

  • 相关阅读:
    使用 Dockerfile 定制镜像
    UVA 10298 Power Strings 字符串的幂(KMP,最小循环节)
    UVA 11090 Going in Cycle!! 环平均权值(bellman-ford,spfa,二分)
    LeetCode Best Time to Buy and Sell Stock 买卖股票的最佳时机 (DP)
    LeetCode Number of Islands 岛的数量(DFS,BFS)
    LeetCode Triangle 三角形(最短路)
    LeetCode Swap Nodes in Pairs 交换结点对(单链表)
    LeetCode Find Minimum in Rotated Sorted Array 旋转序列找最小值(二分查找)
    HDU 5312 Sequence (规律题)
    LeetCode Letter Combinations of a Phone Number 电话号码组合
  • 原文地址:https://www.cnblogs.com/fenggf/p/10524412.html
Copyright © 2011-2022 走看看