本人的环境搭建前的准备,MAC电脑一台(macOS Mojave 10.14.0及以上),Xcode 10.0及以上   ,自己注册的一个Apple ID 账户,必须你的电脑能连接互联网,最好不要用公司的网络,限制太多,容易掉坑里。

1.安装Homebrew 

安装

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

卸载

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

在Mac OS X 10.11系统以后,/usr/local/等系统目录下的文件读写是需要系统root权限的,以往的Homebrew安装如果没有指定安装路径,会默认安装在这些需要系统root用户读写权限的目录下,导致有些指令需要添加sudo前缀来执行,比如升级Homebrew需要:

对/usr/local 目录下的文件读写进行root用户授权: 

 sudo chown -R $USER /usr/local
 

2.安装 libimobiledevice  (得先安装Homebrew) 

brew install libimobiledevice

其实,libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。

3.安装 usbmuxd 以便于通过 USB 通道测试 iOS 真机,不需要测试真机则不用安装 

brew install usbmuxd

4.安装 ideviceinstaller(真机安装相关)

brew install ideviceinstaller

libimobiledevice中并不包含ipa的安装命令,所以还需要安装ideviceinstaller ,安装 ideviceinstaller 用来给真机安装 App。

5.安装 carthage , WebDriverAgent编译时需要的依赖包。

brew install carthage

6.安装 node(目的是安装 npm)官方下载地址https://nodejs.org/en/download/,下载.pkg 文件安装(LTS版本),推荐最好用Homebrew 的命令去安装 ,

brew install node

7.安装 iOS-deploy   

npm install -g ios-deploy

iOS-deploy 是一个终端安装和调试iPhone应用的是第三方开源库

8.安装 xcpretty

gem install xcpretty

xcpretty 是一个用 ruby 实现的工具,可以用 gem install xcpretty 来安装,主要作用是为了美化 xcodebuild 那冗长而且恶心的log输出

9. Appium桌面端下载安装(选择 dmg 文件)下载,点击安装。

https://github.com/appium/appium-desktop/releases

--点击安装包

10.安装 Appium doctor 

npm install -g appium-doctor

--主要是方便用于检查MAC电脑环境是否满足Appium依赖配置

11 .运行命令,

Appium-doctor --ios

--这这个命令主要是为了检查看MAC的appium ios依赖环境是否安装好。 

12.安装 webpack

npm i -g webpack   

 --这个鬼东西,我也不知到啥东东,呵呵

13.安装 wd

npm install -g wd        --(-g表示全局安装)

--这个鬼东西,我也不知到啥东东,呵呵

14.应用中如含有 WebView,请安装 ios-webkit-debug-proxy

brew install ios-webkit-debug-proxy    --调试H5页面的用到的环境依赖

15.编译并在手机安装 WebDriverAgentRunner 驱动 APP

a. 在安装完Appium Destop ,从 https://github.com/appium/WebDriverAgent 下载的WebDriverAgent文件夹 ,

b. terminer(终端工具) 在 WebDriverAgent 文件夹路径下运行:

mkdir -p Resources/WebDriverAgent.bundle

sh ./Scripts/bootstrap.sh -d

等待几分钟下载依赖的包后进行编译完。替换路径/Application/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 下的WebDriverAgent文件夹 。

c. 双击WebDriverAgent.xcodeproj打开此项目,在这里我们的目的就是更改一些配置,让他能够编译成功,首先编译之前你得有 ID账号,并且登录你的Xcode账户

配置开发证书等

接着编译WebDriverAgentRunner

配置 runner 的证书信息

配置 setting 信息

d. 建立服务WebDriverAgent (手机和MAC都在同一个网段下,且都能连接外网)关闭Xcode,从终端terminer 进入WebDriverAgent目录文件夹运行以下命令:

xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机的udid' test

如果终端出现以下信息,表示编译 OK,

Testing failed:

    Early unexpected exit, operation never finished bootstrapping - no restart will be attempted
** TEST FAILED **

这个是时候iphone多了一个WebDriverAgentRunner的app ,

我们在通用设置的描述文件里面信任我们的开发证书之后再次运行下的指令:

xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机的udid' test

如果出现以下信息,表示运行成功了:

Test Suite 'All tests' started at 2019-05-04 14:44:24.692

Test Suite 'WebDriverAgentRunner.xctest' started at 2019-05-04 14:44:24.695

Test Suite 'UITestingUITests' started at 2019-05-04 14:44:24.698

Test Case '-[UITestingUITests testRunner]' started.

t =     0.00s Start Test at 2019-05-04 14:44:24.703

t =     0.01s Set Up

2019-05-04 14:44:24.719508+0800 WebDriverAgentRunner-Runner[931:98387] Built at May  4 2019 14:43:43

2019-05-04 14:44:24.827130+0800 WebDriverAgentRunner-Runner[931:98387] ServerURLHere->http://192.168.119.105:8100<-ServerURLHer

e.打开终端terminer运行命令:

iproxy 8100 8100

如下:

 

f. 此时Google浏览器打开:   http://localhost:8100/status


看到这,此时appium的WDA环境配置成功了。
 
16.下载安装python3与安装常用的库,
a. 从 https://www.python.org/downloads/下载python3.6.8  ,双击安装python3.6.8(什么版本自己决定)

b. 进入终端输入如下命令,设置环境变量:

sudo open  ~/.bash_profile

PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
    export  PATH

alias python="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6"           ---添加,设置别名

修改成功的标志是,重新打开终端,输入Python,界面和python3一样

c.安装robotframework

pip install robotframework

d.终端输入如下命令,安装wxPython 安装版本是4.04

pip install wxPython==4.0.4

e. 下载和安装robotframework-ride  ,  地址 :https://github.com/HelioGuilherme66/RIDE/releases

环境配置要求:

  sudo -H pip install -U -r https://github.com/HelioGuilherme66/RIDE/raw/release/requirements.txt

ride的版本:

  sudo -H pip install -U https://github.com/HelioGuilherme66/RIDE/releases/download/v1.7.3rc1/robotframework_ride-1.7.3rc1- py2.py3-none-any.whl (bug多呀)

  sudo -H pip install -U https://github.com/HelioGuilherme66/RIDE/archive/release.zip 修复了可以查看关键字帮助的bug 暂时用这个看看V1.7.3)

f. 安装常用的库

pip install requests

pip install robotframework-requests

pip install robotframework-selenium2library

pip install robotframework-seleniumlibrary

pip install selenium

pip install robotframework-appiumlibrary

g. 在 MAC电脑的terminer终端运行 ride.py,如下图 ride 运行成功:

整个环境配置踩得的坑不要不要的,希望以上的环境搭建介绍有效的减少大家踩坑的概率,现在可以愉快的开始自动化测试路程了,哈哈。

 The End  !


MAC电脑下Appium + python3 + robotframework ios的真机测试环境搭建的更多相关文章

  1. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  2. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  3. Cocos2d-x 关于在iOS平台真机测试的一些注意

    下面简单记录一下在最近cocos2d-x项目在iOS平台真机测试和模拟器测试中遇到的一些要注意的地方(使用ipod): 1.图片大小 游戏中基本上都是会用到图片,那么在使用图片的时候要特别注意图片的s ...

  4. appium ios 真机自动化环境搭建

    近期由于工作需要,本小菜在弄appium+ios+iphone真机的移动自动化,在网上找寻各种资料,发现针对IOS方面的资料少之又少,公司其它部门的弄过的同事也寥寥无几,即使有,也是安卓方面的.本次书 ...

  5. Appium移动端自动化测试--搭建模拟器和真机测试环境

    详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK ...

  6. 『与善仁』Appium基础 — 1、Android系统的测试环境搭建

    目录 1.Android操作系统简介 (1)Android系统诞生 (2)Android系统的结构 (3)Android测试环境搭建整体思路 2.Java环境安装 (1)JDK8下载 (2)安装JDK ...

  7. ios app真机测试到上架App Store详细教程-必看

    详细操作地址 http://www.applicationloader.net/blog/zh/88.html 苹果iOS APP真机调试测试和上架App Store视频教程 优酷 http://v. ...

  8. appium -ios 真机连接 环境搭建

    补充点一: 安装ios-deploynpm install -g ios-deploy 安装不了报错.! 后来找了找,发现sudo npm install -g ios-deploy --unsafe ...

  9. ionic ios 打包 真机测试常见问题

    1.ionic 项目在windows下正常打包安卓包时  迁移到mac下打包ios时  不需要复制平台目录platforms即可  不用再mac下去安装各种插件信息 2.ionic 下不能访问api信 ...

随机推荐

  1. HTML JAVASCRIPT CSS 大小写敏感问题

    html: 大小写不敏感 css: 大小写不敏感 javascript: 大小写敏感 但是 但是 但是 这三者是相互联系的, 所以合在一起使用的时候就产生了变化 ----  TagName, Clas ...

  2. [PHP] PHP汉字转拼音的方法

    PHP汉字转拼音的方法 代码如下: <?php // 此类是依据ASCII码转换,GB2312库对多音字也无能为力. // GB2312标准共收录6763个汉字,不在范围内的汉字是无法转换,如: ...

  3. Spring Data学习中心

    Spring Data 概览 Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性. 它使数据访问技术,关系数据库和非关系数据库,map ...

  4. day 19

    If you think you can, you can. And if you think you can't, you're right.

  5. 数学建模之Python操作csv文件

    1.用Python通过csv文件里面的某一列,形成键值,然后统计键在其他列出现的次数. import pandas as pd import numpy as np import csv import ...

  6. 【CF10D】 LCIS

    题目链接 最长公共上升子序列 \(f[i][j]\)表示\(A\)的前\(i\)个数,匹配\(B\)的第\(j\)个数,且\(B[j]\)必选时的最长公共上升子序列长度 转移: if(A[i]==B[ ...

  7. Unittest 类方法

    import unittest,time from selenium import webdriver class TestClass(unittest.TestCase): @classmethod ...

  8. 一个web请求的全过程

    参考文档:http://www.mamicode.com/info-detail-1357508.html 名词解释DNS: DNS(Domain Name System,域名系统),因特网上作为域名 ...

  9. laravel代码规范强制检查

    目录 介绍 代码规范检查与修复 在git commit时自动检查代码规范 后记 介绍 在团队协作开发中,代码规范是必要的.以前的规范都是自己定,然后手动检查,很难做到有效的约束. 现代的PHP,则有得 ...

  10. 关于央行数字货币DCEP的几个特点的思考(转)

    近期,央行即将推出数字货币,无论在金融领域还是在资本市场,央行数字货币这一话题都被炒的很火热.央行研发的数字货币叫做DCEP(DC,DigitalCurrency,是数字货币:EP,Electroni ...