如何在iOS手机上进行自动化测试

这篇具有很好参考价值的文章主要介绍了如何在iOS手机上进行自动化测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🍅 视频学习:文末有免费的配套视频可观看

🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快

Airtest支持iOS自动化测试,在Mac上为iOS手机部署iOS-Tagent之后,就可以使用AirtestIDE连接设备,像连接安卓设备一样,实时投影、控制手机。iOS测试不仅限于真机测试,iOS模拟器也可以进行。Mac端上部署完成后还可以提供给同一局域网内的windows上远程连接使用。同时支持airtest图像识别和poco UI检索。

本文介绍iOS自动化测试的部署过程,提供一个简单的测试脚本,列举了iOS测试过程中常见的问题。

功能支持

支持AirtestIDE连接,实时控制 iPhone
支持基本操作如启动app、点击、滑动、输入、截图等等操作
支持控件检索技术Poco和图像识别
自动化脚本录制、一键回放、报告查看等基本功能
支持真机或者模拟器

安装部署

版本需求:

Mac Xcode ≥ 9.3
iPhone iOS ≥ 9.3
在 9.3≤iOS≤10时,由于基于旧版xcode SDK,建议使用Xcode 版本≤10.1来启动iOS-Tagent,否则会出现手机截屏不全的问题。

部署流程

1、在Mac下载 iOS-Tagent ,使用 Xcode 启动 Test, 具体启动过程可参考 https://github.com/AirtestProject/iOS-Tagent 。当Xcode的log窗口输出下图信息的时候,就意味着部署成功了。

如何在iOS手机上进行自动化测试,python,软件测试,自动化测试,单元测试,测试工具,职场和发展,学习


2、启动代理,在命令行下执行iproxy 8100 8100运行代理后,可以在浏览器打开 http://127.0.0.1:8100/inspector ,查看iOS设备是否能成功连接。

iproxy是usbmuxd附带的一个小工具,它的作用是将设备的某个端口映射到电脑的某个端口。mac下可以通过brew安装 brew install usbmuxd。

iproxy 8100 8100意思就是将手机的8100端口,映射到电脑的8100端口上。这样我们就能通过访问电脑的8100端口来访问到手机了。

3、在 AirtestIDE 的设备窗口,输入地址:http://127.0.0.1:8100 或 http://x.x.x.x(MAC IP):8100:

如何在iOS手机上进行自动化测试,python,软件测试,自动化测试,单元测试,测试工具,职场和发展,学习

点击Connect按钮即可连接iOS设备,如图:

支持Xcode中的iOS模拟器

Xcode中的iOS Simulator模拟器部署过程和真机一样,但是可以省略步骤2,不需要另外执行proxy。

当Xcode的log窗口看到下面内容的时候,就可以直接用地址 http://x.x.x.x:8100 进行连接了,也就是log里显示出来的ServerURLHere中的地址:

WebDriverAgentRunner-Runner[xxx:xxx] ServerURLHere->http://x.x.x.x:8100<-ServerURLHere

支持Windows连接

我们同样能够在Windows上连接一个远程的iOS设备,但是依然需要有Mac电脑与Xcode环境。首先按照上文的部署教程在Mac上启动iOS-Tagent之后,不再使用iproxy启动代理,而是改用 wdaproxy。因为iproxy只支持本机端口的映射,而wdaproxy能够支持远程IP映射,这意味着可以在第二部PC上,通过访问ip的方式访问到Mac电脑上连接的iOS设备。

通过brew install openatx/tap/wdaproxy安装好wdaproxy

使用方法与iproxy一致,wdaproxy 8100 8100,或者不填写端口也可以,默认将会使用8100:

如何在iOS手机上进行自动化测试,python,软件测试,自动化测试,单元测试,测试工具,职场和发展,学习

开始测试

1、iOS 的测试和其他设备差不多,支持图像识别和UI检索,下面简单介绍一个iOS测试例子:连接设备
2、点击home键
3、截屏
4、执行滑动操作
5、使用poco点击app Safari
6、使用poco点击浏览器的搜索框,获取焦点
7、在搜索框输入“airtest”
8、在搜索页面往下滑动
9、判断是否存在airtest官网地址

from airtest.core.api import *
from poco.drivers.ios import iosPoco
poco = iosPoco()

auto_setup(__file__)
connect_device("ios:///x.x.x.x:8100")
keyevent("HOME")
snapshot()
swipe(Template(r"tpl1561985939879.png", record_pos=(0.356, -0.174), resolution=(750.0, 1334.0)), vector=[-0.685, 0.0481])

poco("Safari").click()
poco("URL").click()
text("airtest")

poco("People also search for").swipe([-0.0541, -0.4206])
exists(Template(r"tpl1560844284543.png", record_pos=(-0.292, 0.688), resolution=(750, 1334)))

常见问题

如何在模拟器安装应用

把xx.ipa 改成xx.zip,解压得到xx.app
打开模拟器, 在终端运行 xcrun simctl install booted xx.app
tips: 不可以把真机 app 包安装在iOS模拟器上,真机的app是基于arm的,而模拟器是运行在 X86 指令集上的,强行安装会导致闪退的问题。

如何进行iOS多机测试
目前暂未开放iOS多机测试功能,敬请期待

Api 支持状况
请注意,iOS设备与Android设备有很大的不同,以下通用的 Airtest 的 API 在iOS上都是支持的:

start_app: OK
stop_app: OK
snapshot: OK
home: OK
touch: OK
swipe: OK
text: OK
wait: OK
exists: OK
find_all: OK
assert_exists: OK
assert_not_exists: OK
但是以下API是不支持的:

wake: 暂未支持 (考虑用home方法替代)
keyevent: 只支持home 事件
clear_app: 暂未支持
install: 暂未支持
uninstall: 暂未支持

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。文章来源地址https://www.toymoban.com/news/detail-829635.html

到了这里,关于如何在iOS手机上进行自动化测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 如何通过python写接口自动化脚本对一个需要调用第三方支付的报名流程进行测试?

    对于需要调用第三方支付的报名流程进行接口自动化测试,可以通过以下步骤来编写Python代码: 1. 确认API需求 首先,需要确认报名流程的API需求和预期功能。这涉及到对业务需求的理解和API设计的分析。 2. 安装依赖库 在Python程序中,需要安装requests库(用于发送HTTP请求)和

    2024年02月10日
    浏览(68)
  • 使用Python进行自动化测试【第163篇—自动化测试】

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 自动化测试是软件开发过程中不可或缺的一部分,它可以提高测试效率、减少重复工作,并确保软件质量。Python是一种流行的编程语言,有许

    2024年04月17日
    浏览(37)
  • 如何使用IOS自动化测试工具UIAutomation

    这篇文章主要介绍了UIAutomation使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值 第一部分: 熟悉Instruments的UIAutomation. 第二部分: 控件的获取及操作 第三部分: 自定义自动化脚本 xcode中自带的Instuments工具可以用来进行APP的自动化测试, 以及用于进行内

    2024年02月03日
    浏览(66)
  • 基于Python的IOS自动化测试环境搭建

    以下为测试架构原理图 手机端的WDA Runner(WebDriverAgent)类似于appium测试

    2024年02月10日
    浏览(35)
  • 什么是Selenium?如何使用Selenium进行自动化测试?

      Selenium 是一种开源工具,用于在 Web 浏览器上执行自动化测试(使用任何 Web 浏览器进行 Web 应用程序测试)。   等等,先别激动,让我再次重申一下,Selenium 仅可以测试Web应用程序。我们既不能使用 Selenium 测试任何桌面(软件)应用程序,也不能测试任何移动应用程

    2024年02月02日
    浏览(46)
  • 基于k6和python进行自动化性能测试

    摘要: 在性能测试中,达到相应的性能指标对于一个软件来说十分重要,在本文中,将介绍一种现代化性能测试工具k6。 本文分享自华为云社区《基于k6和python进行自动化性能测试》,作者: 风做了云的梦。 当我们开发完成一个应用程序时,往往需要对其进行性能测试,以

    2024年02月10日
    浏览(43)
  • python+selenium进行cnblog的自动化登录测试

    Web登录测试是很常见的测试,手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文就基于python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试,可提供点参考!下面就包括测试代码和每种测试情况的截图。 代码如下: 测试结果如

    2024年02月16日
    浏览(40)
  • Python与Appium实现手机APP自动化测试的示例代码

    本文主要介绍了Python与Appium实现手机APP自动化测试的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 appium是一个开源的测试自动化框架,可以与原生的、混合的和移动的web应用程序一直使用。它使用WebDriver协议驱动IOS(内

    2024年01月24日
    浏览(60)
  • 【测试】Python手机自动化测试库uiautomator2和weditor的详细使用

    1.说明 我们之前在电脑操作手机进行自动化测试,基本上都是通过Appium的,这个工具确实强大,搭配谷歌官方的UiAutomator基本上可以完成各种测试,但缺点也很明显,配置环境太麻烦了,需要jdk、sdk等,后来有人在UiAutomator的基础上使用http请求rpc服务的方式做了一个uiautomato

    2024年02月09日
    浏览(54)
  • 【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,学习模拟鼠标+模拟键盘进行相关操作(精)(四)

    1、了解元素交互的常用方法 2、学习如何对多选元素进行操作 3、 学习模拟鼠标进行相关操作 ( 本节目标 ) 4、 学习模拟键盘进行相关操作 ( 本节目标 ) 用于向 Web 浏览器提供虚拟化设备输入操作的低级接口.除了刚刚讲过的Web元素交互之外, Actions 接口 还提供了对指定输

    2024年03月24日
    浏览(84)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包