码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 自动化测试初探

时间:2020-12-08 12:09:47      阅读:11      评论:0      收藏:0      [点我收藏+]

标签:rac   启动   端口   apple   ali   最大的   hone   如何   roi   

技术图片

很多读者都知道,之前的文章都是针对 Android 端的自动化操作。原因很简单,安卓用户群更广,系统更开放,使用更方便便捷。

今天,我们来试试 iOS 端如何使用 Airtest 完成自动化操作。

Airtest 要在 iOS 端完成自动化,需要在 Mac OSX 装上最新版本的 Xcode、iphone 系统也更新到最新版本,最后准备一个 Apple ID 账号。

使用 git 下载官方提供的 iOS-Tagent 项目源码,然后用 Xcode 打开项目,然后在 Xcode 配置文件中登录开发者账号为 Apple ID,最后为项目设置开发者证书,具体步骤可以文章底部阅读原文获取。

Xcode 设置运行方式为 WebDriverAgentRunner,手机通过数据线连接 Mac,然后将连接目标 Destination 选中为真机,最后以 Test 测试模式启动项目。
技术图片

官方推荐使用 iproxy 把 iphone 端口映射到 Mac 端口,经过反复测试后发现,使用 mobiledevice 设置代理更稳定。

安装 mobiledevice 软件后,加上 8100 端口设置代理服务。

# 将代理映射工具换成 mobiledevice
brew install mobiledevice

# 开启服务
mobiledevice tunnel 8100 8100

在浏览器中打开 http://127.0.0.1:8100/inspector,如果能看到手机界面,就说明服务开启成功
技术图片

打开 Airtest IDE 利用默认的设置连接设备,然后新建一个 .air 脚本文件,Poco 辅助窗选择目标平台为 iOS,这样编辑器内会自动生成一段脚本文件。
技术图片

将生成的代码拷贝到 Pycharm 中,接下来就可以像做 Android 自动化一样使用 Poco 了。

众所周知,Android 端打开一个应用是依靠应用包名 + 启动界面 Activity,而 iOS 端只需要应用 bundle 即可以启动应用。

获取 iOS 端应用的 bundle 需要借助于 Mac OSX 提供的控制台应用程序,通过文本 with intent foreground-interactive 进行过滤,即可以拿到应用的 bundle。
技术图片

最后,利用 poco 提供的 API 即可以打开一个应用了。

from poco.exceptions import InvalidOperationException

__author__ = "xingag"

from airtest.core.api import *

auto_setup(__file__)

from poco.drivers.ios import iosPoco

# 连接涉笔
connect_device(‘iOS:///127.0.0.1:8100‘)

poco = iosPoco()

package = ‘com.taobao.fleamarket‘

# 打开应用
home()
stop_app(package=package)
start_app(package=package, activity=None)

本篇文章只是带大家配置 iOS 自动化环境打开一个应用,后面将带大家利用 Airtest 进行一些项目实战。

如果你觉得文章还不错,请大家点个好看或者分享出去,你的肯定是我最大的鼓励和支持。

 推荐阅读

女朋友背着我,用 Python 偷偷隐藏了她的行踪

聊聊 Airtest 自动化工具

Python 还你一块纯洁无暇的移动硬盘

THANDKS
-End -

iOS 自动化测试初探

标签:rac   启动   端口   apple   ali   最大的   hone   如何   roi   

原文地址:https://blog.51cto.com/15023272/2558825

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!