Python 中 appium 环境搭建

Posted A-L-Kun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 中 appium 环境搭建相关的知识,希望对你有一定的参考价值。

appium 环境搭建

一、 简介

1、 介绍

Appium是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用

Appium是基于以下的四个理念设计来满足移动平台测试自动化的要求的:

1)您不应该因为需要自动化测试您的应用而不得不以任何形式去重新编译或者修改你的app

2)您不应该把自己固定在一门特定的语言和一个特定的框架上去实现和运行你的测试

3)当说到测试自动化APIs的时候,一个移动测试框架不应该做“重新发明轮子”的事情

4)一个移动测试自动化框架应该是开源的,无论是在精神上,实际上,还是名义上

2、 Appium架构

Appium 是一个用Node.js编写的HTTP server,它创建、并管理多个 WebDriver sessions 来和不同平台交互,如 iOS ,Android等等

Appium 开始一个测试后,就会在被测设备(手机)上启动一个 server ,监听来自 Appium server的指令. 每种平台像 iOS 和Android都有不同的运行、和交互方式。所以Appium会用某个桩程序“侵入”该平台,并接受指令,来完成测试用例的运行

二、 环境安装

1、 安装 nodejs

链接:【https://nodejs.org/en/】

安装步骤:一直点击下一步安装

2、 安装 JDK

2.1 安装

安卓系统是由 Java 开发的

链接:【https://www.oracle.com/java/technologies/downloads/】

2.2 配置环境变量

已知,我安装 JDK 的路径为 D:\\Program Files\\Java\\jdk-17.0.2

在系统变量中添加以下值

  • CLASSPATH

    • .;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\tools.jar

      注意前面是有一个点的

  • JAVA_HOME

    • D:\\Program Files\\Java\\jdk-17.0.2
  • Path 中添加

    • %JAVA_HOME%\\jre\\bin
    • %JAVA_HOME%\\bin

在 cmd 中输入 java -version 出现版本号即表示安装成功

3、 安装 Android SDK

3.1 安装

SDK Tools 链接:【https://www.androiddevtools.cn/】

记得要使用 SDK Manager 安装插件:指导链接【https://www.cnblogs.com/ycl-2021/p/15355386.html】

3.2 配置环境变量

已知,我安装 SDK 的路径为D:\\Program Files (x86)\\Android\\android-sdk

在系统变量中添加以下值

  • ANDROID_HOME
    • D:\\Program Files (x86)\\Android\\android-sdk
  • Path 中添加
    • %ANDROID_HOME%\\tools
    • %ANDROID_HOME%\\platform-tools

在 cmd 中输入 adb version 出现版本号即表示安装成功

4、 安装 appium

链接:【https://github.com/appium/appium-desktop/releases/tag/v1.22.2】

安装过程,一路下一步就行了

5、 安装夜神模拟器

链接:【https://www.yeshen.com/】

首先,下载完成后不要忙着打开夜神模拟器,先确保你的电脑 Hepy-V 是关闭的,否则启动模拟器时会出现电脑蓝屏重启的情况

然后,将 D:\\Program Files (x86)\\Android\\android-sdk\\platform-tools路径下的 adb.exe 复制两份,其中一个改名为 nox_adb.exe 后,将两个文件都放到夜神模拟器安装目录的 bin 目录下覆盖原文件

6、 环境联调

6.1 夜神模拟器配置

首先,在夜神模拟器中,打开手机的开发者模式

设置 -> 关于平板电脑 -> 点击版本号5次

然后、在开发者选项中开启 use 调试

6.2 adb 命令建立连接

  1. 在夜神模拟器根目录下的 bin 目录下执行 cmd 进入终端

  2. 输入 adb devices 后,出现如下提示

    List of devices attached
    127.0.0.1:62001 device
    

    127.0.0.1:62001 链接着模拟器

  3. 再输入nox_adb connect 127.0.0.1:62001后,出现提示

    already connected to 127.0.0.1:62001
    

6.3 开启 Appium 并配置运行

  1. 获取 app 包名和进程名

    • 打开夜神模拟器中的浏览器

    • 在 adb 连接正确的情况下,在夜神模拟器安装目录的 bin 目录下的 cmd 输入adb shell

    • 进入 adb shell后输入,dumpsys activity | grep mFocusedActivity

    • com.android.browser就是 app 包名

    • .BrowserActivity就是进程名

      d2q:/ # dumpsys activity | grep mFocusedActivity
        mFocusedActivity: ActivityRecord8193610 u0 com.android.browser/.BrowserActivity t4
      
  2. 打开 Appium

    • 直接启动服务
    • 在界面的右上角点击搜索图标,进入测试配置
    • 配置参数来源
      • platformName - 系统名:Android
      • platformVersion - 版本号:4.4.2
      • deviceName - 手机型号:SM-G955F
      • appPackage - 包名:com.android.browser
      • appActivity - 进程名:.BrowserActivity

三、 连接 python

1、 安装 python 第三方库

pip install Appium-Python-Client

2、 建立连接

在夜神模拟器根目录的 bin 下,进入终端,输入

adb devices
nox_adb connect 127.0.0.1:62001

3、 通过python启动

完成代码如下

from appium import webdriver

# 初始化配置,设置Desired Capacities 参数
desired_cap = 
    "platformName": "Android",
    "deviceName": "SM-N976N",
    "appPackage": "com.android.browser",
    "appActivity": ".BrowserActivity"

# 指定 Appium Server
server = "http://localhost:4726/wd/hub"
# 新建一个 driver
driver = webdriver.Remote(server, desired_cap)
# 获取模拟器,手机分辨率
width = driver.get_window_size()["width"]
height = driver.get_window_size()["height"]
print(width, height)

本文来自博客园,作者:A-L-Kun,转载请注明原文链接:https://www.cnblogs.com/liuzhongkun/p/15973352.html

以上是关于Python 中 appium 环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

appium环境搭建python

Appium+python自动化环境搭建(小白适用)

python appium环境搭建

Appium+python自动化- 环境搭建—下(超详解)

appium+python自动化?环境搭建

Appium+python自动化2-环境搭建(下)