前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于tidevice在Linux中进行iOS自动化测试

基于tidevice在Linux中进行iOS自动化测试

作者头像
测试加
发布2022-06-21 16:29:32
1.2K0
发布2022-06-21 16:29:32
举报

介绍

续上篇文章使用tidevice启动WDA,tidevice号称可以跨平台执行,在windows和linux都可以使用。另外tidevice的一个大杀器,不依赖xcode启动WebDriverAgent,这个工具就可以做到。如果在window和linux中可以启动wda,就说明可以进行自动化测试。

我拿出压箱底的树莓派了,树莓派中内置linux系统,如果对树莓派感兴趣的小伙伴,可以看看这篇文章教你入门树莓派树莓派搭建UI自动化环境

先放一张图全家福,左边的就是树莓派,可以理解为一台运行Linux的小型服务器,右边插着一台iPhone手机。

树莓派 & iPhone 6P

前置准备

在树莓派中安装tidevice工具,命令如下:

代码语言:javascript
复制
pip3 install  tidevice

查询设备命令如下:

代码语言:javascript
复制
tidevice list

可以看到已经打印出连接设备信息了。

另外就是在Linux在能启动WDA的前提,手机中已经安装了WDA应用,可以在Mac上提前编译和安装完成。

启动WDA命令:

代码语言:javascript
复制
tidevice -u 20b1ce3fd4fdc433a48bc774e2b0c47014e61f1c xctest -B com.facebook.WebDriverAgentRunner.testxinxi.xctrunner

如出现下图,说明启动WDA成果。

自动化测试

安装python版本的facebook-wda库,可以通过API操作手机,截图、点击等操作。

代码语言:javascript
复制
pip3 install -U facebook-wda

我们编写一个脚本,启动B站然后使用随机坐标点击100次。

代码例子:

代码语言:javascript
复制
import time
import wda
from random import randint

c = wda.USBClient()
print(c)
print(c.info)
#c.home() # home键盘
print(c.app_current()) # 打印当前app
#c.screenshot('screen.png') # 截图

with c.session('tv.danmaku.bilianime') as s:

        for i in range():
           x = randint(,)
           y = randint(,)
           print(x,y)
           s.click(x, y)

如下图,说明执行成果。

为了直观展示效果,我放一个视频演示在这里。

http://mpvideo.qpic.cn/0bc3ieacmaaameaozufa45rfaqodezaqajqa.f10002.mp4?

结语

本文介绍了在Linux下如何使用tidevice进行WDA自动化测试的,tidevice的出现打破了原有只能在Mac才能进行自动化的局限性、提高自动化环境的利用率。

提前剧透下,下文会使用tidevice采集iOS性能数据,敬请期待吧~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试加 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 前置准备
  • 自动化测试
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档