热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

必要条件XCode6.0,7.1.1(注意Appium并不一定支持最新版本的Xcode)MacOSX10.10or更高,建议使用10.11.1Xco

必要条件

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安装

IOS 设置



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

图片

修改设备信息

图片

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

图片

图片

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:

① 2000多本软件测试电子书(主流和经典的书籍应该都有了)

② 软件测试/自动化测试标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)


⑤ Python学习路线图(告别不入流的学习) 

上图的资料 在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)

可以自助拿走,群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。


推荐阅读
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • feat: Enhances Jest Testing Capabilities with Snapshot Support ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文介绍了 Vue 开发的入门指南,重点讲解了开发环境的配置与项目的基本搭建。推荐使用 WebStorm 作为 IDE,其下载地址为 。安装时请选择适合您操作系统的版本,并通过 获取激活码。WebStorm 是前端开发者的理想选择,提供了丰富的功能和强大的代码编辑能力。 ... [详细]
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 在 Vue.js 中实现网络请求的方法与最佳实践包括使用 `vue-resource` 插件。首先,通过命令 `npm install vue-resource --save` 安装该插件,确保添加 `--save` 参数以将依赖项记录到 `package.json` 文件中。此外,推荐使用 `axios` 作为替代方案,因为它提供了更强大的功能和更好的性能。在项目中引入并配置 `axios`,可以实现更高效、灵活的网络请求管理。 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
  • npm 安装出错,求助高手分析原因并提供解决方案 ... [详细]
author-avatar
龙叔君_541
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有