2023主流技术 Appium+IOS 自动化测试环境搭建

这篇具有很好参考价值的文章主要介绍了2023主流技术 Appium+IOS 自动化测试环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于Appium for IOS

Appium是目前最主流的app自动化测试技术,能够同时支持IOS、Android平台上的移动应用自动化测试,能支持众多语言,包括:Java、Python、Ruby、JavaScript等;并且Appium是开源免费使用的。

目前网上的关于Appium的学习教程绝大多数以Android为主,关于IOS端的比较少,而且很多教程年久失修,已经不再适用于目前的Appium版本了。希望能通过这篇文章解决大家的IOS App自动化环境搭建的问题。

关于WebDriverAgent

WebDriverAgent是Facebook开发的IOS端自动化测试工具,在Github上开源: 

https://github.com/facebookarchive/WebDriverAgent

Appium项目采用WebDriverAgent作为IOS端App自动化的引擎(类似于Android平台上的UIAutomator作用),WebDriverAgent通过在IOS端实现了WebDriver协议能够远程控制IOS设备,通过它能够进行启动、杀死应用,点击或者滚动等操作。

WebDriver协议

  • WebDriver是一套基于HTTP协议的JSON格式规范,因为Android、IOS、web网页端都有自己的UI操作实现逻辑,所以需要统一的规范能够对这些平台进行操作来屏蔽平台的差异。通过WebDriverAgent我们可以通过相同的API来对这些平台进行自动化操作,比如我们熟悉的Selenium、Appium都是实现了WebDriver协议。

在Appium和IOS系统迭代发展过程中,Appium并不是一直使用WebDriverAgent作为IOS端的自动化测试引擎。

  • 在IOS 9之前使用UIAutomation作为自动化引擎,该引擎有许多缺陷,比如只能在单台Mac电脑上测试单台设备

  • IOS 9.3使用了XCUITest

  • IOS 9.3之后Appium就开始采用WebDriverAgent方案了

需要注意的是:目前官方Facebook已经没有在维护WebDriverAgent了,所以如果使用Facebook的WebDriverAgent有可能不适配后续的IOS版本及Appium

https://github.com/facebookarchive/WebDriverAgent

Appium项目有内置了WebDriverAgent,而且也在同步修复BUG更新中,所以强烈建议使用Appium内置的WebDriverAgent :

https://github.com/appium/WebDriverAgent

环境部署

环境说明

Mac版本:macOS Monterey 12.4(intel平台)

Xcode版本:V13.4.1

Appium版本:V1.22.3

基础依赖环境

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386      

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

1、Xcode

Xcode是Mac OS平台上的集成开发工具(IDE),用来开发Mac OS应用和IOS移动端应用,在Appium for IOS环境搭建时需要通过Xcode编译WebDriverAgent运行在设备中。Xcode安装比较简单,直接在Apple Store里面搜索下载安装即可。

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

2、Homebrew

Homebrew是Mac平台的软件管理软件,它可以使我们更加容易安装一些其他软件,仅需要执行简单的安装命令,就能下载安装所需要的软件,省去了下载、解压、拖拽等繁琐的步骤。

官方提供了Homebrew的安装命令,但是因为国内网络的问题导致不能成功

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

通过镜像安装方式:​​​​​​​(推荐使用中科大的镜像源)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

3、Carthage

Carthage用来管理项目依赖, 类似于 Java 中的 Maven;后面编译WebDriverAgent项目时就需要用到它​​​​​​​

brew install carthagecarthage version

4、ios-deploy

ios-deploy一个不需要用Xcode安装和调试应用的命令行工具。需要一个有效的开发者证书,需要 Xcode 7以上的版本。终端输入命令进行安装:

brew install ios-deploy

5、ideviceinstaller

ideviceinstaller是一个与iOS设备的installation_proxy交互的工具,允许安装、升级、卸载、存档、还原和列举已安装或存档的app。此工具用于在真机上运行测试,默认是都安装的。

brew install ideviceinstaller

6、libimobiledevice

libimobiledevice是一个跨平台的软件库 ;不依赖任何已有的私有库,不需要越狱。应用软件可以通过这个开发包轻松访问设备的文件系统、获取设备信息,备份和恢复设备,管理 SpringBoard 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息​​​​​​​

#安装最新版本libimobiledevicebrew install libimobiledevice --HEAD

 Appium环境

1、Node&npm

Node是一个javascript运行时环境,npm是节点包管理器。我们需要这些,因为Appium是一个node应用程序。

brew install node

2、Appium

Appium提供了Appium Desktop(桌面版)和Appium Server命令行版本两种安装方式,前者有带了图形化界面,后者是纯命令行方式。两种方式任选其中一种即可。

2.1、Appium Desktop

下载地址:

https://github.com/appium/appium-desktop/releases 

需要注意的是,从Appium Desktop V1.22.0版本开始,Appium Desktop内置的检查器(一个可以用来获取页面元素信息的工具)已经被移除掉了,成为了一个单独的程序。

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

下载安装过程非常简单,这里我们一般选择新版本就好了。

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

2.2、Appium Server命令行版本

Appium server通过npm可以下载管理

npm install -g appium

默认将会安装最新版本,如果需要指定版本,通过以下命令:

npm install -g appium@1.7.2

 检查appium版本

appium -v

 启动appium服务

# -a参数:设置appium工作地址
# -p参数,设置appium工作端口号
appium -a 127.0.0.1 -p 4723

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

3、安装Appium doctor

Appium doctor可以用于检测Appium所需要的依赖环境是否是成功的

npm install appium-doctor -g
#检测iOS环境是否安装成功
appium-doctor --ios

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

necessary dependcies 必须全部是打勾状态 ,可选部分依赖可以不用全部安装。

4、安装Appium inspector

前面有提到过,新版本Appium Desktop(从V1.22.0版本开始)已经将Appium inspector(检查器)工具移除了,所以如果想要使用检查器工具我们需要额外再下载Appium inspector:

https://github.com/appium/appium-inspector/releases

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

下载完之后直接安装dmg文件即可。

配置运行WebDriverAgent

前面我们说过WebDriverAgent是Appium测试IOS应用的自动化引擎,新版本Appium和IOS最好使用Appium内置的WebDriverAgent,当Appium(Appium桌面版或者命令行版本)安装好之后我们可以使用Xcode来编译运行WebDriverAgent。

对于Appium命令行版本,WebDriverAgent在

/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/  路径下

对于Appium桌面版本,WebDriverAgent在

/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent  路径下

这里以命令行版本为例

点击WebDriverAgent.xcodeproj使用Xcode打开WebDriverAgent工程:

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

配置WebDriverAgent

第一次配置需要创建开发者账号

选择 WebDriverAgentLib->Signing & Capabilities,输入 apple id 和密码

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

之后点击Download Manual Profiles,再点击 Manage Certificates

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

添加证书:

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

之后回到Xcode工具的Signing & Capabilities再选择刚才添加好的Team:

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

还需要配置WebDriverAgentRunner,在 Team 中同样选择即可:

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

运行WebDriverAgent

选择

Product->Scheme->WebDriverAgentRunner

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

Destination 中选择要测试的设备,这里我选择的是一台iphone8 15.5的模拟器,当然你可以选择其他的设备进行测试

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

最后点击 Product->Test,经过编译运行成功之后,会启动模拟器并且在模拟器中安装一个无图标的 WebDriverAgent 应用,启动了 WebDriverAgent 应用之后又会返回到桌面。并且可以在 Xcode 控制台日志中看到有 ServerURLHere 提示

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

在浏览器中输入ServerURLHere中间的http://IP地址:端口/status,出现如下提示则表示WebDriverAgent安装配置成功并准备好接收请求了。

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

准备IOS测试app

很多小伙伴在学习阶段没有ios的app测试包可供使用,这里我们可以用appium官方提供的ios-uicatalog这个demo项目

https://github.com/appium/ios-uicatalog

 该demo项目里面包含了一些操作示例,比如滑动、webview元素、输入、点击操作,我们可以用它来练习IOS自动化

1、克隆项目代码到本地


git clone https://github.com/appium/ios-uicatalog.git

2、运行项目

使用xcode打开项目目录下的UICatalog.xcodeproj文件,直接点击运行按钮,之后会在设备中安装UICatalog应用

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

Appium inspector识别页面元素

借助Appium检查器工具,我们可以识别app页面元素信息辅助编写自动化测试脚本,将之前安装好的appium检查器工具启动(需要注意的是:使用检查器工具之前需要将appium服务启动)

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios


配置说明:

Remote Host:appium服务工作ip地址

Remote Port:appium服务工作端口号

Remote Path:appium访问地址,默认都是为/wd/hub这个节点

Desired Capabilities(所需能力)配置

platformName:测试平台

platformVersion:系统版本

deviceName:设备名

udid:设备唯一标识符

bundleId:测试app的唯一标识,类似于android应用的包名

说明:在填写所需能力配置时,不需要加前缀:appium:,当保存配置之后,检查器工具会自动为我们加上。

udid参数值如何获取?

选择xcode工具栏上面的Window->Devices and Simulators,选中对应设备即可看到udid

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

bundleId参数值如何获取?

打开Xcode,对应项目工程中选择General即可看到

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

参数填写完毕记得保存下,否则下次重新启动appium检查器需要重新填写,点击Start Session启动回话,之后可以通过该工具获取app页面元素信息了。

appium ios,appium,服务器,linux,gitlab,测试工具,python,ios

 文章来源地址https://www.toymoban.com/news/detail-672385.html

到了这里,关于2023主流技术 Appium+IOS 自动化测试环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度解析appium自动化测试,掌握移动端测试的最新技术,从此告别繁琐手工测试

    目录 一、什么是appium? 二、appium的使用场景 三、appium的基础知识 四、appium代码示例

    2024年01月19日
    浏览(56)
  • Appium+Python+Pytest+Allure+Git+Node+Jenkins+Xcode IOS自动化测试从0到1落地

    由于IOS系统比Android系统相对封闭,所以进行IOS自动化测试也是相对复杂,不过大家不用担心,小编已经帮你们踩了大部分坑,网上大部分文章都是CV过来的,没有真正的从0到1落地,我们需要具备开源精神,只为让更多的小伙伴们少走弯路,欢迎大家在留言区评论交流! *ma

    2024年02月05日
    浏览(78)
  • IOS + Appium自动化教程

    项目闲置下来了,终于抽空有时间搞自动化了,看了下网上的教程基本通篇都是android自动化的介绍 ,ios自动化方面的内容网上简介的少之可怜。由于本人对ios自动化也是第一次做,甚至对苹果电脑的使用都不太熟悉,花了大概一周时间粗略的看下ios开发知识,网上随手下载

    2024年02月15日
    浏览(46)
  • tidevice+appium在windows系统实施iOS自动化

    之前使用iOS手机做UI自动化都是在Mac电脑上进行的,但是比较麻烦,后来看到由阿里开源的tidevice工具可以实现在windows上启动WDA,就准备试一下,记录一下过程。 tidevice的具体介绍可以参考一下这篇文章:tidevice 开源:不依赖 Xcode 也能启动 WDA · TesterHome https://testerhome.com/top

    2024年02月13日
    浏览(52)
  • 【iOS免越狱】利用IOS自动化web-driver-agent_appium-实现自动点击+滑动屏幕

    1.目标 在做饭、锻炼等无法腾出双手的场景中,想刷刷抖音 刷抖音的时候有太多的广告 如何解决痛点 抖音自动播放下一个视频  iOS系统高版本无法 越狱 安装插件 2.操作环境 MAC一台,安装 Xcode iPhone一台,16 系统以上最佳  3.流程 下载最新 web-driver-agent_appium xcode 打开  配置

    2024年02月08日
    浏览(42)
  • App自动化测试|Appium+Python自动化测试环境搭建

    搭建过程步骤如下: 安装jdk并配置好环境变量(jdk版本1.8以上) 安装android-sdk并配置好环境变量;具体步骤见:Android Studio安装(推荐使用这种方法安装SDK) - 环境配置 - 测试人社区 安装安卓模拟器 安装node.js(官网下载安装最新版本) ;下载地址:下载 | Node.js 中文网 找到wind

    2024年02月12日
    浏览(51)
  • Appium 自动化测试

    1.Appium介绍 1,appium是开源的移动端自动化测试框架; 2,appium可以测试原生的、混合的、以及移动端的web项目; 3,appium可以测试ios,android应用(当然了,还有firefoxos); 4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上; 2.Appium基本原理 在Android端,appium基于We

    2024年02月01日
    浏览(48)
  • Appium自动化(15) - 针对 webview 进行自动化测试

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! WebView是android中一个非常重要的控件 它的作用是用来展示一个web页面

    2024年04月10日
    浏览(56)
  • appium+python自动化测试

    1、aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity 2、在android-sdk里面双击SDK-manager,下载buidl-tools 3、勾选build-tools,随便选一个版本,我这里选的是24的版本 4、下载完成后:在D:androidsdkandroid-sdk-windowsbuild-tools24.0.0目录下找到aapt.e

    2024年02月10日
    浏览(45)
  • 【python+appium】自动化测试

    python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结。 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包