热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

app自动化测试工具环境搭建(airtest)

环境搭建真的一坑又一坑,主要是卡在连ios真机,自以为所有最新版都是没问题的,用了xcode和appnium的最新版,遇到报

环境搭建真的一坑又一坑,主要是卡在连ios真机,自以为所有最新版都是没问题的,用了xcode和appnium的最新版,遇到报错都很百度答案,因为每个版本的问题是不相同的。

下面就是我的搭建过程,还有一些坑点会提到。

顶部图片就是环境搭建后的效果,能连接IOS真机,录制脚本。

以下是在mac电脑的搭建过程,只演示连接IOS真机部分,安卓机暂时忽略。


1、APP自动化测试工具介绍

Airtest Project

 下载后,直接点击安装。


3、安装Xcode

千万不要直接安装最新版本,本人就在最新版这耗费了2天时间,尤其是报错之后很难百度到答案。

看官网的部署说明,如果你的电脑安装的xcode还是<=10.1的旧版本,那可以直接参考官网说明部署ios-Tagent项目(流程略)

首先查看本机系统版本,点击电脑左上角苹果图标——点击关于本机,查看版本,本人是macOS Monterey 12.2.1版本,macOS Monterey 需要使用 Xcode 13,低于13的版本都无法安装了。所以下面直接部署appium的WebDriverAgent

本人试了 最新版本Xcode 13.3,airtest点击连接真机,鼠标都戳烂了都没反应。又试了Xcode 13是可以成功连接的,所以推荐Xcode 13,要是有钻研精神也可以直接安装最新版本。

旧版本xcode下载连接,要先登录苹果开发者中心,没有账号可以先申请。

Sign In - Applehttps://developer.apple.com/download/all/

下载需要一两个小时,需要耐心等待,解压后双击运行安装就可以了。


4、安装appium

下载地址

Releases · appium/appium-desktop · GitHubhttps://github.com/appium/appium-desktop/releases

 

下载后,双击安装就好了。


5、appium-webdriveragent项目配置

找到appium-webdriveragent这个文件,各版本位置可能会不一样,如果我提供的路径找不到,可以搜索下文件。我这个版本appnium的文件路径是: /Applications/Appium\ Server\ GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent

 5.1 打开项目后,更改红框中两个文件的相关信息,team可以使用个人苹果id账号,Bundle identifier需要更改一下,不重复就可以了,我是直接在后面加点后缀。

5.2 更改完成后,手机用数据连接电脑

5.3 点击xcode顶部工具栏的product——Destination,点击自己的手机设备

5.4 点击xcode顶部工具栏的product——Scheme——WebDriverAgentRunner

5.5 点击xcode顶部工具栏的product——Test

运行可能会失败,因为没有信任证书:

5.6 在手机设置,信任证书

5.7 打开手机设置——开发者,开启红框中的选项

5.8 再次运行xcode——product——Test,手机出现下面的图标,且手机屏幕显示Automation Running,则表示真机连接成功。 


6、检查IOS真机连接状态

6.1打开终端,进入appium-webdriveragent 项目目录

cd /Applications/Appium\ Server\ GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent 

6.2 安装libimobiledevice,输入命令

brew install libimobiledevice

6.3 输入命令

iproxy 8100 8100

6.4 浏览器访问http://127.0.0.1:8100/status,看到数据正常返回无报错即为成功。


 7、airtest连接IOS真机

直接点击连接

连接成功后,就是文章顶部第一张图的效果,迈出了成功的一大步。


推荐阅读
  • 在应用开发中少不了界面元素的布局、适配、自适应。之前苹果已经为我们提供了 AutoLayout 和 SizeClasses,方便我们实现页面的自适应弹性布局。但对于一些复杂的交互界 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 说到C语言的语句块,真是一堆血泪史。第一大坑就是优先级。刚工作那会儿,C的书没看几本,自信满满的认为C语言都会了,拿出搞ACM培养的豪情壮志,代码倒是写得爽,却到处留 ... [详细]
  • 读手语图像识别论文笔记2
    文章目录一、前言二、笔记1.名词解释2.流程分析上一篇快速门:读手语图像识别论文笔记1(手语识别背景和方法)一、前言一句:“做完了&#x ... [详细]
  • 对Firefoxios源码的精简Firefox的依赖使用carthage来进行管理,国内的网络是在过于坑爹,相关的依赖包总是无法下载下来,花了两天时间,手动将Firefox所依赖的库导入 ... [详细]
  • imnewtotheswiftandxcodeworld,soimhavingaproblemtryingtointegrateapackagetomypro ... [详细]
  • Xcode离线安装帮助文档1.在线查看帮助文件:Xcode下查看帮助文件,菜单Help-DeveloperDocumentation在右上角搜索框中即可检索,但速度很慢 ... [详细]
  • iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)
    从2月14日开始,上传程序的同学可能会遇到提示上传失败的提示.并且打开自己的钥匙串,发现所有的证书全部都显示此证书签发者无效.出现以下情况:Failedtolocateorgene ... [详细]
  • iOS Xcode汇编模式切换的方法介绍
    一、概念 1.汇编指令:模拟器上运行的是Intel指令,而真机上运行的是arm指令, 2.每条汇编指令的格式总是由: 操作码,操作 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了iOS开发--漫谈内存管理相关的知识,希望对你有一定的参考价值。 ... [详细]
  • linux编写弹球游戏,手把手教你开发一款基于Box2D的弹球游戏(一)
    今天我们来介绍一款物理引擎,并基于它完成一个弹球游戏。提到物理引擎,就是在游戏中模拟真实世界的运动,碰撞,摩擦等等。Coco ... [详细]
  • iOS开发Debug和Release的理解
    2019独角兽企业重金招聘Python工程师标准参考:http:blog.csdn.netmad1989articledetails406580331&# ... [详细]
author-avatar
她们都叫我哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有