博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置
阅读量:5278 次
发布时间:2019-06-14

本文共 3304 字,大约阅读时间需要 11 分钟。

 

在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:《》

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

参考我的另一篇文章:

《》homebrew安装及解决问题办法

npm因为是安装node.js自带的所以参考《》

②安装依赖库: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

下面的①②参考我的另一篇文章,里面有详细步骤,在这里只是简述:《》

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

2)执行端口转发:

$ iproxy 8100 8100

浏览器输入: ,确认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下载地址:(因为我的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版本,参考:

《》

 》

③其他相关参考资料为:

《》这篇文章引申出下面的两个文章

《》

《》

《》

(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,解决文章如下:

》最后一段解决此问题。

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

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

《》

(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”

解决此问题文章参考:《》

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

(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之后,可以打开检查器了。终于熬出来了!!!

 

二、参考文章

《》*

《 》

《 》

《》

《》

转载于:https://www.cnblogs.com/Owen-ET/p/9953540.html

你可能感兴趣的文章
Ztree异步树加载
查看>>
关于IE和火狐,谷歌,Safari对Html标签Object和Embed的支持问题
查看>>
poj3320 Jessica's Reading Problem(尺取思路+STL)
查看>>
分布式计算开源框架Hadoop介绍
查看>>
安卓平台接口剖析
查看>>
坏的事情不都会带来坏的结果
查看>>
RPC的基础:调研EOS插件http_plugin
查看>>
第二次团队冲刺第二天
查看>>
bzoj 2257 (JSOI 2009) 瓶子与燃料
查看>>
11)Java abstract class 和 interface
查看>>
使用xrdp或Xmanager 远程连接 CentOS6
查看>>
Linux误删恢复
查看>>
Unity调用Windows窗口句柄,选择文件和目录
查看>>
HashMap循环遍历方式
查看>>
React Native 入门 调试项目
查看>>
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>