天天看点

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

背景:

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

环境搭建

  • 安装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:
    如何使用appium desktop 获取Android APP 控件的id
  • 点击 Start Inspector Session,如下图2
    如何使用appium desktop 获取Android APP 控件的id
  • 添加platformName,deviceName,apppackage,platformVersion,appActivity,app的值,如下图3:
    如何使用appium desktop 获取Android APP 控件的id
  • 点击 Start Session,你会看到Inspector Session page,并且选择页面最上面的一排按钮最左边的那个,然后点击APP上的控件,就可以看到相应控件的信息。如下图4:
    如何使用appium desktop 获取Android APP 控件的id

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

  • 如果你不想在你的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,如下图:
    如何使用appium desktop 获取Android APP 控件的id
  • 点击Start session 按钮,你会看到你本地的appium 启动了 Android APP 如上图4.这里就不再贴图。
  • 与此同时登录saucelabs你发现已经启动了一个模拟器(如下图5),你可以点击进去操作和你操作本地的GenyMotion一样。
    如何使用appium desktop 获取Android APP 控件的id

如何使用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 按钮如下图:
    如何使用appium desktop 获取Android APP 控件的id
  • 与此同时登陆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,来在自动化测中使用。

继续阅读