zoukankan      html  css  js  c++  java
  • App自动化04-Inspector检查器启动QQ测试

    页面功能说明

    Appium检查器是Appium-desktop自带的一个工具,通过它可以来获取页面元素信息(包括页面布局、控件、元素属性等),以及还可以通过它来实现脚本的录制功能。
    点击Appium检查器启动之后,可以看到页面分成三大区域:

    第一部分区域为连接Appium服务器的相关配置

    • 自动设定
      检查器会自动将之前启动Appium服务器所填的地址、端口信息同步过来,一般我们选择这个即可
    • 自定义服务器
      这里我们可以自己设置连接Appium服务器所需的参数,比如你想要连接到另外一台主机上面的Appium服务器
    • 选择云服务器提供商
      连接到这些云服务器提供的Appium服务器,一般不用

    第二部分区域为代理及证书相关配置

    第三部分区域为所需功能配置,通过所需功能配置告诉Appium服务器如何建立通讯连接

    DesiredCapabilties所需功能配置

    一般我们填写如下四个基础配置即可:

    • deviceName
      设备名字,通过此属性,appium可以找到我们对应的设备进行通讯,通过打开cmd窗口,运行adb devices命令,输出的结果即可得到对应的deviceName
      注意:需要先保证adb已经连接上了模拟器/真机,怎么连接,戳这里

    • platformName
      平台名,如果是android就写Android,ios即是IOS

    • appPackage
      应用的包名,通过此属性,appium就可以得知需要和哪个app进行通讯。可以通过Android SDK自带的aapt工具获取,aapt工具介绍:

    aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件

    默认Android SDK自带了aapt工具,进入到build-tools对应的目录中,在地址栏上面输入cmd即可打开cmd窗口并且自动将路径定位到当前,输入aapt命令

    解析APK包的信息,通过aapt dump badging apk包所在路径(以qq安装包为例),解析结果中的第一行即为对应的app包名

    • appActivity
      应用的入口activity,通过此属性,可以开启app。

    同样通过aapt工具解析可获取到启动入口配置,命令同上述保持一致,在结果中搜索“launchable-activity”关键字,后面的值即为入口配置

    最后,对应的四个基本参数配置如下,点击启动会话

    初始化结束之后,可以看到如下界面

    左边为手机即时画面的映射,通过鼠标即可点击控制相应的元素,如果发现没有同步,可以点击工具栏上刷新按钮。

    AppSource:
    画面的元素构成,包括布局和控件

    Selected Element:
    选中的元素对应的属性信息,这个就是我们查找定位元素的关键信息,包括有:

    index:索引
    text:文本
    class:类
    package:包
    content-desc:内容描述
    checkable:可选
    checked:选中
    enabled:可用
    focusable:可获得焦点
    focused:获得焦点
    scrollable:可滚动
    long-clickable:可长点击
    password:隐藏明文(密文显示)
    selected:选中
    bounds:界面(起始点坐标/终止点坐标)
    resource-id:元素ID

    检查器录制功能

    点击开始录制按钮“眼睛图标”

    选择元素->操作

    生成脚本,还可以选择不同语言,Java、python、ruby等等

    检查器初始会话可能会碰到的问题

    An unknown server-side error occurred while processing the command. Original error: 'app' option is required for reinstall

    解决方案:
    确保测试App有安装到Android设备中

    无法连接到服务器;您确定要运行吗?

    解决方案:
    确保Appium服务器有在运行

    An unknown server-side error occurred while processing the command. Original error: You must include a platformName capability

    解决方案:
    platformName配置是否有写上,要注意大小写问题

    An unknown server-side error occurred while processing the command. Original error: The desired capabilities must include either an app, appPackage or browserName

    解决方案:
    确保所需配置中有appPackage属性

    An unknown server-side error occurred while processing the command. Original error: activity and pkg are required to start an application

    解决方案:
    appActivity配置是否有写上,要注意大小写问题,对应的值是否正确

    An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device.

    解决方案:
    设备是否有通过adb链接上,通过adb devices命令检查

  • 相关阅读:
    C# 利用Log4Net进行日志记录
    驰骋工作流引擎JFlow与activiti的对比之2种结构化模式
    驰骋工作流引擎JFlow与activiti的对比之4种高级分支同步模式
    工作流引擎JFlow与activiti 对比分析(一)5种基本控制流模式的对比
    "整数"组件:<int> —— 快应用组件库H-UI
    "短整数"组件:<short> —— 快应用组件库H-UI
    "字节型整数"组件:<byte> —— 快应用组件库H-UI
    "图片验证码"组件:<vcode> —— 快应用组件库H-UI
    "手机验证码"组件:<smscode> —— 快应用组件库H-UI
    "邮政编码"组件:<postcode> —— 快应用组件库H-UI
  • 原文地址:https://www.cnblogs.com/yyoba/p/12396702.html
Copyright © 2011-2022 走看看