移动端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下载地址: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

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
AppUI自动化测试框架是一用于测试移动应用界面的工具。它可以模拟用户在移动设备上的操作,如点击、滑动、输入,并对应用的界面进行验证和测试。以下是AppUI自动化测试框架的一些特点和常用功能: 1. 跨平台支持:AppUI自动化测试框架可以在不同的移动操作系统上运行,如Android和iOS。 2. 多种编程语言支持:AppUI自动化测试框架支持多种编程语言,如Java、Python、C#等,开发人员可以根据自己的喜好和技能选择合适的语言进行测试脚本的编写。 3. 元素定位和操作:框架提供了丰富的API和方法,用于定位和操作应用界面上的元素,如按钮、文本框、下拉列表等。开发人员可以通过这些方法模拟用户的操作,并验证应用的响应。 4. 数据驱动测试:AppUI自动化测试框架支持数据驱动测试,可以通过读取外部数据源(如Excel、CSV文件)来驱动测试脚本的执行,从而实现对不同数据集的测试。 5. 并发执行:框架支持并发执行测试脚本,可以同时在多个设备上执行测试,提高测试效率。 6. 测试报告和日志:框架可以生成详细的测试报告和日志,记录测试过程中的操作和结果,方便开发人员进行问题定位和分析。 7. 集成持续集成工具:AppUI自动化测试框架可以与持续集成工具(如Jenkins)集成,实现自动化测试的持续集成和部署。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值