AppiumAppium自动化测试软件测试

【Appium IOS】环境搭建并运行demo(完整版)

2019-12-27  本文已影响0人  云层_

该篇文章能带你初步进行自动化测试环境搭建,以及运行后实现通过Xcode/终端把demo安装到手机上。

0、安装Xcode,v11.3

1、安装类库Homebrew 、 安装carthage

1)Homebrew简介:  

        是Mac OSX上的软件包管理工具,用以安装和卸载mac上的其他工具,其缩写为brew,那么安装和卸载的语法是:brew install/uninstall xxxx;  

        如果我没有记错,有些mac自带Homebrew,那样就可以直接使用了,如果没有,则需要安装。如何查看电脑是否安装有Homebrew呢?很简单,终端输入 brew ,如果出现下面的内容,则说明已经安装好了。

2)Homebrew安装:

        如果未安装homebrew,则需要Mac必带的ruby来安装homebrew,如下:打开终端,执行:(安装会提示输入mac密码,回车等待安装,需要一点时间,但是速度比浏览器下载快太多了。)---下面是一条命令哟。

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

3)校验

    brew -v

4)更新brew:

    $ brew update     或⬇️

5)安装carthage

        carthage,iOS 第三方库管理工具,  项目依赖管理,主要是 WebDriverAgent 使用,WebDriverAgent 是用它做项目依赖的。类似于 java 的 maven;

      $ brew install carthage

      $ carthage version 查询版本,目前为0.34.3

      $brew uninstall carthage  卸载

2、安装类库:node (同步会自动安装npm)

1)简介:较新版本的node安装后,会附带npm工具。 npm即node package manager,用来搜索、下载、管理node.js相关的套件。对于前端开发者,node、npm是必备安装环境呢。

2)安装(可以先校验下是否已安装,未安装再安装):$ brew install node

3)校验:$ node -v    、$ npm -v

4)npm的一些使用:

    $ npm help //查看npm帮助

    $ npm find //查找组件

    $ npm install //安装组件

    $ npm remove //删除组件

3、安装依赖库:libimobiledevice(必装)、ios-deploy (iOS10+还必须安装)

1)安装 libimobiledevice。(必装)

        libimobiledevice是跨平台的软件协议,不需要越狱就能访问ios设备;类似android的adb工具,用于获取ios设备信息。

    $ brew install libimobiledevice --HEAD     或者  $ brew install --HEAD libimobiledevice

校验:拿上面的命令试下即可,如果安装失败会提示comment not found,如下则安装成功。

   ⚠️若执行时遇到无权限(如下图所示),则执行如下2个命令后重试    

                $ sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/locks

                $ chmod u+w /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/locks

2)下面两个安装哪个,请根据您的ios版本进行安装,因为考虑到ios一直在升级或者要测试低版本兼容性,所以呢,下面两个最好都安装下喽!

    2.1)如果你的IOS 版本是10及以上,则需要安装ios-deploy (仅支持IOS10及以上的高版本)

            ios-deploy也是一个终端安装和调试iPhone应用的是第三方开源库,使用时需要开发者证书和Xcode7以上版本,(----$ ios-deploy -c如果不报错,说明已安装

                 $ npm install -g ios-deploy       或      $ cnpm install -g ios-deploy

                 点击查看iOS-deploy常用命令  

        ⚠️如果提示没权限则执行: 

                $ sudo chown -R $(whoami) /usr/local/lib/node_modules/ios-deploy

                $ chmod u+w //usr/local/lib/node_modules/ios-deploy   

    2.2)如果你的IOS 版本是9及以下,则需要安装ideviceinstaller(仅支持IOS9及以下的低版本):

                $ brew install ideviceinstaller

                校验(如果不报错,说明安装成功):

                $ ideviceinstaller -l

                   常用命令,自行

4、Appium-desktop 1.15.1安装

Appium Desktop与Appium不是同一个东西。Appium Desktop是对于Appium而言,是一个拥有更多相关工具的图形化界面。它们各自有各自的Cadence和版本控制系统。我们使用desktop进行实践:

1)下载链接: https://github.com/appium/appium-desktop/releases,可以手动下载或者git,目前最新版本为v1.15.1.

        或者直接执行安装:$ brew cask install appium

2)将下载的dmg文件拷贝到文件系统(最好的地方是“应用程序”文件夹)。因为不支持从附加的dmg上运行Appium。

3)双击进行安装

        3.1)遇到报错:不能打开软件提示无法打开“appium”,因为Apple无法检查其是否包含恶意软件。

                解决:在命令行输入:$ sudo xattr -rd com.apple.quarantine /Applications/Appium.app    ----(应用名称),输入密码回车重新打开即可

或者如下图,解锁后选择仍要打开:

         3.2)重新双击进行启动即可(里面的端口可以自定义)

 appium desktop,也可以使用命令行启动:

1⃣️$ node  /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js  --port 4723

              //--port  ,Appium的主要端口

2⃣️也可以在命令行中添加--port、--bootstrap-port、--selendroid-port等appium服务命令行参数:

node  /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js  --port 4723  --bootstrap-port  4724  --selendroid-port   8090

             // --bootstrap-port,也可以写成-bp ,是连接Android设备bootstrap的端口号,默认是4724

             // --selendroid-port   8090,当使用了selendroid,用来和 selendroid 交互的本地端口

            // --chromedriver-port chromedriver端口(当使用了webviews或者chrome)

3⃣️更多参数:https://www.cnblogs.com/Teachertao/p/10961256.html

5、appium-doctor 安装 

appium-doctor用于环境检查,可以查看与iOS相关配置是否完整,下图是全部配置都成功,如果出现有一项不正确在执行一次就可以,或者直接跳过。

安装appium-desktop后一般会默认也安装了,如果执行$ appium-doctor –ios进行环境检查时提示无命令,则可能是部分appium-desktop版本需要手工安装appium-doctor,如下一步步执行即可

1)$ npm install appium-doctor -g

       // 若提示无权限,则执行如下:

                    $ sudo chown -R $(whoami) /usr/local/lib

                    $ chmod u+w /usr/local/lib

            再次执行安装doctor即可:

2)环境检查:(warn可以忽略,未安装的安装下即可)

        appium-doctor –iOS

6、更新Appium中的WebDriverAgent

WDA: WebDriverAgent的简称,是Facebook为苹果开发的一个自动化测试框架。

WDA的安装移步到另一篇文章中查看(操作完后记得回来哟):https://www.jianshu.com/p/b5bc45362fa0

7、实际运行:利用Appium-Python-Client进行iOS的自动化测试

        一般都是使用Python进行客户端的UI自动化,所以在真正运行楼主的case之前,需要先把相关的依赖环境安装完成

1)安装python,一般mac自带

        brew install python  

2)安装Python的appium模块,即下载python-client ,放在那里终端就切换到哪里去git

        git clone https://github.com/appium/python-client.git

        cd python-client 

        python setup.py install

            //执行时提示没有没权限,则执行如下赋权

                        sudo chown -R $(whoami) /Library/Python/2.7/site-packages/

                        chmod u+w /Library/Python/2.7/site-packages/

3)下载测试demo(appiumSimpleDemo):里面主要写了个简单的iOS工程文件,并包含一个简单的Python测试脚本

        git clone https://github.com/zhshijie/appiumSimpleDemo

8、运行脚本,开始自动化测试

1)打开下载后的appiumSimpleDemo文件,打开appiumSimpleDemo.xcodepro程序,配置下TARGET的签名

2)在appiumSimpleDemo的根目录执行编译指令,编译出一个app文件xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release,编译成功后app文件的地址会打印在命令行中 

        cd xcode_workspace/appiumSimpleDemo

        xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release

/Users/Cathleen/xcode_workspace/appiumSimpleDemo/build/Release-iphoneos/appiumSimpleDemo.app

                        //编译时如果报错xcode-select: error: tool 'xcodebuild' requires Xcode,这种情况是xcodebuild的路径不正确。执行命令($xcode-select--print-path / $xcodebuild-showsdks)查看路径。

                        //报错解决:将路径切换到Xcode的目录下(实践成功):

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

3)配置python文件

        打开appiumSimpleDemo中的appiumSimpleDemo.py文件,将,修改setup中的几个参数,将app的路径,设备的相关信息修改成当前连接设备的信息。----$ ios-deploy -c查看udid&设备名称。

4)运行

        法1⃣️:在Xcode中运行:cmd+u,或者project>test。(无需启动appium)

        法2⃣️:运行Appium程序,然后运行python测试文件(在终端中执行:在`appiumSimpleDemo.py`所在的目录运行   `$ python appiumSimpleDemo.py`  )

                      ------如果提示SyntaxError: Non-ASCII character则在py文件中添加“# encoding: utf-8”或者“# -*- coding:UTF-8 -*-”即可。

                      -------如果报错链接被拒,则是因为appium未启动,启动再次执行即可。

        结果编译成功。并且在手机上安装了demo。


⚠️遇到的问题:如果xcode虽然编译成功而且安装了demo但是报了个错(无法启动“appiumSimpleDemo”-),如下:

        解决:在设置〉通用〉设备管理或者描述文件〉信任即可,如果遇到完成信任的问题,请参考 ios13找不到描述文件 一定能解决你的问题!

上一篇下一篇

猜你喜欢

热点阅读