首页 > 其他分享 >APP自动化测试工具-Appium

APP自动化测试工具-Appium

时间:2024-06-17 19:11:27浏览次数:26  
标签:appium APP driver Appium 测试工具 Android 安装 self

官网: https://appium.io/docs/zh/latest/

快速入门

1.安装 Appium

前提条件:已安装Node.js,可以使用npm命令
安装命令: npm i -g appium
验证结果: 执行appium,可以看到[Appium] Welcome to Appium v2.10.3
更新命令: npm update -g appium

2.安装 Appium 驱动及其依赖项

Android SDK

下载 Android Studio https://developer.android.google.cn/studio?hl=zh-cn
根据提示安装,默认会下载Android SDK平台和工具。默认安装路径C:\Users\XXX\AppData\Local\Android\Sdk

设置ANDROID_HOME环境变量,指向安装 Android SDK 的目录
win10操作系统-设置-系统-关于-高级系统设置-高级-环境变量

Java JDK

提前安装好Java

准备设备

使用模拟器,使用 Android Studio 创建并启动一个 Android 虚拟设备 (AVD)

如果使用真实设备,应该为开发设置并启用 USB 调试。

小米手机开启开发者模式: 设置-我的设备-全部参数与信息-OS版本(单击7次)
然后可以查看: 设置-更多设置-开发者选项(比如启用USB调试、USB安装)

安装UiAutomator2驱动

appium driver install uiautomator2

3.安装 Appium 客户端库(Python)

pip install Appium-Python-Client

4.简单的 Appium 自动化脚本

# test.py
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',
    language='en',
    locale='US'
)

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="Battery"]')
        el.click()

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

执行前提条件:

  • 已在另一个命令行窗口启用appium服务,执行appium
  • Android Studio已启动虚拟手机

执行python test.py

可以在Android Studio看到对应的操作

报错&解决方案

1.找不到ANDROID_HOME
未配置环境变量,或配置完成后命令行窗口没有重启

2.Error: Could not find a connected Android device in 20000ms
没有启动虚拟手机

标签:appium,APP,driver,Appium,测试工具,Android,安装,self
From: https://www.cnblogs.com/rustling/p/18253034

相关文章

  • uniapp计算字符串宽度
    最近手机端聊天功能,想实现气泡框,根据输入的文本,背景颜色自动适应宽度本来呢,只需要在文本外包裹一个标签,不指定宽度,就能实现,但是nvue中文本只能写在text中,来实现字体大小颜色的设置,在使用text标签后就会导致文本框宽度直接就是最长第一种方法:所以需要计算字符串的宽度,第一想法......
  • 基于springboot的南门桥社区疫情防疫系统-48138(免费领源码+数据库)可做计算机毕业设计J
    Springboot南门桥社区疫情防疫系统的设计与实现摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对南门桥社区疫情防疫系统等问题,对南门桥社区......
  • SSH配置、跨主机上传下载、Wrapper访问控制实验操作步骤
    目录终端OpenSSH服务器SSH(SecureShell)协议OpenSSH服务监听选项SSH配置修改端口号用户登录控制指定用户登录1.2.严格模式最大会话数量公钥验证使用公钥认证让客户端登录系统域名解析跨主机下载、上传文件下载指定端口下载上传指定端口上传 ​编辑sftp功......
  • 高效开发系列:鸿蒙原生app套用混合app开发思路
    2024年,似乎华为迎来了新的企业机遇--鸿蒙独立操作系统。 受到全球国际形势的影响,加之第四次科技革命(AI革命)冷不丁的出现,在他国AI技术领先的前提下,中国自主研发的独立操作系统再次提上新的战略高度。其中,鸿蒙独立操作系统(HarmonyOS)就是大新创/国产操作系统的新高度。 鸿......
  • uniapp中防抖函数debounce的使用
    uniapp中防抖函数debounce的使用分段控件u-subsection每次点击一个tab的时候都会ajax访问一次接口取列表数据的,这时如果有人快速在多个分段间快速点击的话,每次点击都会访问接口的,网上找了好多资料,终于找到了这个玩意。。。记得以前也弄过这个的。。不过当时没有记下来,现在记下来......
  • 讯飞晓医APP:国产AI健康助手,使用体验如何?
    科大讯飞在去年的10月24日发布了首款基于讯飞星火医疗大模型能力的APP“讯飞晓医”,这款APP面向普通人群开放,可以提供预问诊、药物解读、检查报告分析等能力,目前已经上线了iOS苹果端和各大安卓应用商店。到如今,讯飞晓医已经更新到1.5.0版本,在上篇,我们也分析了讯飞晓医背后的技......
  • 开源复刻apple 数学笔记;纯C++实现了ChatGLM系列模型;腾讯混元文生图模型发布新版本并开
    ✨1:AIMathNotesAIMathNotes是一个交互式绘图应用,可绘制并计算数学方程。AIMathNotes受到Apple在WWDC2024上的“MathNotes”演启发,开发的一个互动式绘图应用程序,用户可以在画布上绘制数学方程。一旦方程被绘制完成,应用程序将使用多模态LLM(LargeLanguageM......
  • 【源码】2024最新陪诊小程序uniapp+thinkphp
    202024最新陪诊小程序uniapp+thinkphp资源来源:52codes.cc20最新陪诊小程序uniapp+thinkphp简介:随着社会逐渐步进入老龄化越来越多的老年人或者不经常去医院的用户对于医院繁琐的流程很是苦劳于是陪诊这个行业开始兴起。小白陪诊开发理念,为了满足用户就医陪......
  • 鸿蒙——数据持久化存储(AppStorage、PersitentStoreage、数据库、首选项)
    Localstorage-内存化存储-局部可用AppStorage-内存化存储-全局可用PersitentStoreage-写入磁盘(沙箱)全局可用首选项-写入磁盘-全局可用关系型数据库-写入磁盘1.用户首选项:获取Preferences实例、保存/更新数据、获取数据用户首选项为应用提供Key-Value键值型的数据处......
  • springboot + uniapp 头像上传功能及样式模版
    springboot+uniapp头像上传和预览功能及样式模版该头像上传使用uni.chooseImage方法从本地相册选择图片或使用相机拍照。再通过uni.uploadFile将本地资源上传到服务器。具体使用方法请参考uniapp官网API。以下是前端效果图:上传之后效果点击头像预览效果......