IOS自动化框架搭建与应用 - Go语言中文社区

IOS自动化框架搭建与应用


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下载地址:https://github.com/appium/appium-desktop/releases

安装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 http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com 
wxPython安装(用于支持robotframework的IDE ride)需要使用 wxPython-unicode-2.8.12.1版本即可   
具体文件见网盘,硬盘
链接:https://pan.baidu.com/s/1n2CSKJH4IXVd2OOCi-wFJQ  密码:ovyz

先执行sudo pip install -U wxPython -i http://mirrors.aliyun.com/pypi/simple --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 http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com 
Appium-Python-Client安装   pip命令: sudo pip install Appium-Python-Client -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com 
robotframework appiumlibrary安装  pip命令:sudo pip install robotframework-appiumlibrary -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

sudo pip install --upgrade robotframework-httplibrary -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

sudo pip install --upgrade robotframework-databaselibrary -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

sudo pip install  robotframework-selenium2library -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

sudo pip install --upgrade robotframework-sshlibrary -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

sudo pip install --upgrade requests -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

 

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

可以开始robotframework的用例编写了

 

4.2 采用pyhon+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

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/csdnhnma/article/details/87863044
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-27 22:44:54
  • 阅读 ( 1538 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢