一文带你趟过mac搭建appium测试环境的遇到的坑
做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 updatebrew 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测试环境的遇到的坑的更多相关文章
- 『与善仁』Appium基础 — 14、Appium测试环境搭建
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...
- Mac 搭建 SVN 服务器环境
Mac 搭建 SVN 服务器环境 一.创建svn repository svnadmin create /path/svn/pro //仓库位置,svn是svn的目录,pro是一个版本库的目录 PS: ...
- Mac搭建svn服务器环境
Mac搭建svn服务器环境 svn是Subversion的简称,是一个开放源代码的版本控制系统, Mac系统自带了svn的服务端和客户端功能, 因此不需要下载第三方软件,就可以支持svn进行版本的管控 ...
- Mac搭建C语言环境
Mac搭建C语言环境 创建一个工程目录 /Users/chennan/cproject 配置sublime运行环境 打开sublime text3,通过下面的步骤一次点击 Tools(工具)-> ...
- 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Docker-教你如何通过 Docker 快速搭建各种测试环境
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...
- 使用XAMPP和DVWA在Windows7上搭建渗透测试环境
前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...
- 使用WampServer和DVWA在Windows10上搭建渗透测试环境
前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...
- 使用Rancher搭建K8S测试环境
使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...
随机推荐
- python中圆周率的计算
蒙特卡罗方法计算圆周率 蒙特卡罗方法是一个撒点方法,取一个正圆的四分之一,和一个正方形的四分之一 形成一个单位方形,单位四分之一圆和四分之一正方形之比,就构成了圆周率 向这个区域撒点,如果点落在圆内部 ...
- 2.JAVA自带的序列化反序列化机制
- MySQL的共享锁阻塞会话案例浅析输入日志标题
这是问题是一个网友遇到的问题:一个UPDATE语句产生的共享锁阻塞了其他会话的案例,对于这个案例,我进一步分析.总结和衍化了相关问题.下面分析如有不对的地方,敬请指正.下面是初始化环境和数据的 ...
- gRPC-go 入门(1):Hello World
摘要 在这篇文章中,主要是跟你介绍一下gRPC这个东西. 然后,我会创建一个简单的练习项目,作为gRPC的Hello World项目. 在这个项目中,只有很简单的一个RPC函数,用于说明gRPC的工作 ...
- 面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)
写在前面 最近面试跳槽的小伙伴有点多,给我反馈的面试情况更是千差万别,不过很多小伙伴反馈说:面试中的大部分问题都能够在我的公众号[冰河技术]中找到答案,面试过程还是挺轻松的,最终也是轻松的拿到了Off ...
- Spring学习(三)--Spring的IOC
1.BeanFactory和FactoryBean BeanFactory是一个接口类,定义了IOC容器最基本的形式,提供了IOC容器所应该遵守的基本服务契约. FactoryBean是一个能产生或者 ...
- Python-获取等差数列
获取等差数列思路 1. 通过range步长 2. 通过切片步长 # 通过 range series = [i for i in range(1, 101, 2)] print(series) # 通过 ...
- 工作流引擎Activiti与SpringBoot2整合--开源软件诞生17
开源ERP技术整合系列--第17篇 用日志记录"开源软件"的诞生 [点亮星标]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redragon/r ...
- Layman ThinkPHP 中 where条件 or,and 同时使用
Eg:('a'=1 and 'b'=2) or ('c'=3 and 'd'=4) and 'e'=5 解决方法 $condition1['a'] = 1; $condition1['b'] = 2; ...
- spring-boot-route(六)整合JApiDocs生成接口文档
上一篇文章中介绍了使用Swagger生成接口文档,非常方便,功能也十分强大.如果非要说Swaager有什么缺点,想必就是注解写起来比较麻烦.如果我说有一款不用写注解,就可以生成文档的工具,你心动了吗? ...