appium ios find_elements 模糊搜索

本文介绍了Appium中XPath的两种模糊搜索方式:contains和matches函数的用法,并提供了具体的示例代码。

appium 中的find_elements_by_xpath,可以使用模糊搜索,匹配的属性根据appium中的Inspector(即放大镜)获取,如@name,@label等


contains是一个字符串查找函数
  语法是:fn:contains(string1,string2),表示如果 string1 包含 string2,则返回 true,否则返回 false。
  例如:contains('XML','XM'),结果:true。

find_elements_by_xpath('//UIAApplication[1]/UIAWindow[1]/UIAStaticText[contains(@name,"as")')


match是一个匹配正则表达式的函数
  语法是:fn:matches(string,pattern),表示如果 string 参数匹配指定的模式,则返回 true,否则返回 false。
  例如:matches("12", "[0-9]{1,2}"), 结果:true。

find_elements_by_xpath('//UIAApplication[1]/UIAWindow[1]/UIAStaticText[matches(@name,"as")')

正则表达发现不支持


### 如何使用 AppiumiOS 设备进行自动化测试 #### 配置环境 为了实现基于 AppiumiOS 自动化测试,首先需要配置好运行环境。这包括安装必要的依赖项以及设置所需的参数。 - 安装 Node.js 和 Appium Server 是基础需求[^2]。 - Xcode 及其命令行工具也是必需的,因为它们提供了构建和调试 iOS 应用所需的功能[^1]。 #### 设置 Desired Capabilities Desired Capabilities 是用于定义测试会话的关键字集合。对于 iOS 测试来说,这些关键字尤为重要: ```python desired_caps = { 'platformName': 'iOS', 'platformVersion': '15.0', # 替换为目标设备的操作系统版本 'deviceName': 'iPhone 13', # 替换为实际使用的设备名称 'automationName': 'XCUITest', # 使用 XCUITest 框架支持 iOS 自动化 'bundleId': 'com.example.app', # 替换为目标应用的 Bundle ID 'udid': 'your-device-id' # 如果连接的是真实设备,则需指定 UDID } ``` 如果不需要在每次测试前自动启动应用程序,可以禁用 `autoLaunch` 参数[^3]: ```python desired_caps['autoLaunch'] = False ``` #### 启动 Appium Session 创建并初始化 WebDriver 实例来建立与 Appium Server 的通信通道。 ```python from appium import webdriver driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) ``` #### 元素定位 针对 iOS 平台上的 UI 组件,可以通过多种方式完成元素定位操作。以下是几种常见的方法[^4]: - **通过 id 属性** ```python element = driver.find_element_by_accessibility_id("element_id") ``` - **通过类名** ```python elements = driver.find_elements_by_class_name("XCUIElementTypeButton") ``` - **通过 XPath 表达式** ```python button = driver.find_element_by_xpath("//XCUIElementTypeButton[@name='Login']") ``` #### 执行交互动作 一旦找到目标控件之后,就可以执行诸如点击、输入文本之类的交互行为。 ```python button.click() text_field.send_keys("Hello, World!") ``` #### 结束会话 当所有测试步骤完成后记得关闭驱动程序实例以释放资源。 ```python driver.quit() ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值