2025年5月17日 星期六 乙巳(蛇)年 二月十九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

APP自动化测试appium环境搭建

时间:05-19来源:作者:点击数:60

安装client编程库

  • pip install appium-python-client

安装JDK

安装好之后,还需要添加一个环境变量 JAVA_HOME ,指定 值 为 jdk安装目录,比如

  • JAVA_HOME d:\tools\java\jdk1.8.0_211

安装 Android SDK

下载最新的 Android SDK文件包: androidsdk.zip ,并且解压,即可。

解压完成后,需要 配置一下 添加一个 环境变量 ANDROID_HOME ,设置值为sdk包解压目录,比如 d:\tools\androidsdk

在 path 环境变量值中添

加:;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

验证安装 链接手机在命令行输入 adb devices

如果结果如下,说明配置成功:

安装Appium Server

进入官网下载:https://github.com/appium/appium-desktop/releases

安装完成后,启动Appium,host和port默认的即可,然后编辑配置信息

然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到

代码参考

  • # -*- encoding: utf-8 -*-
  • """
  • @File : testCase.py
  • @Time : 2022/5/15 14:49
  • @Author : simon
  • @Email : 294168604@qq.com
  • @Software: PyCharm
  • """
  • from appium import webdriver
  • from selenium.webdriver.common.by import By
  • from appium.webdriver.extensions.android.nativekey import AndroidKey
  • desired_caps = {
  • 'platformName': 'Android', # 被测手机是安卓
  • 'platformVersion': '9', # 手机安卓版本
  • 'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
  • 'appPackage': 'tv.danmaku.bili', # 启动APP Package名称
  • 'appActivity': '.MainActivityV2', # 启动Activity名称
  • 'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
  • 'resetKeyboard': True, # 执行完程序恢复原来输入法
  • 'noReset': True, # 不要重置App
  • 'newCommandTimeout': 6000,
  • 'automationName' : 'UiAutomator2'
  • # 'app': r'd:\apk\bili.apk',
  • }
  • # 连接Appium Server,初始化自动化环境
  • driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
  • # 设置缺省等待时间
  • driver.implicitly_wait(5)
  • # 如果有`青少年保护`界面,点击`我知道了`
  • iknow = driver.find_elements(By.ID, "text3")
  • if iknow:
  • iknow.click()
  • # 根据id定位搜索位置框,点击
  • driver.find_element("id", 'expand_search').click()
  • # 根据id定位搜索输入框,点击
  • sbox = driver.find_element(By.ID, 'search_src_text')
  • sbox.send_keys('天下第一')
  • # 输入回车键,确定搜索
  • driver.press_keycode(AndroidKey.ENTER)
  • # 选择(定位)所有视频标题
  • eles = driver.find_elements(By.ID, 'title')
  • for ele in eles:
  • # 打印标题
  • print(ele.text)
  • input('**** Press to quit..')
  • driver.quit()

效果展示

获取包名appPackage和页面名称appActivity

  • adb shell dumpsys activity | find "mResumedActivity"

注意大坑

设备:小米9 + Android 9.0 / OPPO R17 + Android 10

小米手机启动的时候会报错:Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS

1、解决方法

*小米设备: 开启 USB调试(安全设置)

(1) 手机-插入 sim卡

(2) 设置 - 更多设置 - 开发者选项 - USB调试(安全设置)- 开启

*OPPO设备: 开启 禁止权限监控

开发者选项 - 禁止权限监控 - 开启

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门