smart-test-ti / SoloX

💯SoloX - Real-time collection tool for Android/iOS performance data.(Android性能测试android performance\iOS性能测试ios performance\移动端性能测试mobile performance\APP性能测试app performance\app性能测试工具)
https://smart-test-ti.github.io/solox
MIT License
994 stars 177 forks source link

【BUG】windows连接 ios手机后,使用代码方式获取设备信息报错 #87

Closed cagezxy closed 1 year ago

cagezxy commented 1 year ago

PC: win 10 device: ios 16, iphone x

使用此方式链接手机 apm = APM(pkgName='com.xxxx', platform='iOS')

报错: Traceback (most recent call last): File "F:\myproject2\solox\123123.py", line 4, in apm = APM(pkgName='com.gddsssssxxxxx', platform='iOS') File "F:\myproject2\solox\solox\public\apm.py", line 297, in init d._devicesCheck(pf=self.platform, id=self.deviceId, pkg=self.pkgName) File "F:\myproject2\solox\solox\public\common.py", line 117, in _devicesCheck if len(self.getDeviceInfoByiOS()) == 0: File "F:\myproject2\solox\solox\public\common.py", line 93, in getDeviceInfoByiOS deviceResult = json.loads(self.execCmd('tidevice list --json')) File "D:\python\lib\json__init__.py", line 346, in loads return _default_decoder.decode(s) File "D:\python\lib\json\decoder.py", line 340, in decode raise JSONDecodeError("Extra data", s, end) json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 3)

单独通过tidevice返回信息都是正常的。 通过查看: 返回的 设备信息时,最后换行中带了 无法解析的内容,导致 json.loads 时报错 image

麻烦查看,是否有此问题

rafa0128 commented 1 year ago

image 麻烦贴完整的文本看看

cagezxy commented 1 year ago

image 麻烦贴完整的文本看看

['[\n', ' {\n', ' "udid": "8af334f47111111119fc44755",\n', ' "serial": "F122222CLF",\n', ' "name": "娴嬭瘯缁勭殑x",\n', ' "market_name": "iPhone X",\n', ' "product_version": "16.1",\n', ' "conn_type": "usb"\n', ' }\n', ']\n', '\x1b[0m']

我看了下,如果没有ios设备时,也会返回这个无效的 字符串: ['[]\n', '\x1b[0m']