基于iOS真机的Appium自动化测试

发布时间:2023年12月27日

必要条件

XCode?>= 6.0, 7.1.1(注意Appium并不一定支持最新版本的Xcode)
Mac OS X 10.10 or 更高, 建议使用10.11.1

Xcode 安装
APP Store安装
注意事项: Xcode 安装包很大(5G左右),Xcode移动到应用程序(10G左右)所以一定要有足够的空间来安装,Xcode安装完启动,有时候会卡在"正在检验Xcode"其实不是卡,是本生需要很长时间,耐心等待就可以,大概3-5分钟。

Appium安装

第一种安装方式:使用brew和node安装
查看brew,node是否安装

$brew -v
Homebrew 0.9.5 (git revision 9107; last commit 2016-01-19)
$ node -v
v5.3.0
$ npm install -g appium #安装appium
$ appium ?#启动appium
$ npm install -g appium-doctor # 安装appium-doctor

?

检查appium-doctor是否安装成功

$ appium-doctor

这种安装经常出现下面的问题

  • 使用非root权限,安装会出现下面问题

    $ npm install -g appium
    npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/appium'
    npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/appium']
    npm ERR! errno: 3,
    npm ERR! code: 'EACCES',
    npm ERR! path: '/usr/local/lib/node_modules/appium',
    npm ERR! fstream_type: 'Directory',
    npm ERR! fstream_path: '/usr/local/lib/node_modules/appium',
    npm ERR! fstream_class: 'DirWriter',
    npm ERR! fstream_stack:
    npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
    npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53',
    npm ERR! 'Object.oncomplete (fs.js:107:15)' ] }
    npm ERR!
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! System Darwin 13.4.0
    npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "appium"
    npm ERR! cwd /Users/test2/temp
    npm ERR! node -v v0.10.32
    npm ERR! npm -v 1.4.28
    npm ERR! path /usr/local/lib/node_modules/appium
    npm ERR! fstream_path /usr/local/lib/node_modules/appium
    npm ERR! fstream_type Directory
    npm ERR! fstream_class DirWriter
    npm ERR! code EACCES
    npm ERR! errno 3
    npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/appium'
    npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
    npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53
    npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
    npm ERR!
    npm ERR! Additional logging details can be found in:
    npm ERR! /Users/test2/temp/npm-debug.log
    npm ERR! not ok code 0
     

?出现上面问题以后使用sudo权限安装appium, appium启动会出现下列问题

$ appium
error: Appium will not work if used or installed with sudo. Please 
rerun/install as a non-root user. If you had to install Appium using 
sudo npm install -g appium, the solution is to reinstall Node using a 
method (Homebrew, for example) that doesn't require sudo to install 
global npm packages.
localhost:temp test2$ sudo appium
error: Appium will not work if used or installed with sudo. Please 
rerun/install as a non-root user. If you had to install Appium using 
sudo npm install -g appium, the solution is to reinstall Node using a 
method (Homebrew, for example) that doesn't require sudo to install 
global npm packages.

所以安装Appium还是按照普通用户来安装,不要使用sudo/root权限安装,出现上面的权限问题,可以给目录加个权限,就可以安装成功

$?sudo?chmod?-R?777?/usr/local/lib

第二种安装方式:下载appium.dmg安装
安装以后显示如下

图片

?

IOS 设置

1、使用官方提供的TestAPP执行第一个测试
下载地址:https://github.com/appium/sample-code

$git?clone?git@github.com:appium/sample-code.git

2、使用官方提供 的TestApp设定Appium_IOS
地址:sample-code/sample-code/apps/TestApp/build/release-iphonesimulator/TestApp.app?

iOS模拟器/真机信息配置
正常情况下apple的包是.ipa文件,那里因为所有的ios设备使用的都的ARM处理器,但是我们现在配置的是模拟器的设备,而模拟器是基于Intel处理器,处理架构不一样,所以在编辑生成包的时候请选择.app文件。

请看下图的配置参数

图片

App path就是apple包的路径:

设置为:sample-code/sample-code/apps/TestApp/build/release-iphonesimulator/TestApp.app

  • BunleID就是苹果开发的bundle identifier,仅在真机测试时勾上并填写
  • UDID苹果设备的唯一ID,仅在真机测试时勾上并填写
  • Force Device 要测试的iphone设备
  • Platform Version 要测试的iphone的版本好(设备和版本号一定要匹配)

以上配置好后,点击launch按钮,启动appium服务,启动成功后,可看到如下信息

?

图片

接下来点击那个类似搜索的按钮来启动client端

如果启动的时候报如下错误你的设备和版本不对的原因,仔细看下log就发现了, 修改一下设备和版本信息重新启动

图片

错误Log

图片

修改设备信息

图片

设置好重新启动,启动成功如下显示
?

图片

?图片

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

?

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取?

?

文章来源:https://blog.csdn.net/chengxuyuznguoke/article/details/135250961
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。