如何通过Appium Python客户端获取已设置的Desired Capabilities平台信息
获取Appium会话中的PlatformName Capability
嘿,这事儿其实挺简单的!你已经有了Appium Driver实例,直接通过内置的属性就能拿到你需要的capability信息,不用找复杂的方法。
直接获取的方法
Appium Python客户端的Driver实例自带一个capabilities属性,这是一个包含所有会话capabilities的字典。你可以直接通过键名platformName来取值:
# 获取当前平台名称 current_platform = self.driver.capabilities['platformName'] # 或者用get方法更安全(避免key不存在时抛出错误) current_platform = self.driver.capabilities.get('platformName')
拿到值之后,你就可以判断是iOS还是Android了:
if current_platform == 'iOS': print("当前运行在iOS平台") elif current_platform == 'Android': print("当前运行在Android平台") else: print(f"检测到未知平台: {current_platform}")
封装成你想要的调用方式
如果你特别喜欢类似get_capabilities('platformName')的调用风格,也可以自己封装一个小方法:
def get_capability(self, cap_name): # 从capabilities字典中获取指定的capability return self.driver.capabilities.get(cap_name) # 调用方式就和你期望的一样了 platform_name = self.get_capability('platformName')
这个capabilities字典里不仅包含你初始化时设置的所有Desired Capabilities,还会有Appium会话返回的额外信息(比如设备UDID、Appium版本等),所以其他capability比如deviceName、appPackage也能通过同样的方式获取。
内容的提问来源于stack exchange,提问作者Mate Ajdukovic
相关产品推荐
相关产品推荐

