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

在pytest钩子函数中判断Android和iOS设备(方法二)

在pytest钩子函数中判断是Android手机还是iOS手机的方法二:

可以通过driver.capabilities['platformName']来判断,‘platformName’是常见的用于区分平台的字段。如果是 iOS,platformName 会是 iOS,如果是 Android,platformName 会是 Android。
更新后的 pytest_runtest_makereport 钩子函数代码如下:

@pytest.hookimpl(tryfirst=True, hookwrapper=True)
def pytest_runtest_makereport(item, call):
    outcome = yield
    report = outcome.get_result()

    driver = item.funcargs.get("android_driver") or item.funcargs.get("ios_driver")
    
    if driver:
        # 判断设备平台类型
        platform_name = driver.capabilities.get('platformName')
        
        if platform_name == 'Android':
            driver = item.funcargs['android_driver']
        elif platform_name == 'iOS':
            driver = item.funcargs['ios_driver']

driver.capabilities.get('platformName'):获取设备的 platformName,这是 Appium 创建的 WebDriver 对象的一个标准字段。
如果 platformName 为 Android,则表示这是 Android 设备;如果为 iOS,则是 iOS 设备。
这种方法无需直接比较驱动类,而是通过 capabilities 来做判断,能更好地适应不同驱动的场景。

 


http://www.kler.cn/a/463262.html

相关文章:

  • seata分布式事务详解(AT)
  • 探索 AIGC 的基础知识:人工智能生成内容的全景视图
  • Dubbo 核心知识全解析:原理、流程与关键机制
  • pip下载包出现SSLError
  • 自由学习记录(31)
  • Day62 图论part11
  • libmodbus主机通信主要函数分析
  • 2021年国家公考《申论》题(地市级)
  • [工业 4.0] 机器学习如何推动智能制造升级
  • 【从零开始入门unity游戏开发之——C#篇40】C#特性(Attributes)和自定义特性
  • HarmonyOS Next ArkUI ListListItem笔记
  • 【SQL server】教材数据库(5)
  • github
  • 在 Alpine Linux 下通过 Docker 部署 Nginx 服务器
  • 【Pytorch实用教程】深入了解 torchvision.models.resnet18 新旧版本的区别
  • 智能边缘计算×软硬件一体化:开启全场景效能革命新征程(独立开发者作品)
  • 【置顶】测试学习笔记整理
  • SUBSTRING_INDEX()在MySQL中的用法
  • Vue 3.0 中 template 多个根元素警告问题
  • springboot522基于Spring Boot的律师事务所案件管理系统的设计与开发(论文+源码)_kaic
  • BGP(Border Gateway Protocol,边界网关协议)
  • 改进爬山算法之五:自适应爬山法(Adaptive Hill Climbing,AHC)
  • c#String和StringBuilder
  • Coding Our First Neurons
  • SpringMVC的工作流程
  • 数据结构————概述