利用tidevice+mysql+grafana实现ios性能测试

这篇具有很好参考价值的文章主要介绍了利用tidevice+mysql+grafana实现ios性能测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

利用tidevice+mysql+grafana实现ios性能测试

1.什么是tidevice?

tidevice是一个可以和ios设备进行通信的工具,提供以下功能:

  • 截图
  • 获取手机信息
  • ipa包的安装和卸载
  • 根据bundleID 启动和停止应用
  • 列出安装应用信息
  • 模拟Xcode运行XCTest,常用的如启动WebDriverAgent测试(此方法不依赖xcodebuild)
  • 获取指定应用性能(CPU,MEM,FPS)
  • 文件操作
  • 其他
    支持运行在Mac,Linux,Windows上
    官方地址:https://github.com/alibaba/taobao-iphone-device

2.环境准备

Python3.6+
Mysql (docker)
grafana(docker)

3.实现思路

  • 使用tidevice选定连接的被测手机和被测app
  • 启动app和程序,将开启app后每秒的设备性能信息采集将采集到的数据存储到mysql
  • grafana设置mysql数据源
  • 配置grafana展示图表
  • 配置展示图表的刷新时间

4.具体步骤

  1. 数据库建立相应的测试库和测试表,主要是我们要收集的fps,cpu,memory,network等4个表,表的结构就是时间戳和相应的数据 比如fps表:

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios
2. 连接手机,指定要测试的应用(以 fun club为例子)
`
#使用 tidevice applist来查看手机app列表

t = tidevice.Device()
perf = tidevice.Performance(t,list(tidevice.DataType))
#print(list(tidevice.DataType))
appid='com.xxx.xxx.xxxxxxx'  #填写自己需要测试的app包名即可
  1. 设定程序的运行时常,启动指定的app,查看回调函数输出的数据格式

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

  1. 从返回的字典数据里,分别提取对应的cpu,network,memory,fps数据和时间戳,然后插入数据库相对应的表。以fps为例子
def callback(_type: tidevice.DataType, value: dict):
    print("R:", _type.value, value)
    if _type.value =='fps':
        fpsdata = value
        fps = fpsdata.get('fps')
        time = timeStamp(fpsdata.get('timestamp'))
        db = pymysql.Connect(user='root', password='123456', host='localhost', database='mytest')
        cursor = db.cursor()
        sql="INSERT INTO `mytest`.`my_fps` (`fps`, `time`)VALUES ('%s', '%s')" %(fps,time)
        try:
            cursor.execute(sql)
            db.commit()
        except:
            db.rollback()
        db.close()
  1. 检查数据库对应的表是否有数据插入(以fps为例)

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

  1. 启动grafana 设置mysql数据源

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

  1. Add Panel 选择折线图 进行相关配置,以fps为例

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

  1. 设置grafana的时间以及定时刷新的频率

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

  1. 配置好4个图表,grafana设置图标刷新时间为1秒

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

10.设定好程序运行的时常 启动app 首页静止, 查看折线图

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

11.funclub进入ludo游戏,查看折线图数据(21:06开始)

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios

12.在对应的时间打标签

利用tidevice+mysql+grafana实现ios性能测试,mysql,grafana,ios
我的博客(https://vwo50.club)有分享更多好玩的计算机知识,欢迎访问 vwo50博客站文章来源地址https://www.toymoban.com/news/detail-676012.html

到了这里,关于利用tidevice+mysql+grafana实现ios性能测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【测试开发实战】Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台

    1. 为什么要搭建性能监控平台? 1.1 需求背景 在用 Jmeter 获取性能测试结果的时候, Jmeter 本身带有聚合报告如下图所示: 这个报告有几个很明显的缺点: 只能自己看,无法实时共享; 报告信息的展示比较简陋单一,不直观; 1.2 需求方案 为了解决上述问题,必须要请出了

    2023年04月17日
    浏览(42)
  • 【K6】使用InfluxDB和Grafana图像化展示k6.io的测试数据

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ●🧑个人主页:Damon7575 ●📃欢迎点赞👍关注💡收藏💖 ●📖既选择了远方,便只顾风雨兼程。 ●🤟欢迎大家有问题随时私信我! ●🧐版权:本文由[ Damon7575 ]原创,CSDN首发,侵权必究。 提示:以下

    2024年02月03日
    浏览(41)
  • 轻松打造智能化性能测试监控平台:【JMeter+Grafana+Influxdb】的优化整合方案

    目录 【引言】 【背景说明】 【实现原理】 【平台搭建】 方法一:Windows或macOS环境下搭建 1.InfluxDB安装 2.grafana安装 3.jmeter配置 方法二:Linux环境下搭建 1.influxdb安装 2.grafana安装 3.jdk+jmeter安装 方法三:docker容器下安装 1.influxdb安装并运行(选择2.0以下版本) 2.grafana安装并运行

    2024年02月06日
    浏览(44)
  • iOS性能指标和性能测试工具

    作为一名软件测试工程师,在测试 iOS 应用的性能时,需要关注以下几个方面: 1. 响应时间:应用的启动时间、页面加载速度、接口响应时间等。 2. CPU 使用率:应用在各种操作下的 CPU 占用情况。 3. 内存使用:应用在各种操作下的内存占用情况。 4. 网络性能:应用在各种

    2024年02月13日
    浏览(47)
  • grafana中利用变量来添加dashboard详情页地址实现点击跳转

    最近弄grafana的dashboard,突然想到各个dashboard之前可以直接跳转到不同详细页面的面板,于是找了找实现方法 以 stat 格式的面板为例,显示出各个pod的对应状态, PromQL是 (avg(kube_pod_status_phase{phase=\\\"Running\\\", namespace!=\\\"kube-system\\\",namespace!=\\\"monitoring\\\"}) by(namespace, pod, phase)) 右侧页面选择 Over

    2024年02月13日
    浏览(37)
  • iOS性能测试方法-获取手机内存数据

    最近在研究如何获取iOS手机性能数据(主要是内存),看了一圈目前主流的方法主要是两种: 1.阿里开源的iOS自动化测试工具tidevice;2.xcode自带的instruments; 1.cpu 正常在20%-40%左右,超过80%需要引起重视。 2.内存 rss:私有内存+所有共享内存,pss:私有内存+比例分配共享内存,

    2024年02月07日
    浏览(46)
  • Android/iOS性能测试工具-SoloX

    SoloX - Android/iOS性能数据实时采集工具。支持收集被测应用CPU、内存、FPS、流量等性能数据,进行图表化展示。 官网:GitHub - smart-test-ti/SoloX: SoloX - Real-time collection tool for Android/iOS performance data.(Android性能测试android performanceiOS性能测试ios performance移动端性能测试mobile perform

    2024年02月03日
    浏览(37)
  • Linux系统运行时参数命令(性能监控、测试)(3)网络IO性能监控

    通常用带宽、吞吐量、延时、PPS(Packet Per Second)等指标衡量网络性能 带宽 ,表示链路的最大传输速率,单位通常为b/s(比特/秒) 吞吐量 ,表示单位时间内成功传输的数据量,单位通常为b/s(比特/秒)或者B/s(字节/秒)。吞吐量受带宽限制,而吞吐量/带宽,也就是 网络

    2024年02月13日
    浏览(41)
  • ​Linux开源存储漫谈(2)IO性能测试利器fio

    fio(Flexible I/O Tester)正是非常常用的文件系统和磁盘 I/O 性能基准测试工具。提供了大量的可定制化选项,可以用来测试,裸盘、一个单独的分区或者文件系统在各种场景下的 I/O 性能,包括了不同块大小、不同 I/O 引擎以及是否使用缓存等场景。   ubuntu安装fio非常简单 fio选

    2024年02月04日
    浏览(41)
  • MySQL数据库IO性能优化方法论

    作者:禅与计算机程序设计艺术 随着互联网信息化的发展,网站日益繁荣,用户对网站访问速度要求越来越高。如何提升网站数据库IO性能从而实现快速响应?本文将从数据库的优化角度出发,结合实际应用场景,进行系统地剖析、归纳和总结,为读者提供一个系统性、完整

    2024年02月06日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包