Swift XCUITest:如何在执行 UI 测试时单击 UIImagePickerController() 的默认“选择”按钮?
Posted
技术标签:
【中文标题】Swift XCUITest:如何在执行 UI 测试时单击 UIImagePickerController() 的默认“选择”按钮?【英文标题】:Swift XCUITest: How to click on the default "Choose" button of UIImagePickerController() while performing the UI test? 【发布时间】:2021-09-27 12:22:21 【问题描述】:我正在编写 UI 测试用例,我应该从图库中选择一张图片并将其显示在我拥有的 ImageView 上。 我成功编写了点击 ImageView 的 UI 测试,然后选择了图像,但无法点击“选择”按钮。
目前,我正在使用此代码
app.sheets["Profile Picture"].buttons["Open Photos"].tap()
let selectedImage = app.images["Photo, March 31, 2018, 12:44 AM"]
selectedImage.tap()
app.buttons["Choose"].tap() // This is not working!!
我的用户界面如下所示。
【问题讨论】:
您的 debugDescription 显示什么?选择按钮是否存在?我见过这样的事情是不可击中的,而必须点击坐标。 嗨@MikeCollins 是的,存在选择按钮。 XCTAssertTrue(app.buttons["Choose"].exists) - 这很好用。 那么我怀疑以下 Roman 的回答可能会解决您的问题 :) 【参考方案1】:app.buttons["Choose"].tapUnhittable()
会起作用吗?
func tapUnhittable()
XCTContext.runActivity(named: "Tap \(self) by coordinate") _ in
coordinate(withNormalizedOffset: CGVector(dx: 0.0, dy: 0.0)).tap()
添加此扩展或导入https://github.com/devexperts/screenobject
【讨论】:
以上是关于Swift XCUITest:如何在执行 UI 测试时单击 UIImagePickerController() 的默认“选择”按钮?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 swift xcuitest 从 pdf 文件中读取数据
如何使用 Swift XCUITest 添加摇晃手势? [关闭]
如何使用 XCUITest 查询 SwiftUI 表格单元格