当前位置: 首页 > news >正文

python编写的第一个appium自动化测试脚本

自动化测试核心组件与角色

  1. Python: 编程语言,用于编写自动化测试脚本。
  2. Appium: 一个开源的、跨平台的自动化测试框架。它就像一个“翻译官”,接收你从 Python 脚本发出来的指令(例如:点击、输入文字),并将其转换成模拟器或真机能够理解的底层命令(UIAutomator2 for Android, XCUITest for iOS)。
  3. 夜神模拟器: 一个 Android 模拟器,在你的电脑上虚拟出一个安卓手机环境,用于安装和运行待测的 App。
  4. Appium-Python-Client: Python 的一个库,它提供了与 Appium Server 通信的接口,让你能用 Python 代码方便地调用 Appium 的各种功能。

完整执行流程

  1. 整个流程可以概括为以下几个关键步骤,下图清晰地展示了它们之间的协作关系:
    在这里插入图片描述

  2. 常用的adb命令

    • 开启服务器:adb start-server
    • 关闭服务器:adb kill-server
    • 查看连接设备:adb devices
    • 进入手机的终端系统:adb shell
    • 获取连接设备信息:
      • 获取手机版本号:adb shell getprop ro.build.version.release
      • 获取手机当前启动的app和界面:adb shell dumpsys window windows | findstr mFocusedApp
      • com.android.settings/.Settings$BluetoothSettingsActivity
      • app名字:com.android.settings
      • app界面名字:.Settings$BluetoothSettingsActivity
      • 需要连接哪个app和界面就可以获取app以及界面名进行连接即可
  3. 移动测试的连接操作

    通过配置连接参数,连接手机进行自动化测试。

    import timefrom appium import webdriver# 配置连接手机的参数信息
    # 所有的参数都是字典的格式,键值对
    desired_caps = dict()# 设备的名字
    desired_caps["deviceName"] = "127.0.0.1:62001"# 系统的名字
    desired_caps["platformName"] = "Android"# app的名字
    # desired_caps["appPackage"] = "com.android.settings"
    desired_caps["appPackage"] = "com.android.browser"# app的界面名字
    # desired_caps["appActivity"] = ".Settings"
    desired_caps["appActivity"] = ".BrowserActivity"# 创建连接
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_caps)# 休眠5秒
    time.sleep(5)# 关闭
    driver.quit()
    
http://www.dtcms.com/a/392756.html

相关文章:

  • 道客巴巴文库资料免费下载的方法(不需要第三方软件)
  • 【C++】STL详解(九)—priority_queue的使用与模拟实现
  • 【车载开发系列】了解FlashDriver
  • 轻量化 AI 算法:开启边缘智能新时代
  • sward入门到实战(3) - 如何管理文档
  • 贝叶斯优化(Bayesian Optimization)实战:超参数自动搜索的黑科技
  • CSP-S2025 第一轮试题(附答案)
  • python ipynb中运行 报错rpy2 UsageError: Cell magic `%%R` not found.,原因是命令行要用raw的格式
  • 蓝耘智算与DeepSeekR1:低成本高能AI模型
  • Shimmy,超越ollama?
  • LeetCode:36.二叉树的中序遍历
  • python开发环境VSCode中隐藏“__pycache__”目录实践
  • Chrome View渲染机制学习小记
  • C# Protobuf oneof、包装器类型、枚举命名与服务支持
  • 智慧消防:科技赋能,重塑消防安全新生态
  • AI人工智能训练师五级(初级)实操模拟题
  • [数理逻辑] 决定性公理与勒贝格可测性(I) 基础知识
  • Java面向对象之多态
  • 量子计算学习续(第十五周周报)
  • Docker 入门与实践:从零开始掌握容器化技术
  • 个人用户无公网 IP 访问群晖 NAS:神卓 N600 的安全便捷方案(附踩坑经验)
  • Cpolar内网穿透实战:从零搭建远程访问服务
  • 【Python精讲 03】Python核心容器:一篇通关序列(List, Tuple)、映射(Dict)与集合(Set)
  • map_from_arrays和map_from_entries函数
  • 【EE初阶 - 网络原理】网络基本原理
  • 计算机毕设选题+技术栈选择推荐:基于Python的家教预约管理系统设计
  • 密码实现安全:形式化验证技术解析及主流工具实践
  • 并发编程的“造物主“函数——`pthread_create`
  • Python如何开发游戏
  • 新手向 算法 插入排序-yang