技术分享 | app自动化测试(Android)–元素定位方式与隐式等待

本文介绍了Appium中元素定位的多种方式,如ID、accessibility_id和XPath,并强调了隐式等待的作用。通过日志分析,展示了Appium在元素查找失败后的智能等待机制。

元素定位是 UI 自动化测试中最关键的一步,假如没有定位到元素,也就无法完成对页面的操作。那么在页面中如何定位到想要的元素,本小节讨论 Appium 元素定位方式。

Appium的元素定位方式

定位页面的元素有很多方式,比如可以通过 ID、accessibility_id、XPath 等方式进行元素定位,还可以使用 Android、iOS 工作引擎里面提供的定位方式。

912×795 67.5 KB

隐式等待

设置隐式等待后可以在规定的时间之内去动态的等待元素出现。

假如设置了隐式等待时长为 10 秒,会在 10 秒之内不停的查找元素,如果第 2 秒就找到了元素,就继续执行后面的测试代码,如果超出了设置时间则抛出异常。

一旦设置了隐式等待,则它会存在整个 WebDriver 对象实例的生命周期中,比如:每次调用 find_element 或者 find_elements 方法的时候,会自动触发隐式等待。

隐式等待比强制等待更加智能,后者只能选择一个固定的时间等待,前者可以在一个时间范围内智能的等待。代码示范:

  • Python 版本
...
self.driver = webdriver.Remote(server, desired_caps)
self.driver.implicitly_wait(15)
...

  • Java 版本
...
driver = new AndroidDriver(remoteUrl, desiredCapabilities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
...

Appium 的 log 中能发现以下的情况,注意下面的 xx 和 xxy 是对 ID 的简写:

[W3C] Matched W3C error code 'no such element' to NoSuchElementError
[BaseDriver] Waited for 1495 ms so far
[WD Proxy] Matched '/element' to command name 'findElement'
……
[W3C] Matched W3C error code 'no such element' to NoSuchElementError
[BaseDriver] Waited for 2707 ms so far
[WD Proxy] Matched '/element' to command name 'findElement'
……
[HTTP] <-- POST /wd/hub/session/xx/element 200 6653 ms - 137
[HTTP]
[HTTP] --> POST /wd/hub/session/xx/element/xxy/click
[HTTP] {"id":"xxy"}

从日志上可以看出来,Appium 在进行元素查找的时候,失败后不会直接抛出异常停止脚本执行,而是每过一段时间去找一次元素。上面的例子所示,在 6.7 秒左右等到了元素的返回,此时结束等待,去执行点击操作。

 

Python声学特提取是指使用Python编程语言来提取音频信号中的种声学特征声学特征是对音频信号进行数分析处理后得到的一些数值指标,可以用于音频信号的分类、识别、分析等任务。 在Python中,使用一些库工具来进行声学特征提取,其中最常用的是LibrosapyAudioAnalysis。 1. Librosa是一个用于音频音乐信号处理的Python库,它提供了丰富的函数工具来提取各种声学特征。例如,可以使用Librosa提取音频信号的时域特征(如时长、能量、过零率等)、频域特征(如梅尔频谱系数、色度谱等)以及其他高级特征(音调、节奏等)。Librosa还提供了可视化工具,可以将提取的特征可视化展示出来。 2. pyAudioAnalysis是另一个用于音信号处理分析的Python库,它提供了一系列函数工具来进行声学特征提取。pyAudioAnalysis支持多种特征提取方法,包括时域特征、频域特征、光谱特征、时频特征等。此外,pyAudioAnalysis还提供了一些器学习算法,可以用于音频信号的分类识别。 使用这些库进行声学特征提取的步骤通常包括以下几个步骤: 1. 读取音频文件:使用Python库中的函数读取音频文件,将其转换为音频信号。 2. 预处理:对音频信号进行预处理,如去除噪声、平滑等。 3. 特征提取:使用相应的函数从音频信号中提取所需的声学特征。 4. 特征表示:将提取的特征表示为量或矩阵形式,以便后续处理分析。 5. 可视化:可选步骤,将提取的特征可视化展示出来,以便更直观地理解分析。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值