首页 > 编程语言 >Mac搭建appium环境及python运行代码示例

Mac搭建appium环境及python运行代码示例

时间:2024-04-22 20:11:51浏览次数:28  
标签:Appium 示例 python self appium brew PATH 安装

Appium主要是通过调用安卓提供的接口来执行命令的,所以需要安装Java和安卓SDK。

1.安装Appium服务端

appium的服务端是基于node的,直接使用npm(node包管理器)安装即可,比较简单。

npm install -g appium

2.安装Python客户端

pip install Appium-Python-Client

同样直接使用pip安装即可。

3.安装Java环境

brew tap AdoptOpenJDK/openjdk

brew install adoptopenjdk8

配置环境变量

JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
 CLASS_PATH="$JAVA_HOME/lib"
 PATH=".$PATH:$JAVA_HOME/bin"
 export PATH=/usr/local/bin:$PATH

4.安装安卓SDK

brew install --cask android-platform-tools

配置环境变量:

export ANDROID_HOME=/Users/xxx/Library/Android/sdk

其中xxx为用户名。
完成之后,将安卓手机连接到电脑,注意手机的开发者权限之类的全部开启。
然后执行 adb devices,可以显示设备,则安装成功。

其实通过brew安装的软件默认在命令行是可以直接打开不用配置环境变量的,因为brew设置了软链接,但是appium的服务无法读取到,所以上面还是需要配置一下。

5.连接测试

根据上面的配置之后,环境基本安装完毕,下面来测试一下,首先启动appium服务端。
命令行执行:appium,出现欢迎界面则没有问题。
主要是测试一下 Appium Inspector,这个是Appium提供的查看手机app元素以及其它功能的桌面软件,可以大大提升开发效率。
下载打开这个软件,远程主机、端口、路径都使用默认不填即可,主要填一下右下角的 JSON Representation:

'platformName': 'Android', # 被测手机是安卓 
'automationName' : 'UiAutomator2',
'appPackage': 'tv.danmaku.bili', # 启动APP Package名称 
'appActivity': '.ui.splash.SplashActivity', # 启动Activity名称 
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True 
'resetKeyboard': True, # 执行完程序恢复原来输入法 
'noReset': True, # 不要重置App 'newCommandTimeout': 6000, 

填上最前面的platformName和automationName就可以,其它都是选配。

6.python代码测试

执行官网的python示例代码:

import unittest

from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy

capabilities = dict(
    platformName="Android",
    automationName="uiautomator2",
    deviceName="Android",
    appPackage="com.android.settings",
    appActivity=".Settings",
)

appium_server_url = "http://localhost: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:
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="电池"]')
        el.click()


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

成功则表示正常连接

标签:Appium,示例,python,self,appium,brew,PATH,安装
From: https://www.cnblogs.com/easy1996/p/18151419

相关文章

  • python+appium+pytest做app自动化测试
    我在另一篇博客中写了使用unittest做app自动化测试的,包含了前期的环境的环境搭建,请参考如下链接:python+appium+unittest做app自动化测试这里,我们使用pytest框架再改写一个版本,因为pytest做测试报告看着更加好看,代码改良如下:fromappiumimportwebdriverimportpytest@pytest......
  • Python Numpy 矩阵运算
    目录1前言2点积与矩阵乘法2.1np.dot()2.2np.matmul()和@2.3np.multiply和*3矩阵的逆4Ref1前言Python中经常涉及到矩阵运算,其借助于Numpy库进行,因此本文记录一些基于Numpy的矩阵运算2点积与矩阵乘法矩阵的点积(dotproduct),又称为内积(innerproduct)$a=(x_1,y_1)......
  • python+appium+unittest做app自动化测试
    1.需要安装一些列的软件:(1)java(2)androidsdk:  https://www.cnblogs.com/chenxiaomeng/p/16544481.html(3)AppiumServerGUI(4)AppiumInspector (3和4老版本是一个)2.打开AppiumServerGUI直接点击startServer即可,使用默认配置 3.打开 AppiumInspectorremot......
  • python监控MongoDB服务进程,故障钉钉告警
     服务器1xx.168.8x.77#!/usr/bin/python#!_*_coding:utf-8_*_importosimportsysimporttimemongo_ip='192.168.xx.77'ports=['x001','x002']defport(ip,port):  response=os.popen("tcping %s%s|grepopen|awk-F'&......
  • 蓝牙打印开发代码示例(日拱一卒,有点进步,UUID仍报错)
     packagecom.lingrui.btprint;importandroid.Manifest;importandroid.app.AlertDialog;importandroid.bluetooth.BluetoothAdapter;importandroid.bluetooth.BluetoothDevice;importandroid.bluetooth.BluetoothSocket;importandroid.content.DialogInterface......
  • 在Python中的for循环
    在Python中的for循环for循环:用于遍历序列(如列表、元组、字典、集合或字符串)或其他可迭代对象。pythonforiinrange(10):#这将循环10次,i的值从0到9print(i)while循环:当给定条件为真时,重复执行代码块。pythoni=0whilei<10:#这将循环10次print(i)i......
  • python 多并发
    多并发实现1#!/usr/bin/python2#-*-coding:utf-8-*-34"""5@File:.py6@Description:7@Time:2024/04/2210:00:008@Author:9@Version:1.010@Contact:[email protected]"""1213impor......
  • Python实现下载文件的三种方法
    下面来看看三种方法是如何来下载zip文件的:方法一: importurllibprint"downloadingwithurllib"url='http://www.jb51.net//test/demo.zip'urllib.urlretrieve(url,"demo.zip") 方法二: importurllib2print"downloadingwithurllib2"u......
  • 使用pyppeteer 下载chromium 报错 python pyppeteer 调用谷歌翻译api
    https://registry.npmmirror.com/binary.html?path=chromium-browser-snapshots/Win_x64/手动下载安装包 修改文件C:\Users\luyan\AppData\Local\Programs\Python\Python312\Lib\site-packages\pyppeteer\chromium_downloader.py #修改这段代码defdownload_chromium()-......
  • Python实现批量下载文件的示例代码
    前言下载文件是我们在日常工作中常常要做的一件事情。当我们需要从互联网上批量下载大量文件时,手动一个一个去下载显然不够高效。为了解决这个问题,我们可以使用Python编写一个批量下载文件的脚本,让它自动帮我们下载文件。同时,为了避免下载过程中被网站禁止访问,我们也可以运用代理......