首页 > 其他分享 >搭建Appium环境

搭建Appium环境

时间:2024-04-25 14:58:24浏览次数:29  
标签:Appium tools 环境 appium Android 安装 目录 搭建

Appium 是一个开源工具,用于自动化 iOS、Android 和 Windows 应用程序的测试。

Appium 作为一个服务器启动,它接收到客户端(如脚本或测试代码)发出的命令,然后将这些命令转换成适当的动作在移动设备上执行。Appium的工作原理是通过使用WebDriver协议来与设备交互。

一、依赖安装:Node.js 和 npm

Appium 使用Node.jshttps://nodejs.org/en)开发,运行时系统要求也只是Node.jsnpm
https://appium.io/docs/en/latest/quickstart/requirements/

默认node.js安装时,会带npm,

我们不需要安装 Chocolatey ,如下图这一步不选。

二、安装 Appium

只需下面命令,就可以完成安装Appium

# 安装
npm i -g appium
# 运行
appium
# 更新 Appium
npm update -g appium

三、安装 UiAutomator2 Driver

驱动程序(Driver)是一个允许 Appium 自动化特定平台的接口。

我们这里演示在 Android 平台的自动化,所以需要安装下面几个:

3.1、 Java JDK

下载地址:
https://adoptium.net/en-GB/temurin/releases/

安装完后,需要设置 JAVA_HOME 环境变量以指向 JDK 主目录。它将包含 bininclude 和其他目录。

3.2、Android SDK

我们这里不下载 Android Studio,而是下载 命令行工具。

下载地址在下面页面的最后部分。
https://developer.android.com/studio?hl=zh-cn#command-tools

下载后我们使用 sdkmanager 这个命令来下载对应版本的SDK:
https://developer.android.com/tools/sdkmanager?hl=zh-cn

注意,下载后的安装目录问题:

  • 将解压缩的 cmdline-tools 目录移至您选择的新目录,例如 android_sdk。这个新目录就是您的 Android SDK 目录。
  • 在解压缩的 cmdline-tools 目录中,创建一个名为 latest 的子目录。
  • 将原始 cmdline-tools 目录内容(包括 lib 目录、bin 目录、NOTICE.txt 文件和 source.properties 文件)移动到新创建的 latest 目录中。现在,您就可以从这个位置使用命令行工具了。

Android 11 对应的 API 级别是 30。你可以使用以下命令来安装 Android API 30 SDK

./sdkmanager "platforms;android-30" "build-tools;30.0.3"

安装完毕可以通过 sdkmanager --list 命令来确认 SDK 是否成功安装

注意把 D:\androidsdk\platform-tools 工具的目录要放在 path 中,这样就可以直接使用adb这样的命令了。

另外还需设置 ANDROID_HOME 环境变量以指向Android SDK的安装目录。您通常可以在 Android Studio SDK 管理器中找到该目录的路径。它将包含 platform-tools 和其他目录。

3.3、连接真实设备

以小米手机为例,通过下面方式找到对应的android版本:

  1. 找到设置,点击进入。
  2. 点击我的设备。
  3. 点击全部参数。
  4. 找到Android版本。

基于这个版本,我们上面sdkmanager安装对应版本的开发工具。

如果使用真实设备,您应该将其设置为开发并启用 USB 调试。
注意:小米设备需要登录小米账号后才能开启“USB调试(安全设置)”

连接模拟器或设备后,您可以运行 adb devices (通常位于 $ANDROID_HOME/platform-tools/adb 的二进制文件)来验证您的设备是否显示为已连接。

3.4、安装驱动程序

由于 UiAutomator2 驱动程序由核心 Appium 团队维护,因此它有一个“官方”驱动程序名称,您可以使用该名称通过 Appium 扩展 CLI 轻松安装它:

appium driver install uiautomator2

这个安装需要访问外网,如果要设置走代理,可以如下安装

npm config set proxy http://127.0.0.1:7890

npm config set https-proxy http://127.0.0.1:7890

3.5、检查

再次启动 Appium 服务器(运行 appium ),您应该看到新安装的驱动程序被列为可用:

四、python测试代码

首先安装依赖

pip install Appium-Python-Client

下面是滚动到电池选项界面的代码

import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

capabilities = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='zh',
    locale='CN'
)

appium_server_url = 'http://192.168.1.5:4723'

class TestAppium(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Remote(appium_server_url, options=UiAutomator2Options().load_capabilities(capabilities))

    def tearDown(self) -> None:
        if self.driver:
            self.driver.quit()


    def test_find_battery(self) -> None:
        # Use UIAutomator's UiScrollable to scroll to the "Battery" element
        scrollable = 'new UiScrollable(new UiSelector().scrollable(true).instance(0))'\
                     '.scrollIntoView(new UiSelector().textContains("电量").instance(0))'
        battery_element = self.driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR, scrollable)
        
        # Click the Battery element once it is found and scrolled into view
        battery_element.click()

if __name__ == '__main__':
    unittest.main()

标签:Appium,tools,环境,appium,Android,安装,目录,搭建
From: https://www.cnblogs.com/ghj1976/p/18157705/da-jianappium-huan-jing

相关文章

  • vscode 配置c/c++环境,无法生成 *.exe文件
    ​【问题】:    使用vscode配置c/c++环境时,提示无法构建失败。 【解决方案】:    1.当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误。    2.F5调试时,终端输出错误调试信息如下:启动调试任务时,执行了2条命令。1)cmd/c......
  • 【征稿】第七届水与环境可持续发展国际会议(ICSDWE 2024)
    会议简介:2024年第七届水与环境可持续发展国际会议(ICSDWE2024)将于2024年8月16日至18日在中国厦门举行。ICSDWE聚焦于水和环境的可持续发展,汇聚了全球范围内的顶尖专家学者,共同探讨水资源管理、水和废水处理、水的可持续发展、环境科学以及环境可持续性等多个领域的最新研究成果和......
  • 利用 Amazon EMR Serverless、Amazon Athena、Apache Dolphinscheduler 以及本地 TiDB
    引言在数据驱动的世界中,企业正在寻求可靠且高性能的解决方案来管理其不断增长的数据需求。本系列博客从一个重视数据安全和合规性的B2C金融科技客户的角度来讨论云上云下混合部署的情况下如何利用亚马逊云科技云原生服务、开源社区产品以及第三方工具构建无服务器数据仓库的解......
  • git命令下,mac环境下载依赖相关报错问题解决方案
    1.安装fundry框架curl-Lhttps://foundry.paradigm.xyz|bash2.写入环境变量source/Users/xx/.bashrc3.foundryup问题1报错:致命错误:无法访问'https://github.com/foundry-rs/forge-std解决方案:设置hosts文件:添加指定url的ip地址:140.82.112.4github.com185.1......
  • Appium控件交互策略:优化自动化测试效率的关键方法
    简介与Web元素操作一样(参考SeleniumWeb元素操作),定位到APP控件元素后,可以对控件进行一系列的操作,实现与APP交互,比如点击、文本输入、元素属性获取等。控件交互常用方法常见操作点击方法element.click()。输入操作element.send_keys('appium')。清除操作element......
  • docker配置Nvidia环境,使用GPU
    前言需要nvdiadriver安装好,请参考UbuntuNvidiadriver驱动安装及卸载docker安装配置apt阿里云的镜像源sudocurl-fsSLhttps://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg|sudoapt-keyadd-sudoadd-apt-repository"deb[arch=amd64]http://mirrors.aliy......
  • 在虚拟机环境下搭建MPI集群
    一、安装虚拟机这步就不详细说了,参考了一位博主的教程,推荐:安装CentOS7虚拟机(超详细)_linux多台虚拟机-CSDN博客这步踩了一个坑,报错显示无法使用内核设备,参考博文:无法打开内核设备“\.\VMCIDev\VMX”:操作成功完成。是否在安装VMwareWorkstation后重新引导?模块“DevicePower......
  • YOLO v8 环境搭建
    1.Anaconda3安装:下载:anacondadownload默认:安装到根目录下:默认:下面一路默认,直至安装完成。2.安装VScode并在vscode中配置anaconda安装,我有vscode所以不用重新安装了,去官网安装即可。配置anacondaVscode中使用Ctrl+P打开搜索搜索栏里输入:>selectinterpreter找......
  • window下使用vscode和mingw搭建cpp开发环境
    window下使用vscode和mingw搭建cpp开发环境1.下载安装MinGWMinGW是一款在Windows平台上运行的GNU工具集,它提供了一套构建应用程序的开发工具,包括GNUC/C++编译器、GDB调试器、GNU二进制工具等。它可以用于开发Windows应用程序,也可以用于开发跨平台的应用程序。MinGW的全称是Mi......
  • 【Elasticsearch】在spring环境中 进行es的数据读取
    在Spring环境中进行Elasticsearch(ES)的数据读取,通常会利用SpringDataElasticsearch项目提供的功能。SpringDataElasticsearch提供了高度抽象的Repository接口,允许你以面向对象的方式操作Elasticsearch,而无需直接编写底层的HTTP请求或JSON解析代码。下面是一个简单的示例,演示如......