Appium robotframework-appium (ios 客户端测试) 学习之路 (1):环境搭建

匿名 · 2016年07月03日 · 最后由 duxy 回复于 2018年07月21日 · 2583 次阅读

一、 简介

1.1 摘要

本人测试新人,最近在搞 ios 客户端的自动化,准备采用 robotframework-appium 来实现自动化测试,一边学习一边总结,此安装说明文档是基于 mac 系统 10.11 版本,第一次发经验贴,说明中如有错误纰漏请不吝指教。
—————以下属个人理解,有错误请各位指正,想直接进入主题的,请直接跳到 1.2 章节————
安装 Robotframework-Appium 框架,大致划分为三个部分(1)基础软件的安装,主要包括 Xcode,ios 模拟器,command line tools 等(2)Appium 的安装(3)robotframework 的安装。一般来说安装好(1),(2)就可以进行自动化测试,具体的方式是写自动化测试脚本(可采用 python,java 等语言,脚本中包含测试用例实现步骤的代码以及对每一个测试 case 的断言)通过 appium server 去驱动模拟器/真机中的 app,执行所编写的测试用例并进行判断。
目前 robotframework 比较热门,主要它相对上面提到的方式个人感觉主要有两点优势:(1)编写测试用例简单化,基本不需要写代码。rf 框架采用 “关键字” 方式编写测试用例,比如它把 “向某文本框中输入文本” 这一个本来需要写几行代码的实现的过程封装成关键字 “文本框输入文本”(在此只是举例,具体关键字的名字需要查询),这样我们直接调用该关键字,然后传入一些必要的参数,如文本框的 id、你要输入的文本等,就可以实现该步骤。(2)用例的维护及多人协作较方便。如果采用 appium 写脚本,测试用例就是一大推代码,如果不是自己写的话阅读起来非常麻烦,而且后期添加测试用例非常麻烦。而 rf 采用关键字的方式(也支持中文关键字),用例写起来很简洁,易阅读。而且 rf 提供的 UI 界面 ride 为编写用例的模块化提供便利,后期扩充用例比较简单,利于维护。
总之 rf 相对于单纯用 Appium 实现自动化还是有很大优势的,当然其实并没有改变自动化实现的本质,感觉是在 appium 基础上又做了更高层的封装,让使用者操作起来更简单。当然自动化不是万能的,一些场景很难依靠工具或者框架去判断是否达到了预期,比如音视频的通话质量等,很多场景目前还是必须依赖手工测试,所以自动化用例最好覆盖的场景是(1)冒烟测试(2)编写主干流程的测试用例,用例不要写的太细,用于提高版本回归测试的效率。

1.2 参考资料

1.参考了论坛中@debugtalk 的关于 appium 搭建的帖子,收货很大。
2.谷歌百度

二、安装步骤

前面的话:
(1) 后面的安装步骤基本涵盖了全部所需要的安装内容,但并不是事无巨细,有些简单软件的安装例如 xcode,command line tools 等,大家自行百度谷歌即可,安装比较简单,一般就是一句命令行的事。
(2) 在使用 mac 终端中输入命令行安装软件的方式,遇到最多的问题就是权限问题,如果你输入某安装指令后,终端中提示 “… not permitted..” 之类的就是很可能说明要管理员权限,这时候在 安装命令前面加上 sudo,然后输入开机密码即可完成安装。
(3)采用命令行安装是一种在线的安装方式,如果有些软件无法下载,则需要 ***,或者搜一下别的安装方式,如采用下载安装包等方式进行安装。再次就不做具体介绍了,一般安装都可以通过命令行或者安装包至少两种方式安装,下文中大部分采用命令行安装方式。

2.1 基础工具的安装

(1)mac 系统准备<=10.11,笔者是在 10.11 版本安装的。
(2)Homebrew 安装,终端中输入:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(3)安装 xcode。appstore 中直接下载
(4)模拟器,用的 xcode 自带的默认模拟器,9.3 版本。
(5)CommandLine Tools 安装。打开终端,输入 xcode-select—install,如遇权限问题输入 sudo xcode-select—install。
(6)python 2.7 安装。Mac 中自带 python2.7 的。检测方法终端输入 python --version,会返回 python 2.7.X 版本号。如果没有请谷歌如何安装 python。
(7)pip 安装,终端中输入:(sudo)easy_install pip 。easy_install 和 pip 都是用来下载安装 Python 一个公共资源库 PyPI 的相关资源包的,在 Python2.7 的安装包中,easy_install.py 是默认安装的,而 pip 需要我们手动安装。

2.2 Appium 的安装

(1)node.js 和 npm 的安装,终端输入:(sudo)brew install node。
(2)appium 环境检测工具的安装,终端输入:npm install appium-doctor –g。安装成功后,终端输入:appium-doctor –ios。终端会核对每项安装 appium 的准备环境,缺什么对应安装什么即可,正常情况下安装上面的安装步骤执行完后,输入 doctor 命令,终端最后会输出:AppiumDoctor Everything looks good, bye!
(3)安装 appium server。我们平时所说的 appium 就是它!方法很多推荐使用 gui 安装办法。安装步骤是:
打开网址https://bitbucket.org/appium/appium.app/downloads/.dmg 的最新版本下载,在 mac 上双击安装即可。笔者下载的是 appium-1.5.3.dmg。,找到后缀名为
(4)Appium Client Libraries。终端输入:(sudo)pip install robotframework-appiumlibrary。上面那个是官方提供的,另外建议安装另一个依赖库,终端输入(sudo)pip install robotframework-mobilelibrary,这个是对 robotframework-appiumlibrary 的扩展,并且许多关键字的说明都是中文。

2.3 RobotFramework 的安装

(1) 安装 wxpython。终端输入:brew install wxpython。
安装这个的时候花费了不少精力。Wxpython 对系统中一些包的版本有要求。例如我在安装 wxpython 时,终端提示 pip list 中的” six” 这个东西的版本过低,我用 pip 命令进行更新该文件: pip install -U six,但升级也失败。后来谷歌百度了解到,Mac 系统在 10.11 版本启用了更高的安全性保护机制:系统完整性保护 System Integrity Protection (SIP)。简单来讲就是更加强制性的保护系统相关的文件夹。开发者不能直接操作相关的文件内容。
所以做法是 1.关闭 SIP 2.更新系统相关文件 pip install -U XXXX 3. 恢复 SIP,保证系统安全。
关闭的 SIP 的步骤是:
1.点击 Mac 电脑的苹果图标
2.选择 重新启动
3.按住 command+R,直到进入还原模式
4.选择实用工具,然后点击 终端
5.输入 csrutil disable 按下回车
6.重启电脑。这样就将 “SIP“关闭了
恢复的 SIP 的步骤是:
1.点击 Mac 电脑的苹果图标
2.选择 重新启动
3.按住 command+R,直到进入还原模式
4.选择实用工具,然后点击 终端
5.输入 csrutil enable 按下回车
6.重启电脑。这样就将 “SIP“关闭了
(2)安装 RobotFramework
(sudo)pip install robotframework==2.9.2
(3)安装 RIDE
(sudo)easy_install robotframework-ride

此时就完成了 RF-Appium 的安装,你可以在终端中输入 pip list 查看安装的各个包,正常情况下,终端输出中应包含 robotFramework(版本号),robotFramework-ride(版本号),robotframework-appiumlibrary(版本号),robotframework-mobilelibrary(版本号),wxpython(版本号)等。
在终端中输入:ride.py 就运行启动了了 rf 框架界面了。

共收到 7 条回复 时间 点赞

先赞一个,有木有具体执行操作或具体项目举一下例

—— 来自 TesterHome 官方 安卓客户端

赞一个,我是在 win10 平台下,用 robotframework + appium 测试安卓手机的 H5,已经写了一些测试脚本。
期待你更多的分享。

haha 有 debugtalk 的影子

期待一直分享下去!

5楼 已删除

#2 楼 @superbaby11 能和你一起交流一下吗?

运行 ride.py 后,提示:$ ride.py
Wrong wxPython version.
You need to install wxPython 2.8.12.1 with unicode support to run RIDE.
wxPython 2.8.12.1 can be downloaded from http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/

按照地址下载后,安装不上,这是怎么回事啊?

9楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册