如何从Appium修复错误"无法从sw_vers输出检测Mac OS X版本:'10 .12'"

Cha*_*aku 16 android automated-tests appium

我安装了appium-1.5.3.dmg但是当我点击听诊器按钮时,Appium显示错误:

 ? Xcode is installed at: /Library/Developer/CommandLineTools
[Error: Could not detect Mac OS X Version from sw_vers output: '10.12
']
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

谢谢!

Cha*_*aku 30

它对我有用.

您可以通过此命令配置文件:

  • grep -rl"无法从sw_vers输出中检测到Mac OS X版本:"/ Applications/Appium.app /

在此输入图像描述

  • 终端将显示:/Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/build/lib/system.js /Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules /appium-support/lib/system.js /Applications/Appium.app//Contents/Resources/node_modules/appium-support/build/lib/system.js /Applications/Appium.app//Contents/Resources/node_modules/appium - 支持/ LIB/system.js

  • 使用命令vim并配置每个文件.

vim /Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/build/lib/system.js
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

配置文件:

在此输入图像描述

  1. 改变 - >

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11']; _i = 0;

    到 - >

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11','10.12']; _i = 0;


vim /Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/lib/system.js
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

配置文件:

在此输入图像描述

  1. 改变 - >

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout; }

    到 - >

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout.trim(); }

  2. 改变 - >

    for (let v of ['10.8', '10.9', '10.10', '10.11']) { if (stdout.indexOf(v) === 0) { return v; } }

    到 - >

    for (let v of ['10.8', '10.9', '10.10', '10.11','10.12']) { if (stdout.indexOf(v) === 0) { return v; } }


vim /Applications/Appium.app//Contents/Resources/node_modules/appium-support/build/lib/system.js
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

配置文件:

在此输入图像描述

  1. 改变 - >

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11']; _i = 0;

    到 - >

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11','10.12']; _i = 0;


vim /Applications/Appium.app//Contents/Resources/node_modules/appium-support/lib/system.js
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

配置文件:

在此输入图像描述

  1. 改变 - >

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout; }

    到 - >

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout.trim(); }

  2. 改变 - >

    for (let v of ['10.8', '10.9', '10.10', '10.11']) { if (stdout.indexOf(v) === 0) { return v; } }

    到 - >

    for (let v of ['10.8', '10.9', '10.10', '10.11','10.12']) { if (stdout.indexOf(v) === 0) { return v; } }

单击启动听诊器按钮

在此输入图像描述

  • 谢谢!它真的对我有用! (2认同)