背景:

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

##如何使用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,如下图:
  • 点击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,来在自动化测中使用。

更多相关文章

  1. Android事件机制之一:事件传递和消费
  2. Android开发05—Android常用高级控件(下)
  3. 初识Android(安卓)制作一个简单的记账本
  4. Android(安卓)-- handler消息传送机制
  5. Android提高十八篇之自定义Menu(TabMenu)
  6. android 自定义dialog的实现(自定义大小、去除黑色边框等)
  7. 【Android(安卓)开发】:UI控件之 AlertDialog 对话框控件的的使用
  8. 打开Android(安卓)Studio报错“Error running ***: Please selec
  9. Android(安卓)Studio检测不到模拟器/真机(亲测可行)

随机推荐

  1. sa-token v1.8.0 版本已发布,带来大量激动
  2. 一个登录功能也能玩出这么多花样?sa-token
  3. 如何优雅的统计代码耗时
  4. Flink JDBC Connector:Flink 与数据库集成
  5. 华为认证HCIA】适合网工小白看懂的超详细
  6. 【SpringCloud】配置:application.yml中都
  7. 【华为认证HCIA】小白入门必看的VRRP协议
  8. 【深受启发篇】如何快速成为一个优秀的网
  9. 【网工收藏必备】从原理到配置,路由重发你
  10. 【网工必备】华为设备网络基础配置命令总