简介
在UiPath最新社区版20.4中,添加了手机自动化相关的功能。本篇文件就该功能做简单测试和演示说明。
一、下载安装Appium
Appium是一个用于本地、混合和移动web应用程序的开源测试自动化框架。
它使用WebDriver协议驱动iOS、Android和Windows应用程序。
官网地址:http://appium.io/
下载Appium-windows-1.15.1版本链接:https://github.com/appium/appium-desktop/releases/download/v1.15.1/Appium-windows-1.15.1.exe
在下载好Appium之后,双击exe文件进行安装,所有选项按需配置即可。安装完成之后,双击桌面上的图标,选择"高级设置",将服务器地址改为127.0.0.1,服务器端口默认即可,如下图所示:
点击Start Server即可开启Appium服务,在启动之后,请勿关闭窗口
二、下载Android SDK
下载地址: https://www.androiddevtools.cn/
此处需要下载两个压缩包文件,下载好之后,将第一个文件android-sdk_r24.4.1-windows解压至指定目录中国,把第二个压缩包解压出来的 platform-tools 文件夹放在第一个文件解压的根目录下。
如果不想下载这两个文件,则可以直接下载我打包到一起的压缩文件,下载好之后,解压到某个目录即可。
网盘下载链接:https://pan.baidu.com/s/1bkIXPL-97COgIex6tBpuGg 提取码:14qg
知识星球下载链接(本文所有代码文件都可以在同一个主题中下载到):https://t.zsxq.com/jUBq7Ii
下载Android SDK Tools: 先找到SDK Tools,下载最新的版本即可。选择zip的,解压缩至目标路径位置即可
下载Platform-Tool工具
解压后的文件如下图所示:
四、连接手机
在开发手机客户端软件的时候,通常会使用模拟器和真机两种方式来对APP进行调试,在这里两种方法都会介绍,实际操作过程中,可以根据自己需求来进行选择。
1. 模拟器
现在测试或者使用APP的模拟器有很多种,比如mumu、逍遥安卓模拟器、夜神模拟器,但是这些都是服务于游戏,并不能作为调试软件的模拟器来使用。所以我们使用Android SDK中自带模拟器。
a. 安装SDK
在下载过程中,可能会出现较多问题,可能是网络或其他。如遇到问题,可在知识星球提问咨询。
打开SDK中的SDK Manager.exe文件,安装相应的API及其他资源文件。
如下是我安装的Android 4.0.3相关的SDK及镜像。
勾选Update/New即可以看到所有的API及其他文件,可以按需下载对应的API及镜像。
b. 创建模拟器
打开SDK中的AVD Manage.exe文件,就可以开始创建模拟器。
按照如下步骤创建一个模拟器设备。
启动模拟器:选择上一步创建的模拟器设备,点击Start就可以启动模拟器。之后按照"连接测试"章节中的步骤检查模拟器是否正常工作。
2. 真机
a. 开启开发者模式
每个手机开启开发者模式的方式可能存在差异,如果不知道如何开启自己手机的开发者模式,可以在百度搜索"xxx型号手机如何开启开发者模式"。
在开启开发者模式之后,需要将开发者选项中的USB调试勾选上。
b. 连接电脑
在连接电脑时,"可能"需要安装手机的驱动程序,这样电脑才可以识别打手机。
3. 连接测试
a. 将adb添加到环境变量(可选)
创建环境变量
"C:\Work\Android\android-sdk-windows"这个路径是我自己存放SDK的文件夹,可以根据自己的实际情况替换
将创建的环境变量添加到Path中
b. 检查设备是否连接
win+r打开cmd窗口
如果添加了环境变量,则直接输入命令
adb devices
;如果没有添加环境变量,则需要进入到"%Android_SDK_HOME%\platform-tools"目录中,然后执行
.\adb.exe devices
,在命令输入完之后,会显示出当前计算机中挂载着几个手机设备。
如下,我当前有两个手机设备,其中98895a434a354c3443这个是我的真机,emulator-5554是模拟器(因为是关着机,所以是离线状态)
如果在这列表中没有设备,则需要根据上面章节检查模拟器或者真机是否安装正确。
五、UiPath手机设备管理
1. 创建Mobile Testing项目
在最新版的UiPath Studio中,提供了一个New Mobile Testing Project的手机测试模板项目,根据此模板创建项目,会在项目中自动添加UiPath MobileAutomation Activities依赖,同时在菜单栏中会出现Mobile Automation的图标,如下图:
点击mobile Automation,选择下拉菜单中的Mobile Device Manager。
2. 新建设备
如下,在Mobile Device Manager中添加一个新的设备
如下图,填写必要的设备信息。其中Appium URL中/wd/hub不能去掉,Device Name需要从上一章使用"adb Devices"命令查找出的设备名
3. 新建应用
如下在Applications中添加一个应用
4. 测试运行
点击Start An Application,打开对话框
在其中选择已创建好的Device和Application,点击Connect。
在点击Connect之后,在Appium的窗口中,会出现安装应用的日志信息,可以通过这个日志检查是否连接成功,如下:
在连接过程中,肯能会出现一些问题,以下是我遇到的:
- error: cannot remove listener'; Code: '1'':没有安装Android SDK Build-Tools,回到Android SDK Manager,点击下载Android SDK Build-tools(Rev:29.0.3),下载好之后会存放在%ANDROID_HOME/build-tools%目录中,将aapt.exe复制到Tools目录。
- Could not sign with default certificate.:以管理员身份重新启动Appium即可。
连接成功之后,会在Mobile Device Manager面板中出现模拟器或真机的画面,之后就可以进行自动化脚本的录制或者编写。
六、脚本编写
跟桌面上的自动化一样,UiPath针对手机自动化也提供了一些自动化的控件,这些控件都可以获取到APP上的元素(做过Android开发的同学应该懂),如下面一些代码:
android.widget.TextView
<mbl android:className='android.support.v7.widget.RecyclerView' />
<mbl android:className='android.widget.EditText' idx='2' />
所以通过这种方式,可以轻松地获取到需要的元素,使流程更加稳定。
如下代码是通过UiPath自动化添加事件提醒:
七、总结
在将模拟器或真机与UiPath连接时,可能会出现各种问题,对于未做过开发者的同学来说可能难度会比较高。在开发脚本时候,因为需要通过Appium来与模拟机/真机进行交互,所以调试速度比较慢,也比较麻烦,并且Appium并不是很稳定,即便是连接成功,在调试过程中也会出现其他错误。
代码或流程脚本下载: https://t.zsxq.com/jUBq7Ii
广告: 在使用UiPath测试手机自动化过程中,如遇到问题都可以在知识星球中进行提问讨论。
知识星球链接:https://t.zsxq.com/beqNjUJ
问题收集
- 安装SDK
1.问题一: x86_64 emulation currently requires hardware acceleration!
解决:https://blog.csdn.net/shareye1992/article/details/81777387