在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:《【Mac + Appium学习(一)】之安装Appium环境前提准备

一、安装IOS自动化测试环境

配置环境:

  • Appium version :1.9.1
  • Appium-desktop:1.7.1
  • Xcode:10.0
  • iPhone5S:IOS(10.3.3)
  • Mac:10.13.6

1、安装类库

①安装Homebrew、npm

参考我的另一篇文章:

【Mac + Python】苹果系统之安装Python3.6.x环境》homebrew安装及解决问题办法

npm因为是安装node.js自带的所以参考《【Mac + Appium学习(一)】之安装Appium环境前提准备

②安装依赖库:libimobiledevice、ios-deploy

brew install libimobiledevice --HEAD 

但是报错:

Warning: libimobiledevice HEAD-26373b3_2 is already installed and up-to-date
To reinstall HEAD_3, run `brew reinstall libimobiledevice`

执行下面命令就可以了:

brew reinstall libimobiledevice

安装ios-deploy

sudo npm install -g ios-deploy --unsafe-perm=true

如果执行sudo npm install -g ios-deploy --unsafe-perm=true报错,则执行sudo xcode-select --switch/Applications/Xcode.app/Contents/Developer/

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

③appium-doctor 安装

npm install appium-doctor -g

④安装完成后执行:

appium-doctor –ios

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

2、更新Appium中的WebDriverAgent

下面的①②参考我的另一篇文章,里面有详细步骤,在这里只是简述:《【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(一):WebDriverAgent安装

1)配置完出现下面控制台信息则正确,具体参考上面的文章:

2)执行端口转发:

$ iproxy 8100 8100

浏览器输入:http://localhost:8100/status ,确认WDA是否运行成功,不多描述参考上面文章。

  • 进入到Appium中的WebDriverAgent目录,目录路径如下/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/
  • 将自己下载并编译后的WebDriverAgent替换Appium原有的WebDriverAgent

进入到Appium/Appium-desktop中的appium-xcuitest-driver目录,目录路径如下

/Applications/Project/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/

将自己下载并编译后的WebDriverAgent替换Appium/Appium-desktop原有的WebDriverAgent

=================================================

因为我安装的是appium-desktop软件,所以我会以它为主线来讲解。

下载AppiumDesktop参考下面:

Appium-Server下载地址:https://github.com/appium/appium-desktop/releases(因为我的Xcode是10.0版本,所以下载1.7.1版本的桌面程序,支持appium1.9.1,不然会提示下面的错误)

=================================================

3)打开appium-desktop桌面程序,配置完参数后,启动session

(1)第一次报错:

An unknown server-side error occurred while processing the command. Original error: Xcode version '0.0'. Support for Xcode 0.0 is not supported. Please upgrade to version 7.3 or higher

########sudo xcode-select --switch /Applications/Xcode.app

解决办法有两个种:

①经查询得知是Xcode10.0版本对应appium1.9.0+版本,对应的appium-desktop版本为1.7.1。(我选择这个)
②或者降低Xcode版本,参考:

将Xcode升级到10.0以上版本,Appium启动报错的问题

Appium 今天产品需要,更新到了 Xcode 10,发现 appium 不能正确识别 Xcode 版本了,识别为 0 了,如何解决?

③其他相关参考资料为:

appium ios 真机自动化环境搭建》这篇文章引申出下面的两个文章

Xcode version '0.0'. Support for Xcode 0.0 is not supported.#10810

Can't run tests with Xcode 10.0 #229

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

(2)再一次运行后,又报错:

Original error: '10.3.3' does not exist in the list of simctl SDKs. Only the following Simulator SDK versions are available on your system: 12.0

经过查询得知,是因为没有10.3版本的SDK,解决文章如下:

2018-02-07Appium1.3.2-IOS11-Xcode9.2+Mac10.12.6+Python环境搭建过程》最后一段解决此问题。

打开我的Xcode => Preference => Components中没有10.3版本,下载了之后就解决了。

并且我在appium的issue提交了问题并已解决:

【solved】Original error: '10.3' does not exist in the list of simctl SDKs. Only the following Simulator SDK versions are available on your system: 12.0 #11681

(3)第三次运行,还是报错:

Original error: Could not create simulator with name 'appiumTest-iPhone5s', device type id 'iPhone5s' and runtime id '10.3.1'. Reason: 'simctl error running 'create': Invalid device type: iPhone5s'

后经查询得知,是我的参数名称起错了,应该是“udid”,不是“Udid”

解决此问题文章参考:《Appium1.6启动iOS真机

=====================================

(4)扩展:接下来仔细说一说appium-desktop设置的参数如下:

总体参数解释如下:

再加上自启动WDA的参数配置:

完整参数如下:

{
"platformName": "iOS",
"platformVersion": "10.3.1",
"deviceName": "iPhone5s",
"bundleId": "com.chen.CityMineSafetyOne",
"AutomationName": "XCUITest",
"udid": "42ebab931b6b2d6a140b1a4f5bd55305dbfe2ff0",
"NewCommandTimeout": "3600",
"useNewWDA": true
}

个别参数获取方法:

(一)快速查看连接Mac电脑的IOS设备号udid,有以下几种方法:

①直接输入命令行:
idevice_id -l
②打开iTunes软件

③打开Xcode

(二)bundleId可通过命令获取:

ideviceinstaller -l

至此运行session之后,可以打开检查器了。终于熬出来了!!!

二、参考文章

appium ios 真机自动化环境搭建》*

mac下Appium环境配置

Appium 在 MAC 上搭建 appium1.6.3 过程

Appium macOS 下的 Appium 安装与配置 Appium Installation & Setup With macOS

Mac 下 appium 自动化测试iOS 测试配置和脚本编写(二)

appium mac 下 安装及踩坑

【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置的更多相关文章

  1. 【Mac + Appium + Python3.6学习(四)】之常用的IOS自动化测试API总结

    环境: Appium:1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Mac:10.13.6 ①获取手机屏幕size:长.宽 &l ...

  2. 【Mac + Appium + Python3.6学习(二)】之Android自动化测试,appium-desktop配置和简易自动化测试脚本

    上一篇文章介绍安装appium测试环境,这一片研究介绍如何测试Android自动化. 上一篇地址:<[Mac + Appium学习(一)]之安装Appium环境> 这一篇参考:<Ma ...

  3. 【Mac + Appium + Python3.6学习(六)】之安装Android模拟器(Genymotion)并运行模拟器进行自动化

    环境: MacOS:10.13.6 Virtualbox:5.2.22 Genymotion:genymotion-2.12.2 本文Virtualbox.Genymotion下载地址: 链接:htt ...

  4. 【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结

    Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text ...

  5. Java开发学习(三十七)----SpringBoot多环境配置及配置文件分类

    一.多环境配置 在工作中,对于开发环境.测试环境.生产环境的配置肯定都不相同,比如我们开发阶段会在自己的电脑上安装 mysql ,连接自己电脑上的 mysql 即可,但是项目开发完毕后要上线就需要该配 ...

  6. mac上搭建appium+IOS自动化测试环境(一)

    阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...

  7. mac上搭建appium+IOS自动化测试环境(二)

    上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...

  8. Blackey win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置(转载)

    win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置   写在前面的话: 再弄这个之前,我对python也好 ...

  9. ios开发环境配置及cordova安装与常用命令

    一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...

随机推荐

  1. Wait statistics, or please tell me where it hurts

    https://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/ By: Paul Rand ...

  2. Telnet环境变量

    转:http://www.cnpaf.net/Class/Telnet/200408/2.html 当前位置: 网站首页>>协议大全>>TELNET协议>> Tel ...

  3. mormot数据库连接+查询+序列为JSON

    mormot数据库连接+查询+序列为JSON uses SynDB,SynCommons, SynDBRemote, SynOleDB, SynDBMidasVCL, mORMotMidasVCL p ...

  4. TSQLDBServerHttpApi一个使用HTTPS.SYS内核的数据库服务端控件

    TSQLDBServerHttpApi一个使用HTTPS.SYS内核的数据库服务端控件 在WINDOWS操作系统,TSQLDBServerHttpApi使用HTTPS.SYS作为通信内核,而HTTPS ...

  5. 【spring data jpa】jpa中使用in查询或删除 在@Query中怎么写 ,报错:org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'goodsConfigUid' cannot be found on null 怎么处理

    示例代码如下: @Modifying @Transactional @Query("delete from GoodsBindConfigMapping gbc " + " ...

  6. cs-Panination

    ylbtech-Unitity: cs-Panination Pager.cs IPagingOption.cs IPagedList.cs PagingOption.cs PagedList.cs ...

  7. Solr学习、安装与Quick Start

    之前用Lucene进行了一些简单的例子,现在安装Solr学习一下. 在mac下,貌似可以直接brew install solr来进行安装.尝试一下. 貌似安装成功了: ==> Summary

  8. HDU 2604 Queuing(矩阵高速幂)

    题目地址:HDU 2604 这题仅仅要推出公式来,构造矩阵就非常easy了.问题是推不出公式来..TAT.. 从递推的思路考虑.用f(n)表示n个人满足条件的结果.假设最后一个是m则前n-1人能够随意 ...

  9. 安装Python的机器学习包Sklearn 出错解决方法

    1 首先须要安装Cython.网上下载后进行本地安装 python setup.py install 2 下载Sklearn包,https://pypi.python.org/pypi/scikit- ...

  10. Selenium webdriver Java 高级应用

    对于这一段还蛮有感慨的,只想说,代码还是需要自己去敲的. 1. 改变用户代理 import org.junit.AfterClass; import org.junit.BeforeClass; im ...