最近尝试做最基础的客户端性能测试,
我司是使用 appium + python 做的 UI 自动化测试,
看了这个文章 ,appium 可以采集 iOS / Android 的性能数据(此文为 iOS)
https://appiumpro.com/editions/12-capturing-performance-data-for-native-ios-apps
因此我想使用 appium 将 performance 数据采集直接写在 UI 自动化框架里。
这篇文章是使用 java 存成 zip 文件, 解压就能用 instruments 打开,如下:
File traceZip = new File("/path/to/trace.zip");
String b64Zip = (String)driver.executeScript("mobile: stopPerfRecord", args);
byte[] bytesZip = Base64.getMimeDecoder().decode(b64Zip);
FileOutputStream stream = new FileOutputStream(traceZip);
stream.write(bytesZip);
At this point, we'll have a nice little trace.zip sitting at the specified location on disk. We can now simply unzip it and double-click it to open the trace file up in the Instruments viewer:
我对照着写成了 python, 也可以生成.zip 文件,但是解压缩后的文件不是 xxx.trace, 而是一个文件夹,无法用 instruments 打开
b64Zip = str(driver.execute_script('mobile: stopPerfRecord', {'profileName': 'Time Profiler'}))
bytesZip = base64.b64decode(b64Zip)
with open('trace.zip', 'wb') as fz:
fz.write(bytesZip)
我解压后是这样的目录结构:
在网上找了很久,都没有找到相关的内容,感觉 appium 采集 performance 数据好像使用的很少
所以想问下有没有大佬遇到过这种问题,是怎么解决的呢?