美文网首页编程技术类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