美文网首页
Appium + pyhthon + 安卓模拟器 搭建自动化测试

Appium + pyhthon + 安卓模拟器 搭建自动化测试

作者: 逐风细雨 | 来源:发表于2021-09-16 13:55 被阅读0次

    概述

    app自动化环境搭建笔记

    步骤

    1. 环境版本:python 3.8.5,
      Appium 1.21.0,
      夜神模拟器:7.0.1.6
      安卓sdk 10
      操作系统 win10

    2. 资源下载 可自行去官网下载,此次提供网盘下载地址:
      百度网盘链接(自行拼接百度网盘前缀):/s/1islSh8t0M-kPwIUqnHS6Hw
      提取码:j4f6


      image.png
    3. 安装步骤:
      3.1 安装python3.8 配置 环境变量保证 python pip 命令可用
      安装 appium python 客户端 pip install Appium-python-client
      3.2 安装jdk 配置环境变量,略
      3.3 安装node.js (如果使用桌面版 此部可略,但为了方便命令行启动appium server 推荐安装)
      安装 appium server 命令: npm -g install appium
      3.4 安装 Appium 桌面版
      3.5 安装SDK
      解压 android-sdk_r24.4.1-windows.zip 解压后的路径:D:\android-sdk-windows
      执行 Manager.exe


      image.png

      勾选 PlatForm-tools,Build-tools SDK Platfrom 下图时 只安装必要包的图:


      image.png
      配置环境变量
      新建 ANDROID_HOME 系统变量 指向 sdk 工具目录 本例是: D:\android-sdk-windows
      image.png

    在path变量添加它几个路径的 变量 如下图:
    %ANDROID_HOME%\platform-tools
    %ANDROID_HOME%\tools
    %ANDROID_HOME%\build-tools\29.0.3
    注意:buid-tools 此次安装的是 29.0.3 版本,请根据自己选择的版本进行调整


    image.png

    配置成功后,在命令行 执行 adb version 查看adb 命令是否可用

    4 安装夜神模拟器,执行安装文件 nox_setup_v7.0.1.6_full.exe
    安装完成后 替换模拟器自带的adb工具,非常重要(与sdk 管理工具的adb版本不一致,会appium 调用时 不兼容)
    sdk 管理工具 adb 文件路径:D:\android-sdk-windows\platform-tools
    此三个文件复制到模拟器安装路径


    image.png

    删除模拟器的 nox_adb.exe 文件,复制一个adb.exe 文件重命名为 nox_adb.exe


    image.png

    多个模拟器并发配置

    1. 启动夜神模拟器,将模拟器的 上网模式 修改为桥接,设置静态的 ip 和网关,在模拟器内部 将网络设置修改为刚才一样: 此例是 10.2.13.168 根据局域网络修改 如下图:
    image.png
    image.png
    1. 连接adb adb connect 10.2.13.168
      查看 adb 连接 adb devices


      image.png

      此处 10.2.13.168:5555 为此模拟器的 adb 连接的id,在appium 是udid

    2. n个模拟器 需要n个 appium server:每个server 启动的参数
      命令行启动命令:
      appium -a 0.0.0.0 -p 4273 -bp 4274 -U 10.2.13.168:5555
      注意: -a 0.0.0.0 表示绑定到本机的所有 ip 保证 通过 127.0.0.1:4273 或者本机多个局域网的ip 都可以访问到4273 端口
      -bp bootstrap-port 端口
      -U udid

    python 客户端启动脚本举例

    desired_capabilities = {
        "platformName": "Android",  # 操作系统
        "deviceName": "10.2.13.168:5555",  # 设备 ID
        "platformVersion": "7.1.2",  # 设备版本号
        "appPackage": "com.lachesis.mnis_online",  # app 包名
        "appActivity": "com.lachesis.mnis_online.reform.reformactivity.RLoginActivity",  # app 启动时主 Activity
        "automationName": "UiAutomator2",
        "newCommandTimeout": 120,
        "bootstrap-port": 4724,
        "udid": "10.2.13.168:5555",
        # "unicodeKeyboard": True,
        # "noSign": True,
        "noReset": True,  # 是否保留 session 信息 可以避免重新登录
    }
    
    driver = webdriver.Remote('http://10.2.13.167:4723/wd/hub', desired_capabilities)
    

    多个模拟器,设置不同的局域网独立ip 分配 不同的 aapium server 的端口 和 bootstrap-port
    本例实现 同时开始4个模拟器


    image.png

    每个模拟器+ appium 占用内存约300M

    相关文章

      网友评论

          本文标题:Appium + pyhthon + 安卓模拟器 搭建自动化测试

          本文链接:https://www.haomeiwen.com/subject/aojoyltx.html