1 基础环境安装

1.1   Homebrew安装

在mac上安装Homebrew用官方命令一直不成功,尝试用国内的镜像安装的过程如下:

1.将安装brew的文件下载到本地

cd ~ && curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install

2.修改安装文件内的镜像源(BREW_REPO和CORE_TAP_REPO)

BREW_REPO = "git://mirrors.ustc.edu.cn/brew.git".freeze
 CORE_TAP_REPO = "git://mirrors.ustc.edu.cn/homebrew-core.git".freeze

3.执行安装

/usr/bin/ruby ~/brew_install

注:

Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...没响应

出现这个原因是因为源不通,代码来不下来,解决方法就是更换国内镜像源:

执行下面这句命令,更换为中科院的镜像:

git clone git://mirrors.ustc.edu.cn/homebrew-core.git/ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1

4. 修改PATH变量--未成功

$ vim /etc/profile

在打开的profile文件中加入下面这一行 export PATH=/usr/local/bin:$PATH   有local?

执行下面一条命令,使得刚才的更改立即生效:$ source /etc/profile

5. 验证

brew doctor

6. 修改brew源为国内源

依次执行以下命令:

$ cd "$(brew --repo)"
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
$ brew update

Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。 这时你在命令行状态下面就可以使用 brew 命令了

1.2 安装 Xcode, Command Line Tools

appstore安装xcode

1.3 安装 Jdk

Oracle 官网下载 Jdk

双击下载的 .dmg 文件,拖拽至 Application 安装。

vim ~/.bash_profile

export ANDROID_HOME=/Users/amandama/Library/Android/sdk

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/28.0.1

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home

export JRE_HOME=$JAVA_HOME/jre

export PATH=$PATH:$JAVA_HOME/bin

export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

修改好执行  source .bash_profile 生效

JAVA_HOME根据具体实际路径填写,jdk1.8.0_161.jdk 注意替换

1.4 安装 android-sdk

1.建议直接安装安卓开发工具来安装安卓sdk,安装sdk成功后配置环境变量

vim ~/.bash_profile

export ANDROID_HOME=/Users/amandama/Library/Android/sdk

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/28.0.1

具体路径,修改好执行  source .bash_profile 生效, 根据实际安装后填写。

1.5  安装 Node.js

( Node.js 就是运行在服务端的 JavaScript)

在终端输入命令:brew install node 并回车,将默认安装 Node.js 最新版本,如需安装制定版本,可到官网 https://nodejs.org/en/download/ 下载对应版本 .pkg 包安装。
安装完成后,使用命令 node -v 和 npm -v 查看版本,检查是否安装成功

MadeMacBook-Pro:~ $ node -v

v11.10.0

MadeMacBook-Pro:~ $ npm -v

6.7.0

配置 npm 淘宝源:(npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系)
终端使用命令:npm config set registry https://registry.npm.taobao.org 
检查是否配置成功使用命令:npm config get registry(返回这个成功  https://registry.npmjs.org/)

npm 全局安装 appium,使用命令(默认安装最新版本):

npm config set registry https://registry.npm.taobao.org

npm install appium -g --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

> appium-chromedriver@4.10.1 install /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver

> node install-npm.js

安装 appium 完成后,继续安装 appium-doctor

npm install appium-doctor@1.6.0 -g (不建议安装1.7.0)

/usr/local/bin/appium-doctor -> /usr/local/lib/node_modules/appium-doctor/appium-doctor.js

+ appium-doctor@1.6.0

1.6 安装真机环境相关依赖

(libimobiledevice--ibimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备)

(usbmuxd将依赖于TCP/IP的命令的被连接方,通过本地端口映射。用usb连接代替了网络连接,使得在没有网络的情况下也可以连接设备。)

(mac下进行cordova项目编译部署到ios设备,这个时候需要安装ios-deploy)

(iOS开发中有一个非常优秀的图表类开源库叫Charts,但是当你下载后想正常运行该demo时需要先安装Carthage。)

brew update

brew uninstall --ignore-dependencies libimobiledevice

brew uninstall --ignore-dependencies usbmuxd  
brew install --HEAD usbmuxd  
brew unlink usbmuxd  
brew link usbmuxd

brew install libimobiledevice --HEAD

npm install -g ios-deploy

brew install Carthage        
brew upgrade carthage

carthage 0.32.0 already installed

注:

npm install -g ios-deploy 安装失败,输入xcodebuild 验证xcode安装是否正确

终端输入xcode-select -print-path 检查xcode安装位置:/Library/Developer/CommandLineTools

升级xcode后,不是系统默认位置,需要修改为:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

执行 xcodebuild,可以执行命令,不报异常

执行 sudo npm install -g ios-deploy --unsafe-perm=true

/usr/local/bin/ios-deploy -> /usr/local/lib/node_modules/ios-deploy/build/Release/ios-deploy

+ ios-deploy@1.9.4

安装成功!

appium-doctor –ios 检查环境是否ready

2 IOS WebDriverAgent配置

(安装app自动化测试驱动)

安装git: brew install git

git/2.21.0

Emacs Lisp files have been installed to:

/usr/local/share/emacs/site-lisp/git

拉取WebDriverAgent代码:上 https://github.com/XXX(你的github帐号)下载master

cd WebDriverAgent-master/

mkdir -p Resources/WebDriverAgent.bundle 
sh ./Scripts/bootstrap.sh -d  或者用sh ./Scripts/bootstrap.sh (不要-d)

配置证书

Xcode打开WebDriverAgent-master目录下的WebDriverAgent.xcodeproj文件。

配置WebDriverAgentLib

配置WebDriverAgentRunner

运行与测试 

iphone手机连接Mac, 设置信任: 设置-通用-描述文件与设备管理-开发者应用

Xcode:Product→Destination→选择连接的真机

Product--Schema--选择WebDriverAgentRunner

Product--Test

如果顺利,则WDA安装到手机端,Xcode控制台输出log:

打开控制台方法:选择view->Debug Area->Activate console

控制台会输出IP地址和端口:http://10.10.33.145:8100/status,输入浏览器,确认WDA是否运行成功

3 appium IOS 安装和配置

Appium-Server下载地址:Releases · appium/appium-desktop · GitHub

安装for mac最新版 1.10.0

配置参数

{"platformName": "iOS","platformVersion": "12.1.4","udid": "00008020-00147984XX08002E","deviceName": "LXiphoneXSmax","automationName": "XCUITest","bundleId": "com.lx.blackXXX.app","app": "/Users/amandama/Downloads/pywork/BFCredit.ipa"
}

⚠️:如果不想自己安装包,可以把app字段去掉,直接启动已安装好的app来查找元素。

appium无法识别设备,重装一遍:brew install libimobiledevice --HEAD

appium中更改配置参数,去掉app:

{ "platformName": "iOS", "platformVersion": "12.1.4", "udid": "00008020-00147984XX08002E", "deviceName": "LXiphoneXSmax", "automationName": "XCUITest", "bundleId": "com.xhy.blackXXX.app" }

⚠️:以上bundleId要写已安装在真机的app对应的Id

启动Session,成功识别!appium环境配置完成!

4 ios真机自动化用例编写

4.1 基于robotframework自动化用例编写【appium】

环境搭建

安装pip: sudo easy_install pip

安装robotframework基础环境:

robot framework安装     pip命令  sudo pip install robotframework==3.0 -i Simple Index --trusted-host mirrors.aliyun.com 
wxPython安装(用于支持robotframework的IDE ride)需要使用 wxPython-unicode-2.8.12.1版本即可   
具体文件见网盘,硬盘
链接:百度网盘 请输入提取码  密码:ovyz

先执行sudo pip install -U wxPython -i Simple Index --trusted-host mirrors.aliyun.com
然后删除site-package里面的wx*    rm -rf /Library/Python/2.7/site-packages/wx*
然后如下操作一下。
sudo cp ~/Downloads/wxredirect.pth /Library/Python/2.7/site-packages/ 
sudo mkdir /usr/local/lib 
sudo cp -r ~/Downloads/wxPython-unicode-2.8.12.1/ /usr/local/lib/wxPython-unicode-2.8.12.1/ 
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes 
export VERSIONER_PYTHON_PREFER_32_BIT=yes
robotframework-ride安装   pip命令: sudo pip install robotframework-ride -i Simple Index --trusted-host mirrors.aliyun.com 
Appium-Python-Client安装   pip命令: sudo pip install Appium-Python-Client -i Simple Index --trusted-host mirrors.aliyun.com 
robotframework appiumlibrary安装  pip命令:sudo pip install robotframework-appiumlibrary -i Simple Index --trusted-host mirrors.aliyun.com

sudo pip install --upgrade robotframework-httplibrary -i Simple Index --trusted-host mirrors.aliyun.com

sudo pip install --upgrade robotframework-databaselibrary -i Simple Index --trusted-host mirrors.aliyun.com

sudo pip install  robotframework-selenium2library -i Simple Index --trusted-host mirrors.aliyun.com

sudo pip install --upgrade robotframework-sshlibrary -i Simple Index --trusted-host mirrors.aliyun.com

sudo pip install --upgrade requests -i Simple Index --trusted-host mirrors.aliyun.com

如果有不成功的安装时添加参数:--upgrade --ignore-installed six 
确认appiumlibrary是否安装成功
先运行ride,命令行输入ride.py
然后导入AppiumLibrary若显示导入三方库为黑色则说明安装成功

可以开始robotframework的用例编写了

4.2 采用python+pytest+allure+Jenkins 这套框架

安装pip: sudo easy_install pip

pip install -U pytest    //安装 python2.7

pip3 install pytest      //安装python3

命令安装 pip3 install Appium-Python-Client

Installing collected packages: urllib3, selenium, Appium-Python-Client

Successfully installed Appium-Python-Client-0.38 selenium-3.141.0 urllib3-1.24.1

注意:pytest专业版 激活方法: sudo vim /etc/hosts

添加 0.0.0.0 account.jetbrains.com

打开PyCharm选择Activation code激活,然后复制下面的激活码点击激活。此激活码有效期为2019-05-04

如果是mac:brew install allure
安装pytest以及allure包:

pip install pytest

pip install pytest-allure-adaptor

写完testcase后,生成报告:

py.test --alluredir=reports

allure generate reports

移动端IOS自动化测试框架搭建-无坑相关推荐

  1. python安装robotframework报错_Python3+RIDE+RobotFramework自动化测试框架搭建过程详解

    Python2.7已于2020年1月1日开始停用,之前RF做自动化都是基于Python2的版本. 没办法,跟随时代的脚步,我们也不得不升级以应用新的控件与功能. 升级麻烦,直接全新安装. 一.Pyth ...

  2. 自动化测试框架搭建-报告-4

    unittest在命令行可以直接输出测试结果.但是可能需要生生一个所有测试的执行结果作为报告或者把测试报告发送给相关人员,给其发送命令行日志不是一个明智的选择.他们需要格式格式更加友好的测试报告,既能 ...

  3. 自动化测试框架搭建-日志-2

    在上一节的自动化测试框架搭建-[配置]的基础上为框架加上日志log,既然用到了log类,可以学习Python-logging进行学习,在utils中创建一个log.py文件,Python有很方便的lo ...

  4. python web自动化测试框架搭建(功能接口)——功能测试模块

    功能测试使用selenium,模块有: 1.futil: 公共方法,如元素高亮显示 # coding=utf-8 """高亮显示元素""" ...

  5. Python+unittest+requests 接口自动化测试框架搭建 完整的框架搭建过程 实战

    一.Python+unittest+requests+HTMLTestRunner 完整的接口自动化测试框架搭建_00--框架结构简解 首先配置好开发环境,下载安装Python并下载安装pycharm ...

  6. APP自动化测试框架搭建(五)--Python+Appium+pytest-html

    第一章 APP自动化环境搭建(Mac版) 第二章 APP自动化环境搭建(Windows版) 第三章 adb命令 第四章 元素定位.元素操作 第五章 APP自动化测试框架搭建 Python+Appium ...

  7. WEB UI自动化测试框架搭建(一)_公用方法Utils

    本栏目内的所有项目使用的都是PyCharm 2020.1专业版,可以下载后自行在网上找教程破解. WEB UI自动化测试框架搭建(一)~(七)源代码:https://download.csdn.net ...

  8. APP自动化测试框架搭建(八)--ATX Server2多设备集群环境搭建

    第一章 APP自动化环境搭建(Mac版) 第二章 APP自动化环境搭建(Windows版) 第三章 adb命令 第四章 元素定位.元素操作 第五章 APP自动化测试框架搭建 Python+Appium ...

  9. APP自动化测试框架搭建(六)--uiautomator2、web-editor基础操作

    第一章 APP自动化环境搭建(Mac版) 第二章 APP自动化环境搭建(Windows版) 第三章 adb命令 第四章 元素定位.元素操作 第五章 APP自动化测试框架搭建 Python+Appium ...

  10. API接口自动化测试框架搭建(一)-总体需求

    (一)-总体需求 1 实现目的 2 功能需求 3 其他要求 4 适用人员 5 学习周期 6 学习建议 7 内容直达 8 反馈联系 1 实现目的 API接口自动化测试,主要针对http接口协议: 便于回 ...

最新文章

  1. hibernate中的hql带有参数的参数语句以及二级缓存
  2. 文章和随笔的标题好像没有HtmlEnCode。
  3. C/C++中输入带空格的字符串 string 转 char*
  4. sql 超时时间已到.在操作完成之前超时时间已过或服务器未响应.,sqlserver Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应...
  5. 换手机的再等等!iPhone SE2还有戏:苹果官网悄然更新AppleCare+服务计划
  6. .Net Attribute特性
  7. hdu 1671 Phone List (字典树)
  8. 交互设计精髓about face3读书笔记(没写完)
  9. VScode代码美化工具Beautify
  10. 【学习】从HttpClient3迁移到HttpClient4
  11. 应对风险和机会的措施讲解
  12. ScrollMagic结合TweenMax的Demo
  13. 紫荆花开之say love to the girl you love
  14. 第十三届蓝桥杯 2022年省赛真题(Java 大学C组)
  15. 别傻了!不能只会给别人开热点,要尝试华为手机的WiFi分享功能
  16. 逻辑推理能力训练与程序调试
  17. 测试分类-软件开发阶段的各个测试
  18. Java--贪吃蛇日志
  19. window.open 全屏展示
  20. html条码枪响应慢,条码扫描枪使用时的常见问题

热门文章

  1. ascii码与hex转换c语言,ASCII与HEX对照转换表(示例代码)
  2. 用js打开新窗口和关闭新窗口
  3. pagination分页(支持首页,末页,跳转)
  4. 项目经验:某大厂大数据项目总结
  5. windows10 专利申请客户端CPC
  6. Native Boot 从一个 VHD 引导系统的相关说明
  7. 设计原则(6):开闭原则
  8. 研究生数学建模竞赛准备
  9. mysql语句怎么拼接字符串_mysql字符串拼接
  10. 程序员入门:三本必看的书