美文网首页编程技术类appiumiOS收藏
使用Appium进行iOS的真机自动化测试

使用Appium进行iOS的真机自动化测试

作者: Zsj_Sky | 来源:发表于2017-08-20 23:29 被阅读8211次

    Appium-Desktop安装

    Appium-Desktop下载传送门中下载最新版本的Appium-Desktop

    必要的库安装,

    如果没有安装过Homebrew,先安装homebrew

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

    如果没有安装npm,请移步 node.js和npm安装

    安装依赖库

    brew install libimobiledevice --HEAD
    npm install -g ios-deploy  #如果是iOS10以上的系统才需要安装
    

    如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploy

    appium-doctor 安装

    npm install appium-doctor -g
    

    安装后执行appium-doctor --ios指令,可以查看与iOS相关配置是否完整,下图是全部配置都成功,如果有那一项是打叉的,则进行安装就可以了。

    appium-doctor --ios 
    
    Markdown

    更新Appium中的WebDriverAgent

    1. WebDriverAgent下载最新版本的WebDriverAgent
    2. 进入下载后的WebDriverAgent文件
    3. 执行 ./Scripts/bootstrap.sh
    4. 直接用Xcode打开WebDriverAgent.xcodepro文件
    5. 配置WebDriverAgentLibWebDriverAgentRunner的证书 Markdown Markdown
    6. 连接并选择自己的iOS设备,然后按Cmd+U,或是点击Product->Test
    7. 运行成功时,在Xcode控制台应该可以打印出一个Ip地址和端口号 Markdown
    8. 在网址上输入http://(iP地址):(端口号)/status,如果网页显示了一些json格式的数据,说明运行成功。 Markdown
    9. 进入到Appium中的WebDriverAgent目录,目录路径如下(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/)
    10. 将自己下载并编译后的WebDriverAgent替换Appium原有的WebDriverAgent

    运行Appium-Desktop

    准备工作

    1. 需要一个.app 或是一个 .ipa 安装包,这个安装包是你要进行测试的应用程序
    2. 测试应用程序对应的bundleId
    3. 测试设备的udid,电脑连接上手机后,可以在Xcode的Window->Deriver中查看 Markdown

    运行程序

    1. 运行Appium-Desktop
    2. 开启start server
    3. 点击start new session
    4. 在 Desired Capabilities 中输入相关的参数后点击Start Session
    5. 运行成功后,会弹出一个控制界面,在该界面中可以控制手机上正在运行的程序
    6. 点击界面上方中心的录制按钮,可以将你对手机端的操作代码化

    利用Appium-Python-Client进行iOS的自动化测试

    准备工作

    安装python

    brew install python
    

    安装appium的python依赖库

    git clone git@github.com:appium/python-client.git 
    cd python-client
    python setup.py install
    

    测试文件

    在git上下载测试文件appiumSimpleDemo

    1. 一个简单的iOS工程文件
    2. 一个简单的python测试文件

    开始自动化测试

    配置iOS工程文件

    1. 打开下载后的appiumSimpleDemo文件,打开appiumSimpleDemo.xcodepro程序,配置下TARGET的签名
    2. 在appiumSimpleDemo的根目录执行编译指令,编译出一个app文件xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release,编译成功后app文件的地址会打印在命令行中 Markdown
    3. 将手机连接上电脑,在Xcode的Window->Devices中获取到设备的UDID Markdown

    配置python文件

    打开appiumSimpleDemo中的appiumSimpleDemo.py文件,将,修改setup中的几个参数,将app的路径,设备的相关信息修改成当前连接设备的信息。

    Markdown ,保存。

    运行Appium程序

    打开之前下载安装的Appium,并开启服务。

    运行python测试文件

    appiumSimpleDemo.py所在的目录运行python appiumSimpleDemo.py,如果之前设置都没有出错,那么程序应该会在手机上成功运行,并自动点击了entry next view进入到了下一个界面,过了2s后会重新返回第一个界面

    相关文章

      网友评论

      • Super_Yuan:使用npm install -g ios-deploy命令会报错,我使用了sudo npm install -g ios-deploy --unsafe-perm=true这个命令,但是还是会报错‘stderr: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance’这是错误信息,然后使用‘sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
        ’这个命令,然后在执行上一条命令就成功了;在这里记录一下😁
        昵称_7baf:感谢,同样遇到了这个问题
      • 静守幸福:在网址上输入http://(iP地址):(端口号)/status,如果网页显示了一些json格式的数据,说明运行成功。 在这一步 不可以 前面都行 是什么情况 浏览器打不连接
        Zsj_Sky:@静守幸福 然后用那个 ip地址和 端口号拼出来的地址没办法打开吗?一般能成功打印出来,说明服务已经开启成功了,应该是可以成功打开的才对。
        静守幸福:@Zsj_Sky 有的
        Zsj_Sky:第七步的控制台有输出 ip地址和端口号吗?
      • 鸢尾嵌宇:不错,我遇到了个问题,'RoutingHTTPServer/RoutingConnection.h' file not found,怎么执行sh都没用,后来在网上找到个,收藏你的文章,顺便做个记录:
        cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent (如果WebDriverAgent 所在路径和此不同,请自行查找)
        mkdir -p Resources/WebDriverAgent.bundle
        sh ./Scripts/bootstrap.sh
      • 李天空1:你好,请问如何配置WebDriverAgentLib和WebDriverAgentRunner的证书,我没有开发者账号,用自己的配置WebDriverAgentRunner时,报“ The app ID "com.facebook.WebDriverAgentRunner" cannot be registered to your development team. Change your bundle identifier to a unique string to try again.”
      • 夏霍霍:想问一下您有没有用过appium+robotframework框架进行ios自动化测试
        Zsj_Sky:@夏霍霍 这个我只是自己学习下,没有正式使用,对测试框架这部分不太了解。不好意思:joy:
        夏霍霍:@Zsj_Sky 那方便说一下您做ios真机自动化测试用的什么测试框架吗?我们之前一直是appium+rf,高版本兼容目前正在摸索
        Zsj_Sky:这个没有尝试过,没有使用过 robotframework 框架
      • 小小西湖哇:你好,请问appium ios测试一定要装xcode吗,app路径怎么填写
        Minerest:您好,Appium的Desired Capabilities需要真机需要配置哪些参数,我这边一运动就自动跑模拟器
        Zsj_Sky:上文的配置iOS工程文件里面有提到如何获取app路径
        打开下载后的appiumSimpleDemo文件,打开appiumSimpleDemo.xcodepro程序,配置下TARGET的签名
        在appiumSimpleDemo的根目录执行编译指令,编译出一个app文件xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release,编译成功后app文件的地址会打印在命令行中

      本文标题:使用Appium进行iOS的真机自动化测试

      本文链接:https://www.haomeiwen.com/subject/vipqdxtx.html