Appium Appium+Python3+iOS 真机环境搭建

王小喜 · July 01, 2018 · Last by haha269 replied at September 02, 2019 · 5760 hits

前言
Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。

本次环境配置相关:
macOS:10.13.4
Appium-desktop:1.6.1
Xcode:9.3.1


一、环境配置

1、 安装homebrew:

$ /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:

$ brew install node

5、安装npm:

$ brew install npm

6、安装ios-deploy:

$ npm install -g ios-deploy

8、安装xcpretty:

$ gem install xcpretty

9、安装appium,appium-doctor

进入官网,下载Appium-1.6.1.dmg,安装即可。

当然你可以使用命令:npm install -g appium来安装appium,但是后面就会各种报错!!(别问我是怎么知道的,我搞了2天。)

$ npm install -g appium-doctor

10、使用appium-doctor 检查Appium iOS环境环境

appium-doctor --ios

info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor Node version is 10.1.0
info AppiumDoctor Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor Xcode Command Line Tools are installed.
info AppiumDoctor DevToolsSecurity is enabled.
info AppiumDoctor The Authorization DB is set up properly.
info AppiumDoctor Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor HOME is set to: /Users/wangjuan
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor

二、安装WebDriverAgent
1、进入appium安装目录下WebDriverAgent文件夹,具体路径参照自己的路径,可以通过find命令查找

cd /Applications/Appium.app/Contents/Resources/app
/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

2、在WebDriverAgent目录下执行以下命令

mkdir -p Resources/WebDriverAgent.bundle

sh ./Scripts/bootstrap.sh

3、编译WebDriverAgent.xcodeproj
Xcode打开当前目录下的WebDriverAgent.xcodeproj文件WebDriverAgent.xcodeproj.png

注意⚠️:进入项目后要编辑一些内容,请无比按照步骤全部修改。步骤见下图!!

1、TARGETS->WebDriverAgentLib的Bundle Identifier更改为自己命名的Identifier。(所有Identifier注意保持一致!!)

2、TARGETS->WebDriverAgentLib的Signing选择使用个人的证书。

image.png

3、TARGETS->WebDriverAgentRunner的Signing选择使用个人的证书。

image.png

4、PROJECT->WebDriverAgent的Product Bundle Identifier更改为自己命名的Identifier。(所有Identifier注意保持一致!!)

image.png

5、TARGETS->WebDriverAgentLib的Product Bundle Identifier更改为自己命名的Identifier。(所有Identifier注意保持一致!!)

image.png

6、TARGETS->WebDriverAgentRunner的Product Bundle Identifier更改为自己命名的Identifier。(所有Identifier注意保持一致!!)

image.png

7、Device选择已连接的测试机

8、点击build按钮来测试,按照步骤设置后,可build succeeded~

image.png

9、测试机上安装证书,执行以下命令:
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=测试机的udid' test

如果没有报错证明安装成功,同时手机上会安装一个WebDriverAgent软件。需要在手机设置->通用->设备管理->信任开发者。如下图:image.pngimage.png


三、Appium Client端
Appium Client有Ruby,Python,Java三个版本,可自行选择自己喜欢的安装即可,本次只针对Python版安装:

pip install Appium-Python-Client


以上,接下来可以定位元素,推荐使用App Inspector,开始iOS自动化之旅吧~~

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 17 条回复 时间 点赞

扫盲贴,楼主辛苦了!虽然appium我已经用了2年了还是要对楼主说声谢谢!

WebDriverAgent 相关签名设置,可以说是 目前比较正确的操作姿势了。。。。 说实话。到现在我也没弄明白这个签名的先后步骤 会对成功和失败有什么影响。 都是鼓捣来鼓捣去 就鼓捣好了。。。

小马 回复

我也是点来点去就点成了

linpengcheng 回复

还是妹子 心细,整理的图文合一。清晰明了。

npm install -g appium来安装appium. 各种报错,搞了好几天,搞到怀疑人生!可是我下载appium 1.61dmg下载到一半说没有访问权限 要哭

liuxin 回复

我window用appium 1.46那个版本 想往上升级 怎么都是失败。。我都怀疑人生了 现在只好用appium desktop

wtnhz 回复

我快撑不住了 这个环境 前前后后也搞了一个星期了 我试了 1.6.1和1.6.2的时候下到一半的时候就特慢 我以为是网速慢 后来一看就是没有访问权限说是

不知楼主是否经历过和我一样的瓶颈期,我现在初步的环境搭建好了,Appium+Ruby+ios真机,也知道如何去定位元素和形成基本的测试脚本,但是仅止于此,我完全不知道如何系统化的去编写测试用例和管理用例,比如用例中如何加入断言,我想执行哪里就执行哪里,后期的用例的简单维护,以及如何生成测试报告都无所适从。因为不是开发,对代码的了解也很有限,完全不知道如何通过工程方式去实现我的自动化,由于用的是Mac,开发工具是Xcode,所以能够参考的资料非常有限,在这里真诚希望楼主或者论坛大神能够给出一个思路,十分感谢!

wtnhz 回复

我这的觉得appium desktop好用

王小喜 #10 · July 13, 2018 作者
liuxin 回复

我这下载的好正常,要不给你分享一个

王小喜 #11 · July 13, 2018 作者
bruceBingo 回复

1、可以使用ruby单元测试的框架,来整理维护你的用例
2、断言部分,我认为是与功能测试一样的验证方式,你的用例需要验证什么,你就转化成脚本就可以了
3、尝试自己封装一些方法,建立简单的框架,慢慢进步。

王小喜 回复

你好,我用模拟器没有问题,真机wda也装上了,但是start Session报错
An unknown server-side error occurred while processing the command. Original error: Could not create simulator with name 'appiumTest-夏赟', device type id '夏赟' and runtime id '11.4'. Reason: 'simctl error running 'create': Invalid device type: 夏赟'

13Floor has been deleted


请问这是什么问题啊

问一个肤浅的问题,windows能搭IOS的环境吗??

李晔 回复

windows不能 可以装个黑苹果试试

wtnhz 回复

谢谢女大神!

18Floor has been deleted


这是什么问题啊

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up