代码改变世界

Robot framework + appium环境搭建

2016-07-30 10:23  JonnyNan  阅读(4578)  评论(0编辑  收藏  举报

Robot framework+appium环境搭建

首先梳理一下要用到的工具和安装包:

1. Android + JAVA。

jdk : http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

安装jdk并配置环境变量。

Android sdk: http://sdk.android-studio.org/

安装并配置好环境变量。Tools列表前三个必装。谷歌服务器略坑你懂的。出去还是切换国内镜像下载都行,镜像地址自行百度。

clip_image002

2. Appium

NodeJs:https://nodejs.org/en/ 最好装稳定版

Appium: http://appium.io/

安装appium之前必须先装 nodejs.

Appium 依赖 .net framework

装好后打开如图:

clip_image004

clip_image006

只需设置这里框2内 安卓版本. 我的是6.0手机 所以不改动。

装完后 介绍一个检查命令 appium-doctor

clip_image008

按照错误信息,修改相关环境变量。直到出现上图,没有错误位置。加入appium-doctor提示不是命令。。还是先设置appium对应的环境变量。

3. Python + robot framework系列

这里比较熟悉,直接写了

1. 先安装python2 (3不支持)

https://www.python.org/ 安装过可以勾选add path 就不用手动设置环境变量了

设置好环境变量后,使用pip命令安装其他组件

安装 robot framework

Pip install robotframework

安装 robot framework ride

Pip install robotframework-ride

装完后新开cmd窗口,打开尝试 ride.py 提示要装wxpython2.8.12

就去这个提示的网址 找对应的wxpython Unicode

py27版本的 安装后 ride即可打开。

最后pip install robotframework-appiumlibrary 安装 appium 库

打开ride 新建test suit case。

clip_image010

导包必须的

clip_image012

上面case里方法 F5库里搜索的到。Open Application 打开程序

所需参数如下:

Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=6.0 deviceName=3bab5395 appPackage=com.tencent.mm appActivity=.ui.LauncherUI

第一个默认不变,是指向本机appium服务器 第二个 平台安卓 第三个 安卓版本

第四个 DeviceName 命令行输入 adb devices 即可显示。前提是你开启了手机的开发者权限 启用usb调试模式。安装好手机驱动。

clip_image014

appPackage=com.tencent.mm appActivity=.ui.LauncherUI

这两个 分别是 app包的名字 和 app launch 关键字 不知咋称呼。

获取方式很多种。这里写两种

包名:

adb -s 3bab5395 shell pm list package –f 命令中 3bab5395 是device name 自行替换

列出所有的包 找到对应包名。

然后 通过adb logcat > 文件名.txt命令输出手机运行日志。
先开启日志记录,然后打开对应app,然后马上关掉 (控制键加C)日志记录
.activity找寻后面对应的内容 .就是appActivity。 文中是微信的已经提供

方式2

cmd切换至 android-sdk 、 build-tools 目录下

使用命令 aapt dump badging *.apk *.apk是待测软件的安装包。

生成信息很容易找到appPackage和 appActivity.

有关元素定位。

安装android sdk后 对应 Android\android-sdk\tools 目录下 有个uiautomatorviewer.bat

使用此工具定位元素.

clip_image016

AppiumLibrary中很多非常通用的操作方法都有。 想实现什么功能之前先查询即可。

最后别忘记运行case之前要先开启appium 中的服务。。就是那个play按钮。。