开启iOS自动化测试之门

开启iOS appium自动化测试之门

Appium介绍

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持iOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对iOS系统的支持得益于Dan Cuellar’s对于iOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。

Appium进行自动化测试的两个好处

(1) Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用。这里,跨平台的意思是指可以在不同的系统上用相同的方式编写测试脚本,而不是指用于Android系统的测试脚本可以完全不用修改的应用于iOS系统上。事实上,Android和IOS应用几乎需要独立的进行编写。

(2)Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、PHP、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架。如果只使用Apple的UIAutomation,我们只能用javascript来编写测试用例,而且只能用Instruction来运行测试用例。同样,如果只使用Google的UIAutomation,我们就只能用java来编写测试用例。

Appium的系统需求

Android自动化测试可以在Windows、Mac、Linux上进行,需要安装Android SDK、Node等工具。而iOS的自动化由于需要Xcode的支持,只能在Mac上运行,需要安装Xcode、Node等工具。此外,由于appium ios自动化的底层使用的是UI Automation,因此在使用appium之前必须搭建iOS开发环境。

一、搭建appium环境

目前Appium测试iOS设备,要求Mac操作系统的最低版本是mac OS 版本10.7,本机使用的开发环境是Xcode 9.4.1, Mac x 10.13.3。由于时间有限下文截图可能不太清晰,请谅解。

1. 安装brew

在终端输入命令 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 安装libimobiledevice

brew install libimobiledevice --HEAD

3. 安装carthage

brew install carthage

4. 安装node.js ,https://nodejs.org/en/download/, 下载.pkg文件安装

5. 安装cnpm https://npm.taobao.org/

npm install -g cnpm --registry=https://registry.npm.taobao.org

6. 安装ios-deploy

sudo cnpm install -g ios –deploy

7. 安装xcpretty

gem install xcpretty

安装的版本为xcpretty-0.3.0

8. 安装appium1.10.0

sudo cnpm install -g [email protected]

9. 安装appium-xcuitest-driver依赖

9.1 安装WebDriverAgent

首先要搭建WebDriverAgent编译环境,首先需要安装如下的软件:

• Homebrew

• carthage

• python

• node.js

• Xcode8.0+(IOS9.3,Xcode8.0+才能正常编译)

安装Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装WebDriverAgent

使用git clone命令将WebDriverAgent项目克隆到本地

git clonehttps://github.com/facebook/WebDriverAgent

9.2 安装appium-xcuitest-driver依赖,进入WebDriverAgent安装目录,运行bootstrap

cd/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

mkdir -p Resources/WebDriverAgent.bundle//执行脚本
sh ./Scripts/bootstrap.sh

如果出现报错,则关闭终端再打开,执行

10. 下载WebDriverAgent-master

10.1 Xcode打开WebDriverAgent.xcodeproj,修改配置:

选择菜单files->open,路径/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

10.2 双击WebDriverAgentLib,设置后进行编译

按如下进行修改

Bundle ID改为com.ming.wda.WebDriverAgentLib

修改配置WebDriverAgentRunner后编译

11. 真机的udid通过iTunes——摘要,点击序列号,出现UDID,右键拷贝即可。

安装appium-python-client

二、运行与测试

12. Xcode菜单栏选择目标设备,Scheme选择WebDriverAgentRunner,最后运行 Product -> Test。一切正常的话,手机上会出现一个无图标的WebDriverAgent应用,启动之后,马上又返回到桌面。这是正常的。

此时控制台界面可以看到设备的IP。如果看不到的话,使用这种方法打开view-debug area-activate console

出现上图,表示成功了

13. 安装appium-doctor

确定所有依赖是否安装成功,可通过appium-doctor验证,首先安装appium-doctor(sudo npm install -g appium-doctor),然后在终端运行appium-doctor,如下图,都是打勾状态就证明环境正常

14. brew install –HEAD libimobiledevice

15. 运行appium

终端执行 appium –p 4723

三、启动APP

第一步,Xcode打开WebDriverAgentRunner,scheme选择它,菜单Project->Test,build成功后在手机里装上WebDriverAgent;第二步,手机连接Mac电脑;第三步,启动Appium desk,start desired session;

就可以自动测试App了。

原文地址:https://www.cnblogs.com/fengye151/p/11518415.html

时间: 2024-10-03 04:43:28

开启iOS自动化测试之门的相关文章

QTP自动化测试之VBScript基础

要想使用QTP进行自动化测试,必须了解VBScript这门语言,对于使用过ASP或VB开发的人来说,VBScript已经再熟悉不过了,但是没有接触过VBScript的同学也不要灰心,因为这门语言简单易学. 1. VBScript利器 2. Hello World 3. 数据类型 4. 变量 5. 常数 6. 运算符 1. VBScript利器 子曰:工欲善其事,必先利其器.学习一门语言自然是离不开工具及文档,有好的工具及文档在手,学习起来也会得心应手.在此,我推荐大家一个很不错的编辑工具--Vb

[转] Android自动化测试之使用java调用monkeyrunner(五)

Android自动化测试之使用java调用monkeyrunner 众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过,最近发现可以用java调用monkeyrunner Api,用java语言写测试脚本. 于是,就简单研究了一下.这里做一些总结.希望有对在研究的午饭可以有所用处. 开始时,搜素到一些零碎的教程,说使用java调用monkeyrunner时,需要导入android sdk  tools路径下的lib里

MOTO360 能否开启摩托罗拉的重生之门?

日月交替,时代变换,一时的成功不算是成功,只有紧紧的抓住了时代轮转的命门,你才是真正的成功者.互联网的迅猛发展成就了一个时代,一个属于智能手机和pc的时代.许多商家抓住时机掘地而起成为新时代的领跑者,也有许多曾经的巨头纷纷陨落沦为旧时代的陪葬品.苹果.小米与诺基亚.摩托罗拉如此讽刺而又理所应当的对比,差距的开始却造就反差距的结果,原因只有一个,前者抓住了时代轮转的命门,而后者沉浸在自己的世界,傲慢不羁固步自封将他们一步步推到悬崖边,等到认清现实却为时已晚. "下一个时代,属于智能可穿戴"

Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发

Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发 直接入正题: Screen Shot 2015-09-18 at 16.56.20.png Mac上安装Jekins jekins下载地址:http://jenkins-ci.org/ ,选择Mac 直接安装.安装成功后.访问http://localhost 是否可正常访问. 安装Jekins相关插件 证书管理插件1.https://wiki.jenkins-ci.org/display/JENKINS/Keychains+an

Android自动化测试之环境搭建

Android自动化测试之环境搭建 一.Android-sdk介绍? SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件的开发工具的集合.Android是google公司推出的手机开发平台.Android-sdk就是指Android专属的软件开发工具包. Android-sdk中我们最常用的就是tools和Platformtools文件夹中的工具. 二.工具安装? 1.android-sdk只需

Android自动化测试之UIAutomator(三)---比对测试截图

系列回顾:本系列主要从开发的角度介绍UiAutomator的使用,总共包括三篇: 基础入门: Android自动化测试之UiAutomator(一) 技巧篇:     Android自动化测试之UiAutomator(二)(未完成) 比较工具篇 :Android自动化测试之UiAutomator(三)---比对测试截图 本文是第三篇. 转载请注明出处:http://blog.csdn.net/xzy2046/ 以下是正文: 1.简介: 本文适合所有以图片作为输出的自动化开发工具(不仅限于Andr

Android自动化测试之MonkeyRunner录制和回放脚本

Android自动化测试之MonkeyRunner录制和回放脚本(十一) 分类: 自动化测试 Android自动化 2013-02-22 10:57 7346人阅读 评论(2) 收藏 举报 androidAndroidANDROIDMonkeyRecordermonkeyrunnerMonkeyRunnerMonkeyrunner 对于MonkeyRunner,有些人可能会想,既然是Android自动化测试,离不开测试脚本,那么,我们可不可以录制测试脚本呢,答案是可以的. 我们先看看以下monk

初识ios自动化(一)

Appium进行自动化测试有两个好处: 1. Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用. 2. Appium支持Selenium WebDriver支持的所有语言,如java.Object-C.JavaScript.Php.Python.Ruby.C#.Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api.Appium支持任何一种测试框架.如果只使用Apple的UIAutomation,我们只能用ja

Mac Jenkins+fastlane 简单几步实现iOS自动化打包发布

最近在使用jenkins 实现ios自动化打包发布蒲公英过程实践遇到了一些坑,特意记录下来方便有需要的人. 进入正题: 一.安装Jenkins 1.Mac上安装Jenkins 遇到到坑 因为 Jenkins 的pkg安装包默认安装位置为shared文件夹,后续会遇到权限问题,所以放弃pkg安装.(说明:也许是安装时选择了本机所有用户可用的原因) 如果已经使用pkg文件方式安装了,卸载方法:找到该文件 /Library/Application Support/Jenkins/Uninstall.c