iOS 自动化测试之appium、Macaca App Inspector踩坑

经过两天的研究Appium Desktop从入门到放弃,无奈最后选择用Macaca App Inspector也是各种坑

安装所需依赖库

1.node (brew install node)

2.npm  (brew install npm)

3.carthage (brew install carthage)

4.libimobiledevice(真机测试需要)(brew install libimobiledevice)

5.ios-deploy(真机测试需要)(brew install ios-deploy)

判断所有依赖是否安装成功,可通过appium-doctor验证,首先安装appium-doctor(npm install -g appium-doctor),然后在终端运行appium-doctor,如图下图所示,都是打钩状态就证明环境正常(java相关环境不需要配置)


一、Appium Desktopmac桌面版本)

下载安装桌面版本 网上找了两个版本 Appium Desktop下载1  Appium Desktop下载2


下载安装好之后先不要启动

Appium自带的WebDriverAgent存在bug,改使用FaceBook的WebDriverAgent    WebDriverAgent下载

从git上下载WebDriverAgent,进入/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 目录(注意:不同版本的Appium路径是不一样的,我安装的版本的路径是下图),命令行运行:./Scripts/bootstrap.sh,下载依赖,然后将该文件替换appium应用中的WebDriverAgent(目录:/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent )

路径查找 :访达->应用程序->appium右键显示包内容


使用xcode打开WebDriverAgent程序,在真机上安装WebDriverAgent程序,手机上出现WebDriverAgent应用表示安装成功

这里也有坑:

把WebDriverAgentLib和WebDriverAgentRunner的bundleIdentifier修改不能和FaceBook的一样 唯一就行

下面的地方也要修改一下

此时com+u编译可能会抱下面的错误 如果不报错略过

把下图位置的修饰符改成strong即可

编译之后会  手机上出现WebDriverAgent应用表示安装成功

启动Appium Desktop


platformName:设备类型名称 iOS或安卓

deviceName:手机设备

bundleId:项目的bundleIdentifier

udid:手机udid

xcodeOrgId:开发者账号的teamid

xcodeSigningId:赋值"iPhone Developer"即可

到这里点击start seeion 我这边报错 一直未解决(如果有人知道原因望指点一二,不胜感激)  网上说是版本的原因  无奈最后只能用Macaca App Inspector

二、Macaca App Inspector(命令行终端方式)

更新npm

npm install macaca-cli -g

安装appium

npm  install -g appium

安装app-inspector 

npm install app-inspector -g

mac终端命令输入macaca doctor检查需要安装的依赖 有区分iOS和Android

ios部分全部为绿色就表示依赖全部安装完毕

终端命令输入appium来启动appium服务

出现下面欢迎界面就表示成功


这里有两个坑:

1、这个目录下的工程要换成自己的开发者账号

2、手机里安装的app必须是debug模式安装的否则回报错(我就是在这弄了好几天都没成功)

a.一定要选中开发证书

b.一定要选中scheme为debug

proxy.js:61:22 [master] pid:19389 xctest client proxy error with: Error: connect ECONNREFUSED 127.0.0.1:8001


三、下面开始用python写脚本连接手机测试


python代码

#encoding:utf-8

from appium import

webdriverdesired_caps = {}

desired_caps['platformName'] = 'iOS'

desired_caps['automationName'] = 'XCUITest'

desired_caps['deviceName'] = 'iPhone 7plus'

desired_caps['bundleId'] = 'com.app.JapanXfortunes'

desired_caps['udid'] = '0be13c5b60ea5fe3c92faa88888899'

desired_caps['xcodeOrgId'] = '569Z88888U'

desired_caps['xcodeSigningId'] = 'iPhone Developer'

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)


可以使用mac终端运行python文件或者使用pycharm运行

运行之后不报错就表示成功

然后新建终端命令窗口

输入app-inspector -u <udid>        注意:<udid> 为手机的udid

运行成功不出错误的话浏览器会打开一个界面

若切换页面,需现在手机上切换,然后刷新浏览器,则获取手机的最新页面。


这里以app里的取消按钮为例进行脚本测试



选中取消按钮右侧界面会显示元素信息name值取消 我们根据name的值来获取取消按钮的点击事件

在python代码里添加下面一句代码

driver.find_element_by_name("取消").click()

运行python代码后会自动打开我们app并自动点击取消按钮

其他事件的处理都按照此方法

目前我也处在摸索阶段 希望大家多多指点 相互分享经验

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容