5-Appium之Inspector识别元素

1、启动Appium desktop

(1)点击“Appium”图标,启动页面;
在这里插入图片描述
(2)如果需要的话,修改Host或Port。然后点击“Start Server v1.18.0”,就可以打开如下页面,将来appium操作终端的日志信息会在这个窗口打印
在这里插入图片描述
(3)右上角“放大镜”图标是“Start Inspector Session”按钮,是重点,我们后续讲;

(4)“Get Row Logs”,点击后,打开一个文档,显示当前appium的日志信息。你可以将其保存到本地。也可以进行查找。

(5)“Stop Server”,可以关闭appium的服务,也可以启动appium服务。某些情况appium server运行不正常了,就可以手动关闭、重启服务。

2、配置Inspector

2.1 启动Inspector

点击上图的“Start Inspector Session”按钮后,打开如下页面
在这里插入图片描述

2.2 配置Inspector信息

这里我们需要配置一些基础的信息,以便appium inspector可以顺利连接到APP,获取页面。
有几个重要的信息,注意大小写

名称类型解释
deviceNametext设备名
appPackagetextApp的package
appActivitytextApp的Activity
platformNametext平台名

注,还有很多Desired Capability信息,我们后续用到再介绍。

介绍两种添加信息的方式:

方法一:以Key-Value的形式添加

通过key-value的方式,添加Desired Capability
每点击一个加号,即会增加一行,输入类型,及对应的值即可完成一条输入。
在这里插入图片描述

方法二:输入JSON

点击“Edit Raw JSON”,可以以JSON的格式输入desired Capability。
在这里插入图片描述
编辑完成后,可以点击保存,然后就会同步到左边的Key-Value部分。(编辑左边的key-value也会同步到右边JSON处)

因为Desired Capability会经常使用,所以编辑好后,可以点击右下角 Save或Save As图标,将配置保存起来。
然后,下次想用的时候,就不需要一条条加了,可以直接导入配置信息。方法如下所示:
在这里插入图片描述
点击“Saved Capability”标签,选择之前保存的名称,这里我加载“设置”这个APP的相关信息了。
在这里插入图片描述
然后点击“Start Session”按钮,就可以启动 Inspector查看元素的界面。

3、查看元素信息

点击“Start Session”按钮后,打开如下页面:
在这里插入图片描述
接下来,我们介绍上图中红框中的按钮功能(当按钮被选中时,该按钮底色为蓝色,比如上图中“选择元素”按钮底色为蓝色,为选中状态):
(1)“Select Elements”,选择元素
当该按钮为蓝色时,用鼠标点击元素时,就可以看到该元素的相关信息。如下图所示:
在这里插入图片描述
这里,我选择的是“更多”这个元素,中间是App Source,可以看到树状结构;右侧是Element的属性及对应的值。

(2) “swipe by coordinates”
通过坐标来实现滑动的效果。
如下图所示:
在这里插入图片描述
在这里插入图片描述
(3)“Tap by coordinates” 通过坐标点击
获取某个点的坐标

(4)“Back”,后退按钮
点击后,可以返回到之前的页面。

(5)“Refresh Source & Screenshot”,刷新,重新获取终端页面信息
当终端页面改变后,必须点击该按钮重新获取终端页面信息。
(这里得感慨一下,Web Dev Tools方便的多)

(6)“Start Recording”,录制按钮
在这里插入图片描述
上图显示,我录制了两个点击的动作,你可以选择输出不同语言的脚本。

(7)“Search for element”,查找元素按钮
点击放大镜按钮,会弹出如下页面:
在这里插入图片描述
在Locator Strategy处,可以选择定位的方式,默认为Id。
在Selector处,可以输入值。
然后点击右下角“Search”按钮,就可以判断出来是否能定位到元素,以及能定位到多少个元素。
这里,我换了一个APP(计算机calculator),输入数字7的id值,点击search按钮,可以看到如下结果:
在这里插入图片描述
可以看到定位到了一个元素。(一遍情况下,页面中元素的ID值都是唯一的)

(8)“copy xml source to clipboard”,将xml源复制到剪贴板
下面我复制粘贴了这个页面的XML源信息。
在这里插入图片描述

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy index="0" class="hierarchy" rotation="3" width="810" height="1440">
  <android.widget.FrameLayout index="0" package="com.ddnapalon.calculator.gp" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][810,1440]" displayed="true">
    <android.widget.LinearLayout index="0" package="com.ddnapalon.calculator.gp" class="android.widget.LinearLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][810,1440]" displayed="true">
      <android.widget.FrameLayout index="0" package="com.ddnapalon.calculator.gp" class="android.widget.FrameLayout" text="" resource-id="android:id/content" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,41][810,1440]" displayed="true">
        <android.view.ViewGroup index="0" package="com.ddnapalon.calculator.gp" class="android.view.ViewGroup" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,41][810,1440]" displayed="true">
          <android.widget.LinearLayout index="3" package="com.ddnapalon.calculator.gp" class="android.widget.LinearLayout" text="" resource-id="com.ddnapalon.calculator.gp:id/linearLayout_record" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,41][810,461]" displayed="true" />
          <android.widget.ImageView index="4" package="com.ddnapalon.calculator.gp" class="android.widget.ImageView" text="" resource-id="com.ddnapalon.calculator.gp:id/more_setting" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,41][81,115]" displayed="true" />
          <android.view.View index="5" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" resource-id="com.ddnapalon.calculator.gp:id/adjust" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,41][810,42]" displayed="true" />
          <android.widget.ImageView index="6" package="com.ddnapalon.calculator.gp" class="android.widget.ImageView" text="" resource-id="com.ddnapalon.calculator.gp:id/more_calculator" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[666,41][737,115]" displayed="true" />
          <android.widget.ImageView index="7" package="com.ddnapalon.calculator.gp" class="android.widget.ImageView" text="" resource-id="com.ddnapalon.calculator.gp:id/popup_window" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[737,41][810,115]" displayed="true" />
          <android.widget.TextView index="8" package="com.ddnapalon.calculator.gp" class="android.widget.TextView" text="0" resource-id="com.ddnapalon.calculator.gp:id/equation_TextVeiw2" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[687,225][810,343]" displayed="true" />
          <android.widget.TextView index="9" package="com.ddnapalon.calculator.gp" class="android.widget.TextView" text="" resource-id="com.ddnapalon.calculator.gp:id/popup_view" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[716,209][810,327]" displayed="true" />
          <android.widget.TextView index="10" package="com.ddnapalon.calculator.gp" class="android.widget.TextView" text="" resource-id="com.ddnapalon.calculator.gp:id/equation_TextVeiw1" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[716,225][810,343]" displayed="true" />
          <android.view.ViewGroup index="11" package="com.ddnapalon.calculator.gp" class="android.view.ViewGroup" text="" resource-id="com.ddnapalon.calculator.gp:id/cartoon" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,461][810,1440]" displayed="true">
            <android.widget.Button index="0" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="C" resource-id="com.ddnapalon.calculator.gp:id/btn_c" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,461][203,657]" displayed="true" />
            <android.widget.RelativeLayout index="1" package="com.ddnapalon.calculator.gp" class="android.widget.RelativeLayout" text="" resource-id="com.ddnapalon.calculator.gp:id/btn_del" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[203,461][405,657]" displayed="true">
              <android.widget.TextView index="0" package="com.ddnapalon.calculator.gp" class="android.widget.TextView" text="" resource-id="com.ddnapalon.calculator.gp:id/scale_del" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[278,544][329,573]" displayed="true" />
            </android.widget.RelativeLayout>
            <android.widget.Button index="2" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="÷" resource-id="com.ddnapalon.calculator.gp:id/btn_div" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[405,461][608,657]" displayed="true" />
            <android.widget.Button index="3" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="×" resource-id="com.ddnapalon.calculator.gp:id/btn_mul" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[608,461][810,657]" displayed="true" />
            <android.widget.Button index="4" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="7" resource-id="com.ddnapalon.calculator.gp:id/btn_seven" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,657][203,853]" displayed="true" />
            <android.view.View index="5" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,657][810,658]" displayed="true" />
            <android.widget.Button index="6" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="8" resource-id="com.ddnapalon.calculator.gp:id/btn_eight" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[203,657][405,853]" displayed="true" />
            <android.widget.Button index="7" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="9" resource-id="com.ddnapalon.calculator.gp:id/btn_nine" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[405,657][608,853]" displayed="true" />
            <android.widget.Button index="8" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="—" resource-id="com.ddnapalon.calculator.gp:id/btn_sub" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[608,657][810,853]" displayed="true" />
            <android.widget.Button index="9" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="4" resource-id="com.ddnapalon.calculator.gp:id/btn_four" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,853][203,1048]" displayed="true" />
            <android.view.View index="10" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,853][810,854]" displayed="true" />
            <android.view.View index="11" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[203,461][204,1440]" displayed="true" />
            <android.widget.Button index="12" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="5" resource-id="com.ddnapalon.calculator.gp:id/btn_five" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[203,853][405,1048]" displayed="true" />
            <android.view.View index="13" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[405,461][406,1440]" displayed="true" />
            <android.widget.Button index="14" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="6" resource-id="com.ddnapalon.calculator.gp:id/btn_six" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[405,853][608,1048]" displayed="true" />
            <android.widget.Button index="15" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="+" resource-id="com.ddnapalon.calculator.gp:id/btn_add" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[608,853][810,1048]" displayed="true" />
            <android.widget.Button index="16" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="1" resource-id="com.ddnapalon.calculator.gp:id/btn_one" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,1048][203,1244]" displayed="true" />
            <android.view.View index="17" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,1048][810,1049]" displayed="true" />
            <android.widget.Button index="18" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="2" resource-id="com.ddnapalon.calculator.gp:id/btn_two" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[203,1048][405,1244]" displayed="true" />
            <android.widget.Button index="19" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="3" resource-id="com.ddnapalon.calculator.gp:id/btn_three" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[405,1048][608,1244]" displayed="true" />
            <android.widget.Button index="20" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="%" resource-id="com.ddnapalon.calculator.gp:id/btn_percent" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,1244][203,1440]" displayed="true" />
            <android.view.View index="21" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,1244][608,1245]" displayed="true" />
            <android.widget.Button index="22" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="0" resource-id="com.ddnapalon.calculator.gp:id/btn_zero" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[203,1244][405,1440]" displayed="true" />
            <android.widget.Button index="23" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="." resource-id="com.ddnapalon.calculator.gp:id/btn_dot" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[405,1244][608,1440]" displayed="true" />
            <android.view.View index="24" package="com.ddnapalon.calculator.gp" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[608,461][609,1440]" displayed="true" />
            <android.widget.Button index="25" package="com.ddnapalon.calculator.gp" class="android.widget.Button" text="=" resource-id="com.ddnapalon.calculator.gp:id/btn_equal" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[608,1048][810,1440]" displayed="true" />
          </android.view.ViewGroup>
        </android.view.ViewGroup>
      </android.widget.FrameLayout>
    </android.widget.LinearLayout>
  </android.widget.FrameLayout>
</hierarchy>

(10)“Quite Session & close inspector”,退出会话,关闭inspector

好,本节课先到这里。多谢

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页