做UI自动化,最难的一步就是在环境搭建上,怎么去搭建一个UI自动化测试的环境,会难住很多人,在Mac上搭建appium如何搭建呢,本文带着大家去领略如何在mac上搭建appium测试环境。下面就是详细的搭建的过程。

如果没有安装过Homebrew,先安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果没有安装npm,

brew install node

然后安装

>npm install -g appium          >npm install wd
安装依赖库brew install libimobiledevice 如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploynpm install -g ios-deploy  #如果是iOS10以上的系统才需要安装
appium-doctor 安装npm install appium-doctor -g

安装后执行

appium-doctor --ios

可以查看与iOS相关配置是否完整,下图是全部配置都成功,如果有那一项是打叉的,则进行安装就可以了。

错误 Error running xcrun simctl

解决方案

解决方法:打开Xcode软件选中 Xcode>preferences>Locations里面,设置之后再重新运行检查命令即可。

Carthage was NOT found!

这个问题是在你检验Appium配置是否成功的时候出现,解决这个问题比较简单,安装这个Carthage就好了,方法:

brew update brew install carthage

然后在执行命令查看

我们就继续安装缺少的依赖

npm -g install opencv4nodejs

mjpeg-consumer cannot be found . 解决

npm i -g mjpeg-consumer

idb and idb_companion are not installed解决

命令如下:

brew tap facebook/fbbrew install idb-companion

applesimutils cannot be found 解决

brew tap wix/brewbrew install applesimutils

ios-deploy cannot be found解决

npm install -g ios-deploy

set-simulator-location is not installed 解决

brew install lyft/formulae/set-simulator-location

成功后如下

这样代表安装成功

然后启动appium

报错解决

 npm install sqlite3 --save

执行appium

appium

启动成功

如何创建模拟器

然后我们打开xcode

启动完毕后,我们选择


环境已经完成了,接下来,我们去要获取页面的定位的元素,我们要怎么去获取呢,appium自身带了一套元素定位的,那么我们看看怎么去启动呢,下面就是详细的教程

我们在测试中需要查看设备id,我们可以执行

instruments -s devices

获取启动的设备的id。

打开我们的测试项目,我们可以看到app的位置

然后我们启动appium客户端

​然后点击获取去获取定位信息

我们这里需要根据我们的需求进行配置

{  "platformName": "ios",  "platformVersion": "13.3",  "app": "/Users/lileilei/Library/Developer/Xcode/DerivedData/UICatalog-colpyngrlfupoaczwktkidiolojp/Build/Products/Debug-iphonesimulator/UICatalog.app",  "automationName": "XCUITest",  "udid": "6A367568-AE13-49A0-BEE2-3B1AD623AB3E",  "deviceName": "iPhone 11 Pro Max"}

  


点击启动

既可以等待,打开后界面如下

然后根据我们的选择去定位我们的想要操作的app的界面的元素即可,接下来,我们就是去编辑对应的脚本​。开展UI自动化​。


​    ​自动化测试难的第一步,难在了自动化测试环境的搭建,我们完成了自动化测试环境的搭建,元素的定位,接下来,我们就可以轻松上手ios​ 自动化了。

​    ​UI自动化测试的第一个难点就是环境搭建,无论是IOS系统还是安卓系统,搭建环境是大家入行第一个门槛。跨过去,就是柳暗花明的又一春。

欢迎大家关注我的测试的公众号

一文带你趟过mac搭建appium测试环境的遇到的坑的更多相关文章

  1. 『与善仁』Appium基础 — 14、Appium测试环境搭建

    目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...

  2. Mac 搭建 SVN 服务器环境

    Mac 搭建 SVN 服务器环境 一.创建svn repository svnadmin create /path/svn/pro //仓库位置,svn是svn的目录,pro是一个版本库的目录 PS: ...

  3. Mac搭建svn服务器环境

    Mac搭建svn服务器环境 svn是Subversion的简称,是一个开放源代码的版本控制系统, Mac系统自带了svn的服务端和客户端功能, 因此不需要下载第三方软件,就可以支持svn进行版本的管控 ...

  4. Mac搭建C语言环境

    Mac搭建C语言环境 创建一个工程目录 /Users/chennan/cproject 配置sublime运行环境 打开sublime text3,通过下面的步骤一次点击 Tools(工具)-> ...

  5. 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  6. Docker-教你如何通过 Docker 快速搭建各种测试环境

    今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...

  7. 使用XAMPP和DVWA在Windows7上搭建渗透测试环境

    前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...

  8. 使用WampServer和DVWA在Windows10上搭建渗透测试环境

    前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...

  9. 使用Rancher搭建K8S测试环境

    使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...

随机推荐

  1. 必须了解的mysql三大日志-binlog、redo log和undo log

    日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息.mysql日志主要包括错误日志.查询日志.慢查询日志.事务日志.二进制日志几大类.作为开发,我们重点需要关注的是二进制日志( ...

  2. 3.Channel详解

  3. docker zookeeper 集群搭建

    #创建集群目录 mkdir /opt/cluster/zk cd /opt/cluster/zk #清理脏数据[可跳过] docker stop zk-2181 docker stop zk-2182 ...

  4. pwnable.kr-shellshock-witeup

    思路是:发现文件执行没什么好反馈显示结果的,于是看文件和权限,通过bash文件猜测可能存在破壳漏洞(CVE-2014-6271)漏洞,于是利用它并结合文件权限成功获得flag. 通过scp下载文件至本 ...

  5. 基于C#的内网穿透学习笔记(附源码)

    如何让两台处在不同内网的主机直接互连?你需要内网穿透!          上图是一个非完整版内外网通讯图由内网端先发起,内网设备192.168.1.2:6677发送数据到外网时候必须经过nat会转换成 ...

  6. 性能测试Jmeter安装

    一. Jmeter下载地址: http://jmeter.apache.org/download_jmeter.cgi   二. JDK下载地址: https://www.oracle.com/tec ...

  7. Python-在不在判断 in 和 in判断协议- in __contains__

    in 判断元素是否在序列中, 可以查看 in == is 区别 __contians__ 如果是对象则调用对象中的 __contains__方法 class BeiMenChuiXue: def __ ...

  8. Python-序列切片原理和切片协议-[start:end:step] __getitem__

    切片原理图(顾头不顾尾的正则原理) # [0:1] 其实只取到C, 取e则 [-1:], 如果步长为负数则倒过来取,从第几个往回取 name = "ChuiXue" print(n ...

  9. 放弃"指针常量"这种不严谨的中文描述!深度理解数组名、指针常量

    ques1: 数组名完全等价于指针常量吗? int array[10] = { 10,11,12,13,14,15 }; printf("sizeof(array)= %d \n" ...

  10. 01 学习人工智能,不做笔记?做笔记不知道如何输入数学公式?“onenote+Mathematics Add-In”拯救你!onenote安装数学输入公式插件Microsoft Mathematics Add-In for Word and OneNote教程走一波

    一.Microsoft Mathematics Add-In 插件下载 Microsoft Mathematics Add-In for Word and OneNote插件下载链接: https:/ ...