怎么在Ubuntu上搭建app自动化

一、首先就是下载ubuntu
Ubuntu下载安装
下载网址:https://ubuntu.com/download/desktop
建议下载LTS版的
步骤:

  1. 准备工作
    • 下载 Ubuntu 镜像文件(.iso):从Ubuntu 官网获取合适版本
    • 确保 VMware 已正确安装并激活(Player 版本免费)
    • 确保电脑有足够的磁盘空间(建议至少 20GB)

  2. 创建新虚拟机

  3. 打开 VMware,点击 "创建新的虚拟机"

  4. 选择 "典型 (推荐)",点击 "下一步"

  5. 选择 "安装程序光盘映像 文件 (iso)",点击 "浏览" 选择下载好的 Ubuntu iso 文件,点击 "下一步"

  6. 输入:
    o 全名:任意名称
    o 用户名:登录系统的用户名
    o 密码:登录密码
    o 确认密码:再次输入密码
    点击 "下一步"

  7. 输入虚拟机名称(如 "Ubuntu 22.04"),选择安装位置(建议非系统盘),点击 "下一步"

  8. 指定磁盘大小(建议至少 20GB),选择 "将虚拟磁盘存储为单个文件",点击 "下一步"

  9. 点击 "自定义硬件" 可调整配置(如内存建议至少 2GB,处理器根据实际情况分配),完成后点击 "关闭"

  10. 点击 "完成" 创建虚拟机

  11. 安装 Ubuntu 系统

  12. 虚拟机创建完成后会自动启动,进入 Ubuntu 安装界面

  13. 选择语言(如 "中文 (简体)"),点击 "安装 Ubuntu"

  14. 选择键盘布局(默认 "汉语" 即可),点击 "继续"

  15. 选择 "正常安装",勾选 "安装 Ubuntu 时下载更新",点击 "继续"

  16. 磁盘分区选择 "清除整个磁盘并安装 Ubuntu"(新手推荐),点击 "现在安装"

  17. 确认分区信息,点击 "继续"

  18. 选择时区(如 "上海"),点击 "继续"

  19. 等待安装完成(过程中会自动下载必要组件)

  20. 安装完成后,点击 "现在重启"

  21. 重启后,输入之前设置的密码登录系统
    二、在ubuntu上搭建app自动化环境
    (1).连接xshell,需要手动下载shell命令才能连接
    在 Ubuntu 虚拟机中通过 shell 进行连接,通常有以下几种常见方式:

  22. 直接在虚拟机内部使用 shell
    这是最简单的方式:
    启动 Ubuntu 虚拟机,进入桌面后
    按下 Ctrl + Alt + T 组合键,直接打开终端(shell)
    此时就可以在终端中输入各种 Linux 命令进行操作

  23. 通过宿主机远程连接虚拟机的 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。

  1. 修改配置允许 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自动化环境了(以上都算是前期准备)

  1. 安装 JDK
    sudo apt update
    sudo apt install openjdk-11-jdk -y
    java -version
  2. 安装 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等都是在虚拟环境上安装

posted @ 2025-08-26 19:13  木华9  阅读(40)  评论(0)    收藏  举报