RIDE-robotFramework之android虚拟机
之前用RF测web端,直接在本机打开web端网址,然后安装好Google插件(Chropath及ChromeDriver),即可测试。现在若要用RF测android端app,需要以下步骤:
appiumlibrary和appium-python-client的安装
RF测web端时安装了Selenium2Library库,同理,测APP端,需要appiumlibrary和appium-python-client的安装。
只需要指令:pip install robotframework-appiumlibrary 即可(它自动安装好了appiumlibrary和appium-python-client)
appium的安装
v-1.80及其以上的版本没有自带appium-doctor(只是一个验证工具,不安装也可)
无法选择安装路径,默认安装路径为C:\Program Files (x86)\Appium
需要配置环境变量path-----C:\Program Files (x86)\Appium
Android环境搭建
JDK安装并配置环境变量(略)
ADT安装并配置环境变量(SDK)
下载:搜索android-sdk-windows,下载后解压即可
环境变量配置:
ANDROID_HOME--------->D:\Program Files\android-sdk-windows
path-------->%ANDROID_HOME%\tools
path-------->%ANDROID_HOME%\platform-tools
path-------->%ANDROID_HOME%\build-tools
另外解压缩之后的AVD Manager.exe即为可以自己安装配置的虚拟机
通过对SDK Manager.exe运行来安装SDK
配置虚拟机(genymotion的安装)
首先说明安装包自带了vbox,先装vbox,再装genymotion
连接真机
- 用数据线使得真机与PC端相连
- 保证真机与PC在同一WiFi下
- 查看真机的IP地址:设置-关于手机-状态消息或者执行命令:
adb shell ip -f inet addr show wlan0
- 打开开发者模式(具体方式根据手机配置不同,自行查阅)
- 打开USB调试,允许ADB监控
- 打开命令行窗口,输入adb devices(显示pc中已经连接的android机)
- 输入adb connect 192.168.1.4(具体IP根据真机确定)
返回connected to 192.168.1.4:5037即为连接成功 - 注:adb tcpip xxxx 为设定adb端口号(可以设置为任何未占用的端口号)
返回restarting in TCP mode port: xxxx则代表服务开启成功,可以拔掉数据线断开电脑和手机的连接。(不过已经分配了5037,没有必要设置) - 注:因为我们默认端口是5037,所以执行adb connect 192.168.1.4的时候相当于执行了adb connect 192.168.1.4:5037,如果adb tcpip连接的端口号不是5037时adb connect 时IP后需要需要加上端口号。
- 注:断开连接,执行:adb disconnect
- 注:如果手机wifi断了,也会自动中断连接,需要重新连接。
- 注:连接多台设备–>当我们连接着两台设备时,执行adb tcpip xxxx
提示:error: more than one device/emulator
此时我们只需要给adb命令加上-s参数,指定设备号即可,其他的操作基本都是一样的了。
adb -s *************** tcpip xxxx
连接虚拟机
- 双击Genymotion,打开后点击“+”添加模拟机型(等待下载完成)
- 双击已下载好的virtual device,进入模拟器界面,等待自动开机 - 进入命令行界面,输入adb devices
默认连接好了IP(192.168.9.101),不用去找模拟器的IP地址
定位元素
所用的工具是D:\Program Files\android-sdk-windows\tools下的uiautomatorviewer.bat
因为环境变量已经配置,所以直接打开命令行输入:uiautomatorviewer即可
结合RF测试
- 首要一步:打开appium,同样因为配置环境变量,直接命令行输入appium
- 点击“Start Server v1.10.0”打开
- 配置Edit configuration中的信息
- 注:port4723是默认的端口号,不需要修改。例子打开微信:
Open Application http://localhost:4723/wd/hub platformName=Android platformVersion =8.0.0 deviceName=阿紫萝卜 appPackage=com.tencent.mm
appActivity=com.tencent.mm.ui.LauncherUI - 注:查看包名方法:adb shell dumpsys window w |findstr / |findstr name=
- 注:查看应用Activity方法:(前提是进入此APP,命令行即可输入)
- 打开RF,配置好Library:appiumLibrary,敲代码即可实现自动化控制