怎么在Ubuntu上搭建app自动化
一、首先就是下载ubuntu
Ubuntu下载安装
下载网址:https://ubuntu.com/download/desktop
建议下载LTS版的
步骤:
-
准备工作
• 下载 Ubuntu 镜像文件(.iso):从Ubuntu 官网获取合适版本
• 确保 VMware 已正确安装并激活(Player 版本免费)
• 确保电脑有足够的磁盘空间(建议至少 20GB) -
创建新虚拟机
-
打开 VMware,点击 "创建新的虚拟机"
-
选择 "典型 (推荐)",点击 "下一步"
-
选择 "安装程序光盘映像 文件 (iso)",点击 "浏览" 选择下载好的 Ubuntu iso 文件,点击 "下一步"
-
输入:
o 全名:任意名称
o 用户名:登录系统的用户名
o 密码:登录密码
o 确认密码:再次输入密码
点击 "下一步" -
输入虚拟机名称(如 "Ubuntu 22.04"),选择安装位置(建议非系统盘),点击 "下一步"
-
指定磁盘大小(建议至少 20GB),选择 "将虚拟磁盘存储为单个文件",点击 "下一步"
-
点击 "自定义硬件" 可调整配置(如内存建议至少 2GB,处理器根据实际情况分配),完成后点击 "关闭"
-
点击 "完成" 创建虚拟机
-
安装 Ubuntu 系统
-
虚拟机创建完成后会自动启动,进入 Ubuntu 安装界面
-
选择语言(如 "中文 (简体)"),点击 "安装 Ubuntu"
-
选择键盘布局(默认 "汉语" 即可),点击 "继续"
-
选择 "正常安装",勾选 "安装 Ubuntu 时下载更新",点击 "继续"
-
磁盘分区选择 "清除整个磁盘并安装 Ubuntu"(新手推荐),点击 "现在安装"
-
确认分区信息,点击 "继续"
-
选择时区(如 "上海"),点击 "继续"
-
等待安装完成(过程中会自动下载必要组件)
-
安装完成后,点击 "现在重启"
-
重启后,输入之前设置的密码登录系统
二、在ubuntu上搭建app自动化环境
(1).连接xshell,需要手动下载shell命令才能连接
在 Ubuntu 虚拟机中通过 shell 进行连接,通常有以下几种常见方式: -
直接在虚拟机内部使用 shell
这是最简单的方式:
启动 Ubuntu 虚拟机,进入桌面后
按下 Ctrl + Alt + T 组合键,直接打开终端(shell)
此时就可以在终端中输入各种 Linux 命令进行操作 -
通过宿主机远程连接虚拟机的 shell
如果需要从宿主机(安装虚拟机的电脑)远程连接到 Ubuntu 虚拟机的 shell,可以按以下步骤操作:
步骤 1:在 Ubuntu 虚拟机中安装 SSH 服务
首先需要在虚拟机中安装并启动 SSH 服务,这样才能远程连接:
** 更新软件包列表**
sudo apt update
安装OpenSSH服务器
sudo apt install openssh-server
** 启动 SSH 服务**
sudo systemctl start ssh
设置开机自启动 SSH 服务
sudo systemctl enable ssh
步骤 2:获取虚拟机的 IP 地址
在虚拟机的终端中执行以下命令查看 IP 地址:
ip addr show
通常会显示类似 192.168.x.x 或 10.x.x.x 的私有 IP 地址
步骤 3:从宿主机连接
如果宿主机是 Linux 或 macOS,直接打开终端,使用 ssh 命令连接:
ssh 用户名@虚拟机IP地址
例如:ssh ubuntu@192.168.122.100
如果宿主机是 Windows,可以使用 PowerShell 或命令提示符(同样支持 ssh 命令),或者使用专门的工具如 PuTTY:
在 PuTTY 中输入虚拟机的 IP 地址,端口默认是 22
点击 "Open",然后输入用户名和密码即可连接
连接成功后,就可以在宿主机的终端中操作 Ubuntu 虚拟机的 shell 了。
(2)部署jdk、sdk等环境
在 Wubuntu(即 Windows Subsystem for Ubuntu / Ubuntu 子系统)里搭建一套完整的 Android App 自动化测试环境,包括 JDK、Android SDK、Appium、Python 依赖、IDE、模 拟器和定位工具。
由于涉及到 Linux 环境(Wubuntu),有几点非常关键:
Appium Server、Python Client、Appium Inspector 都可以在 Linux 中跑。
Android 模拟器(夜神)官方是 Windows 专用,Linux 原生上一般用 Android Studio 自带 Emulator、Genymotion 或 scrcpy(夜神在 Linux 上兼容性差)。
PyCharm 是 GUI 应用,若 Wubuntu 没有桌面环境,则需用 Windows 端运行 PyCharm,代码可以放在 Linux 里。
注意:这个时候你会发现没有root权限非常不好操作,不停的需要确认密码,甚至像我一样还会出现密码错误等问题,所以要开启root权限,root权限需要命令开启
1.这是 Ubuntu 推荐的方式,无需启用 root 账户:
sudo -i或者:sudo su
执行后你会切换到 root 用户,直到你退出为止(exit 退出)。
这种方式适合日常管理和环境搭建,不会带来安全隐患。
2. 启用 root 账户并设置密码
如果你希望能够直接以 root 用户身份登录(不推荐,除非有特殊需求),可以执行:
sudo passwd root
它会提示你输入并确认 root 密码。
启用后,你可以:
su - root
并输入你设置的密码即可切换 root。
- 修改配置允许 root SSH 登录(不推荐,一般仅限服务器场景)
如果你是通过 SSH 连接虚拟机,并且希望用 root 登录,还需修改 SSH 配置:
sudo nano /etc/ssh/sshd_config
找到这行:
PermitRootLogin prohibit-password
改成:
PermitRootLogin yes
然后重启 SSH 服务:
sudo systemctl restart ssh
建议做法(适合你这种测试环境)
直接用 sudo -i 或 sudo su 临时切换 root 权限。
不建议长期启用 root 登录,避免后续 Appium、SDK、模拟器产生权限问题。
这样就可以继续部署app自动化环境了(以上都算是前期准备)
- 安装 JDK
sudo apt update
sudo apt install openjdk-11-jdk -y
java -version - 安装 Android SDK
sudo apt install unzip wget -y
wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
sudo mkdir -p /usr/lib/android-sdk/cmdline-tools
sudo unzip commandlinetools-linux-*.zip -d /usr/lib/android-sdk/cmdline-tools
sudo mv /usr/lib/android-sdk/cmdline-tools/cmdline-tools /usr/lib/android-sdk/cmdline-tools/latest
配置环境变量:
echo 'export ANDROID_HOME=/usr/lib/android-sdk' >> ~/.bashrc
echo 'export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools' >> ~/.bashrc
source ~/.bashrc
安装必要的 Android 平台工具:
sdkmanager --sdk_root=$ANDROID_HOME "platform-tools" "platforms;android-33" "build-tools;33.0.2"
3. 安装 Appium Server
sudo apt install npm -y
sudo npm install -g appium
appium -v
(若你需要最新版本 Appium 2.x,可用 npm install -g appium@next)
4. 安装 Appium Drivers(以 Android 为例)
appium driver install uiautomator2
若还需要 XCUITest(iOS),需额外安装 Xcode 环境,这里先略。
5. 安装 Appium Python Client
pip install Appium-Python-Client
这个时候你会发现已经出现了错误字样,类似于一下错误
你遇到的这个报错:
error: externally-managed-environment
是 Ubuntu 22.04 及以上版本 的一种新特性导致的,并不是你的命令写错了。
从 Ubuntu 22.04 开始,pip 被限制不能直接在系统 Python 环境里安装包,避免破坏系统依赖(因为很多系统工具依赖 Python)。
这就是 “externally-managed-environment” 错误的原因。
解决方法(推荐三种)
方法 1:使用 --break-system-packages 参数(快速解决)
如果你不介意影响系统环境,直接允许 pip 安装:
pip install Appium-Python-Client --break-system-packages
这是最直接的做法,适合测试环境。
方法 2:使用 --user 模式(推荐)
把 Python 包装到你的用户目录,不动系统环境:
pip install --user Appium-Python-Client
安装后会在:
~/.local/lib/python3.x/site-packages
如果命令行找不到包,需要加:
export PATH=$PATH:~/.local/bin
方法 3:使用虚拟环境(最佳实践)
适合长期开发与自动化环境,不污染系统:
sudo apt install python3-venv -y
python3 -m venv appium-env
source appium-env/bin/activate
pip install Appium-Python-Client
这样所有包都装在 appium-env 目录内,退出虚拟环境用:
deactivate
为什么会这样?
Ubuntu 22.04+ 启用了 PEP 668,系统 Python 环境被标记为 Externally Managed Environment。
直接用 pip install 会被阻止,避免破坏 /usr/lib/python3/dist-packages/ 里的系统包。
这是为了保证系统稳定性,尤其是 apt 依赖 Python 的情况下。
建议:
如果你只是测试工程师、搭建 Appium 环境:用 方法 3(虚拟环境)。
如果只是临时用:用 方法 1(--break-system-packages)。
6. 安装 Appium Inspector
Appium Inspector 是图形界面工具,Linux 支持 AppImage 版本:
wget https://github.com/appium/appium-inspector/releases/download/v2025.x.x/Appium-Inspector-x.x.x.AppImage
chmod +x Appium-Inspector-x.x.x.AppImage
./Appium-Inspector-x.x.x.AppImage
(请到 Appium Inspector Releases下载最新版本)记住要去下载最新版
如果出现了无法建立 SSL 连接。
解决方法:
安装/更新 CA 证书(推荐)
sudo apt update
sudo apt install ca-certificates -y
sudo update-ca-certificates
wget https://ghproxy.com/https://github.com/appium/appium-inspector/releases/download/v2025.8.1/Appium-Inspector-2025.8.1-linux-x86_64.AppImage -O Appium-Inspector-2025.8.1-linux-x86_64.AppImage
然后继续执行第七步
7. 安装 PyCharm(可选)
如果 Wubuntu 是无界面版,不推荐直接装 PyCharm GUI,可以:
Windows 装 PyCharm,代码放 Linux 里(通过 WSL 访问 /home/yourname)
若想在 Linux 安装 PyCharm:
sudo snap install pycharm-community --classic
一般直接使用命令去跑pycharm写好的代码,只需要拷贝就ok了
8.下载node.js
wget https://nodejs.org/dist/v20.19.0/node-v20.19.0-linux-x64.tar.xz
解压压缩包
tar -xJf node-v20.19.0-linux-x64.tar.xz
移动到系统目录(方便全局调用)
sudo mv node-v20.19.0-linux-x64 /usr/local/node
添加环境变量(让系统识别 node 命令)
echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
生效环境变量
source ~/.bashrc
node -v # 应显示 v20.19.0 或更高版本
npm -v # 应同步显示对应 npm 版本
9.将工程文件使用xftp拖入到linux中
这里只能拖入用户家目录,而我想拖入管理员root下好操作
sudo mv /home/lj/file.txt /root/
然后sudo -i切换回root
10.建立虚拟环境(venv)
系统不允许你直接用 pip 给 “全局 Python 环境” 装包,而是推荐用 虚拟环境(隔离项目依赖)或 pipx(管理独立 Python 应用)
先安装 python3-venv(创建虚拟环境的工具,部分系统默认没装)
如果系统提示缺少 venv 模块,先通过 apt 安装:
sudo apt update
sudo apt install python3-venv python3-full -y # python3-full 确保依赖完整
进入你的项目目录(/root/xcf_project)
cd /root/xcf_project
创建虚拟环境(比如命名为 venv,可自定义)
python3 -m venv venv # 在项目目录下生成一个名为 venv 的虚拟环境文件夹
激活虚拟环境
激活后,终端提示符前会出现 (venv),表示当前处于虚拟环境中:
Linux/macOS 激活命令
source venv/bin/activate
在虚拟环境中安装 Appium-Python-Client
此时用 pip 安装依赖,只会装在虚拟环境里,不会触发系统保护错误:
pip install Appium-Python-Client
验证安装 & 运行测试脚本
验证依赖是否安装成功
pip list | grep Appium-Python-Client # 能看到版本号即成功
10.开启appium
appium
另开一个窗口
11.运行代码
python3 test_.py
注意:
记得使用adb shell pm resolve-activity --brief com.xiachufang | grep -v "Package"获取真机的activity、appPackage
记得使用adb devices获取devicesname
记得将usb模式调到虚拟机上
还有记得开虚拟环境,后面的客户端、appium等都是在虚拟环境上安装