Android APP自动化环境准备和坑

前言

最近,因为项目的物联设备需要跟云端通信,需要接入手机APP。在这里记录一些Android自动化过程的准备工作和踩坑。

一、环境安装

方式一、公司自己的一键安装

方式二、自己百度安装

这个方法没有从头到尾去实践,主要是电脑连接Android APP需要用到什么,就装什么。目前想法是利用robotframework作为webDriver script,因此,python环境、ADB环境、JAVA环境、RF环境、Appium环境等等都得装。简单罗列过程:

  • 安装JDK。在www.orcale.com下载 java SE,安装。
  • 安装Android SDK。在 developer.android.com下载 Get the Android SDK。
  • 安装Python。
  • 安装selenium。
  • 利用Python pip 安装robotframework-selenium2library robotframework-ride. AppiumLibrary
  • 安装 wxPython-4.0.7.post2-cp27-cp27m-win32.whl。
  • 安装appium-desktop-setup.exe(默认包含node.js).
  • 安装appium Client,在Appium-Python-Client下执行 python setup.py install.
  • 安装AppiumDesktop(比appium自带的桌面端好用的开源桌面端).
    配置检查:
  • 检查SDK:java –version。
  • 检查node:node -v
  • 检测appium:appium-doctor
  • 检查服务运行:appium.cmd
  • 确保环境变量都加好

二、运行

打开
用appium桌面端打开就行:

打开首页

运行服务器:
运行

点击右上角放大镜:
放大镜

我们只要把appium开启来就行,通过RF脚本去操作手机端,操作过程日志都会显示在第二张图上。第三张图是appium自带的定位元素的功能。

三、元素定位

  • 方法一、appium inspector
    可以参考:https://www.jianshu.com/p/0a19409c0d37
  • 方法二、uiautomatorviewer

四、踩坑

  1. Appium运行报错4.4W:
  • 删除SDK文件夹下面android4.4W。
  1. Appium运行报错255权限错误等:
  • 执行脚本的activity需要先获取一定的权限,可以考虑换一个activity开始,一般是打开APP的第一个页面
  1. Appium运行提示服务被占据:
  • 重启appium服务
  • 关注手机是否跳出获取unlock安装的弹窗,是就点击确定
  1. Click button点击报错(一般情况下xpath定位是可行的,但是有时候因为环境编码不一致,无法利用xpath过滤器)错误代码:TypeError: exceptions must be old-style classes or derived from BaseException, not unicode
  • 换成click element 选择过滤器为id,参数为id= 或者 name=
  • Id对应的就是Nodedetail下的resource-id
  • Id表现形式有几种:比如update_left_button或者id=com.hikvision.sentinels:id/update_left_button均能够表示ID
  • Id和name对于node元素来说的唯一的标记,因此只需要选择就能唯一定位,但是其他的属性定位可能需要加上编号
  • Click button点击按钮,根据按钮名称或当前界面按钮数量的序号点击,不使用控件id 使用这个关键字意味着要点击的对象是一个按钮 在iOS中的类名为UIAButton 在Android中的类名为android.widget.Button
  1. Uiautomatorviewer运行”Error obtaining UI hierachy问题:
  • 使用程序被运行过了,重启一下就好
  1. win10 下AndroidStudio无法连接真机:
  • 需要禁用驱动程序强制签名
  • 右下角通知全部展开—所有设置—更新和安全—立即重启—高级选项—点击重启—选择7,等待重启完成。
  • 在设备管理下—便携设备,若正常显示连接的设备,则表示驱动安装好了
  1. Android Studio中no module,无法运行APP:
  • 构建moudle 参考:https://blog.csdn.net/qiushisoftware/article/details/87395458

五、编码

装完环境、踩完坑,就可以利用RF的RIDE编写代码了,RF自带的编辑器不怎么好用,可以配置eclipse使用。

你可能感兴趣的:(Android APP自动化环境准备和坑)