如何使用appium desktop 获取Android APP 控件的id

背景:

随着Android 版本的更新,你会发现咱们以前用的最新的版本的Appium 1.5.3没法启动咱们的 Android APP 在模拟器为7.0的设备上,因此咱们有必要了解如何使用 appium desktop 来获取Android APP 控件的id.也因为获取在自动化测试过程当中获取控件的信息(好比id)是很是关键的一步。android

环境搭建

  • 安装Appium Desktop 的windows版本(https://github.com/appium/appium-desktop/)
  • 个人pc 是Windows7
  • 我安装的Appium Desktop 是1.2.4
  • 我用的Android 模拟器为GenyMotion

如何使用GenyMotion模拟器在appium desktop上获取 Android APP控件的id

  • 手动启动一个GenyMotion 模拟器
  • 输入Host为127.0.01,点击Start Server按钮,以下图1:
    这里写图片描述
  • 点击 Start Inspector Session,以下图2
    这里写图片描述
  • 添加platformName,deviceName,apppackage,platformVersion,appActivity,app的值,以下图3:
    这里写图片描述
  • 点击 Start Session,你会看到Inspector Session page,而且选择页面最上面的一排按钮最左边的那个,而后点击APP上的控件,就能够看到相应控件的信息。以下图4:
    这里写图片描述

##如何使用saucelabs在appium desktop上获取 Android APP控件的idgit

  • 若是你不想在你的windows上安装android 模拟器,然而你有saucelabs 帐号,你能够启动sauce的模拟器获取APP 控件的id
  • 用以下命令上传Android App 到saucelabs:
curl  -u "Sauce Username":"Sauce Access Key" -X POST -H "Content-Type: application/octet-stream" https://saucelabs.com/rest/v1/storage/"Sauce Username"/"app-release.apk"?overwrite=true --data-binary @"C:\app-release.apk"
  • 在appium desktop 添加Sauce Username 和Sauce Access Key,并添加相关的Desired Capabilities,以下图:
    这里写图片描述
  • 点击Start session 按钮,你会看到你本地的appium 启动了 Android APP 如上图4.这里就再也不贴图。
  • 与此同时登陆saucelabs你发现已经启动了一个模拟器(以下图5),你能够点击进去操做和你操做本地的GenyMotion同样。
    这里写图片描述

如何使用testObject在appium desktop上获取 Android APP控件的id

  • 登陆testObject,上传APP,你会发现每一个APP 有个testobject_app_id
  • testObject 包含各类各样的真机,你只要添加要启动的设备的Desired Capabilities,输入TestObject API Key,选择 testObject Data Center,点击Start Session就能够安装app到testObject上的真机,而后获取你点击控件的相关信息好比id
  • 在appium desktop 添加Desired Capabilities,输入TestObject API Key,后点击Start session 按钮以下图:
    这里写图片描述
  • 与此同时登录testObject,点击“Open Devices”以下图6,你可使用这个真机并获取你所安装的app控件的相关信息(好比id)。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ofySR0vY-1571800908470)(https://img-blog.csdn.net/20171031150726750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2xpbl9saW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]

##总之:
以上咱们讲了三种方式利用 Appium Desktop 获取Android APP控件相关的信息。第一:在本地电脑安装GenyMotion,而后使用 Appium Desktop 获取 Android APP 的id;第二利用saucelabs的模拟器,而后使用Appium Desktop 获取 Android App 的 id;第三种,利用testObject的真机,而后使用Appium Desktop 获取Android App 的id。你能够根据本身状况选择其中之一,来获取Android APP的控件id,来在自动化测中使用。github