测试人社区

Appium环境配置(包括Mac 版本 、Windows版本)

AndroidStudio、SDK 环境、配置、运行问题汇总
Appium 环境、配置、运行问题
macOS、Ubantu、Windows 常用工具环境部署

Windows 下配置 Appium

安装 Android Studio

下载 Android Studio

android-studio-ide-182.5314842-windows.exe

安装 Android Studio

  1. 安装

  1. 下一步

  1. 下一步

  1. 安装路径

  1. 安装

  1. 安装中

  1. 下一步

  1. 结束

启动 Android Studio,下载 SDK。

配置环境变量

Windows 7 系统需要安装 Visual C++ Redistributable for Visual Studio 2015

  1. 点击"属性“

  1. 高级系统设置

  1. 点击环境变量

  1. 新建系统变量

  1. ANDROID_HOME 变量,
    变量名:ANDROID_HOME
    变量值:C:\Users\用户名\AppData\Local\Android\Sdk

Android SDK 默认路径:C:\Users\用户名\AppData\Local\Android\Sdk,此处“用户名”需要替换成你的电脑用户名。

6.编辑 path

7.Path 中 添加 ANDROID_HOME,变量值最前面添加:%ANDROID_HOME%\platform-tools\28.0.3;%ANDROID_HOME%\tools;28.0.3 这个数字需要看自己电脑上 $ANDROID_HOME/build-tools/ 目录下的。

8.之后步骤全部点击“确定”

Appium

下载 Appium Desktop

appium-desktop-1.12.1-x64.nsis.7z:appium 压缩包

Appium-windows-1.12.1.exe:appium 安装文件,安装 appium 依赖 “appium-desktop-1.12.1-x64.nsis.7z” 文件,然后再执行此文件进行安装。

安装 Appium Desktop

1.运行

2.安装

3.安装进行中

4.运行

5.启动 appium

安装 Appium

安装 node

安装完后需要重新启动命令行

安装 cnpm


npm install -g cnpm --registry=https://registry.npm.taobao.org

安装 Appium

安装之前确保 node、python 可以使用,最好是退出 powershell 一次,重新打开 powershell。


cnpm install -g appium

正常使用 npm 就行,因为网络原因使用的淘宝的 cnpm。

启动 Appium


appium

macOS 下配置 Appium 环境

  • macOS 10.14.4

  • Appium Desktop 1.12.1

  • Genymotion 3.0.1

安装 Appium Desktop


brew cask install appium

启动 Appium Desktop

  1. 打开软件

  1. 启动 Appium Server

安装 Appium

安装 node


brew install node

安装 cnpm


npm install -g cnpm --registry=https://registry.npm.taobao.org

安装 Python 2.7.15

安装 Appium


cnpm install -g appium

正常使用 npm 就行,因为网络原因使用的淘宝的 cnpm。

启动 Appium


appium

配置 Android

安装 Android Studio


brew cask install android-studio

启动 Android Studio,下载 SDK。

  1. 启动 Android Studio

  1. 设置

  1. 设置

  1. 下一步

  1. 下一步

  1. 选择主题

  1. 结束

  1. 正在下载

配置环境变量

vim ~/.bashrc


# ANDROID_HOME start

export ANDROID_HOME="$(echo $HOME)"/Library/Android/sdk

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools

# 28.0.3 这个数字需要看自己电脑上 $ANDROID_HOME/build-tools/ 目录下的。

export PATH=$PATH:$ANDROID_HOME/build-tools/28.0.3

# ANDROID_HOME end

安装 Android 模拟器


brew cask install genymotion

1 Like

老师, 请问choco 是为什么在windows下 无法执行, 报如下错误:
PS C:\Users\hxb> choco install python2
无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后
重试。
所在位置 行:1 字符: 6

  • choco <<<< install python2
    • CategoryInfo : ObjectNotFound: (choco:String) [], CommandNotFoundException
    • FullyQualifiedErrorId : CommandNotFoundException

因为choco需要安装哈

这里为什么需要安装python2呢,我使用的是miniconda的python3,在这个基础上创建的python2的虚拟环境

谢谢 折腾了好久通过 代理已经将choco安装好。但是安装通过choco安装Python2时 总是下载失败。 log:
PS C:\Users\hxb> choco install python2
Chocolatey v0.10.15
Installing the following packages:
python2
By installing you accept licenses for the packages.
Progress: Downloading python2 2.7.17… 0%
ython2 not installed. An error occurred during installation:
The operation has timed out.
ython2 package files install completed. Performing other installation steps.
he install of python2 was NOT successful.
ython2 not installed. An error occurred during installation:
The operation has timed out.
配置没配好无法进行思涵老师下面的app自动化测试, 希望老师能帮助解决一下环境配置的问题。 感谢了
问题一:可以通过其它方法安装吗?

问题二,在看思涵老师的教程,通过mumu模拟器安装时adb连接,出现各种问题,最后重启电脑先启动模拟器后adb connect 127.0.0.1:7555 后成功, 也不清楚为什么。 nodejs安装的是ver:10.13; appium desktop ver:1.8.2,

启动start inspector session时报这个:
Welcome to Appium v1.9.1

[Appium] Appium REST http interface listener started on 0.0.0.0:4723

[Appium] Cannot retrieve git revision for Appium version 1.9.1 from GitHub. Original error: Error: connect ECONNREFUSED 13.250.168.23:443

选择AutoMatic Server配置完capabilities后 start session 时报错:
capabilities 如下:
{
“platformName”: “Android”,
“deviceName”: “127.0.0.1:7555”,
“appPackage”: " com.xueqiu.android",
“appActivity”: “.view.WelcomeActivityAlias”,
“autoGrantPermissions”: “true”,
“platformVersion”: “6.0.1”
}

报错“No route found. Setting content type to ‘text/plain’”log如下:
[ADB] Current device property ‘ro.product.manufacturer’: Netease
[AndroidDriver] No app sent in, not parsing package/activity
[AndroidDriver] No app capability. Assuming it is already on the device
[ADB] Getting install status for com.xueqiu.android
[ADB] Running ‘D:\android-sdk-windows\platform-tools\adb.exe -P 5037 -s 127.0.0.1:7555 shell pm list packages ’ com.xueqiu.android’’
[ADB] App is not installed
[AndroidDriver] Shutting down Android driver
[AndroidDriver] Called deleteSession but bootstrap wasn’t active
[Logcat] Stopping logcat capture
[ADB] Running ‘D:\android-sdk-windows\platform-tools\adb.exe -P 5037 -s 127.0.0.1:7555 shell am force-stop io.appium.unlock’
[AndroidDriver] Not cleaning generated files. Add clearSystemFiles capability if wanted.
[BaseDriver] Event ‘newSessionStarted’ logged at 1586923731781 (12:08:51 GMT+0800 (中国标准时间))
[MJSONWP] Encountered internal error running command: Error: ‘app’ option is required for reinstall
[MJSONWP] at Object.callee$0$0$ (C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\android-helpers.js:330:11)
[MJSONWP] at tryCatch (C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
[MJSONWP] at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22)
[MJSONWP] at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21)
[MJSONWP] at GeneratorFunctionPrototype.invoke (C:\Program Files (x86)\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37)
[MJSONWP] at run (C:\Program Files (x86)\Appium\resources\app\webpack:~\babel-polyfill~\core-js\modules\es6.promise.js:75:1)
[MJSONWP] at C:\Program Files (x86)\Appium\resources\app\webpack:~\babel-polyfill~\core-js\modules\es6.promise.js:92:1
[MJSONWP] at flush (C:\Program Files (x86)\Appium\resources\app\webpack:~\babel-polyfill~\core-js\modules_microtask.js:18:1)
[MJSONWP] at process._tickCallback (internal/process/next_tick.js:61:11)
[HTTP] <-- POST /wd/hub/session 500 15144 ms - 175
[HTTP]
[HTTP] --> DELETE /wd/hub/session
[HTTP] {}
[HTTP] No route found. Setting content type to ‘text/plain’
[HTTP] <-- DELETE /wd/hub/session 404 5 ms - 57

老师 这个问题已经解决了 搞了好久发现是 capabilities 顺序不对导致的。
应该是这3个要前置,希望对其他学员有帮助
“deviceName”: “127.0.0.1:7555”,
“appPackage”: " com.xueqiu.android",
“appActivity”: “.view.WelcomeActivityAlias”,