使用 Appium iOS,在 iOS 应用程序中单击“允许访问所有照片”按钮时间歇性失败,错误地单击“不允许”

问题描述 投票:0回答:2

我正在为 iOS 应用程序编写自动化测试,它需要访问“选择照片...”、“允许访问所有照片”和“不允许”。我正在使用 Appium 2.0 和 Webdriver.io,在带有 iOS 16.3 设备的 BrowserStack 上运行。

最初,我对“

name
”按钮使用“
Allow Access to All Photos
”定位器策略,因为它是独一无二的。它工作了几次,然后开始间歇性失败。当我查看执行视频时,实际上是点击了“不允许”按钮。

因此,我更改了定位器策略以使用 iOS Predicate,如下所示:

type == "XCUIElementTypeButton" AND label == "Allow Access to All Photos" AND name == "Allow Access to All Photos"
。但是,它仍然间歇性地失败,并出现以下错误:“错误:元素(”-ios谓词字符串:类型==“XCUIElementTypeButton”AND标签==“允许访问所有照片”AND名称==“允许访问所有照片” ") 10000ms后仍未显示",但实际上是点击了视频中的‘不允许’按钮。

const allowAccessToAllPhotosButton = await this.allowAccessToAllPhotosButton; await allowAccessToAllPhotosButton.waitForDisplayed(); await allowAccessToAllPhotosButton.click(); get allowAccessToAllPhotosButton(): Promise<WebdriverIO.Element> { return getElementByPredicate(IOSPredicate.ALLOW_ACCESS_TO_ALL_PHOTOS_BUTTON); }
    
ios appium webdriver-io appium-ios xcuitest
2个回答
0
投票
您可以尝试一下

autoAcceptAlerts bstack:options 功能,看看它是否自动接受弹出窗口。供参考:https://www.browserstack.com/docs/app-automate/appium/advanced-features/handle-permission-pop-ups


0
投票
我在ios上也经历过同样的事情。

我已经实施了 自动接受警报:true, 权限:{ 照片:“是”}

但还是失败

© www.soinside.com 2019 - 2024. All rights reserved.