iOS UITesting 如何关闭弹出框(iPad 弹出框不提醒样式)

     2023-02-24     151

关键词:

【中文标题】iOS UITesting 如何关闭弹出框(iPad 弹出框不提醒样式)【英文标题】:iOS UITesting How to Dismiss Popover (iPad Popover NOT Alert Style) 【发布时间】:2017-01-27 08:59:48 【问题描述】:

我有一个非常复杂的应用程序,其中包含大量视图和弹出框,用于快速选择条目。

我无法关闭弹出框。我尝试了很多:

在窗口中点击坐标 app.otherElements["PopoverDismissRegion"] 击中后面的元素 弹出框(根本无法点击)

当我在 XCode 中记录它时,我得到: app.otherElements["PopoverDismissRegion"]

这对我来说毫无意义。

希望有人能提供帮助。

谢谢

信息iOS 10.2,Xcode 8.2.1, iPad Air 2(设备和模拟器,结果相同)

【问题讨论】:

你的问题不清楚,你到底想做什么? XCode 7 UI Testing: Dismissal of system-generated UIAlertController does not work的可能重复 @vaibhav:什么不清楚?我有一个 iPad 风格的弹出框。我试图忽略这一点。 @Elist 弹出框没有按钮,所以不,它不是重复的。 【参考方案1】:

编辑

找到了更好的解决方案here:

XCUIApplication().otherElements["PopoverDismissRegion"].tap()

原解决方案:

试试这个:

XCUIApplication().windows.element(boundBy: 0).tap()

点击窗口并关闭当前活动的弹出框。

【讨论】:

我以前试过这个,看看我的第二个子弹。这也被建议了很多,但它对我没有用。它可能适用于警报控制器,但不适用于显示为导航栏项目弹出框的表格视图。【参考方案2】:

只需执行以下操作,iPhone 模拟器上的一切都对我有用:

app.swipeDown(velocity: .fast)

当我想在 iPad 模拟器上运行相同的测试时,我开始遇到问题。正在应用该手势,但它还不足以关闭视图。我尝试了不同的方法,例如:

XCUIApplication().windows.element(boundBy: 0).tap()

app.otherElements["PopoverDismissRegion"].tap()

但没有任何工作。该视图仍未被关闭。

对其进行更多测试后,我发现如果 iPad 模拟器处于横向状态,发送 swipeDown 手势实际上会关闭视图。所以...我能够像这样解决问题:

// If iPad, put the simulator on landscape mode
if UIDevice.current.userInterfaceIdiom == .pad  
    XCUIDevice.shared.orientation = .landscapeLeft


// Perform the swipe
app.swipeDown(velocity: .fast)

// Restore device portrait mode
if UIDevice.current.userInterfaceIdiom == .pad  
    XCUIDevice.shared.orientation = .portrait

【讨论】:

如何关闭 iPhone 5 iOS 6 中的弹出框?

】如何关闭iPhone5iOS6中的弹出框?【英文标题】:HowtodismissapopoveriniPhone5iOS6?【发布时间】:2013-07-1219:34:36【问题描述】:当我的iPhone5应用启动时,我没有显示视图控制器,原因如下:-(void)viewDidAppear:(BOOL)animated用户要做的第一件... 查看详情

在 iOS8 中检测弹出框关闭

...用户可以通过触摸弹出框右侧的某个位置来关闭弹出框。如何在iOS8中检测到弹出框已关闭?在iOS7中,我可以只使 查看详情

如何以编程方式关闭/禁用 iOS 11 中引入的屏幕截图弹出框?

】如何以编程方式关闭/禁用iOS11中引入的屏幕截图弹出框?【英文标题】:HowcanIprogrammaticallydismiss/disablethescreenshotpopoverthatwasintroducediniOS11?【发布时间】:2017-06-1112:39:17【问题描述】:在我的应用程序中,我具有检测用户何时截... 查看详情

XCUITest 如何关闭日期选择器弹出框

】XCUITest如何关闭日期选择器弹出框【英文标题】:XCUITestHowtodismissdatepickerpopover【发布时间】:2021-12-1110:08:14【问题描述】:在iOS15中,我的应用中有一个日期选择器,它使用.compact样式,因此它将日期和时间选择UI显示为弹出框... 查看详情

iOS弹出框如何去除阴影

】iOS弹出框如何去除阴影【英文标题】:iOSpopoverhowtoremovetheshade【发布时间】:2018-05-1916:54:36【问题描述】:每当我们显示弹出框时,相邻区域都会显示不同的灰色,并且活动标签栏图标颜色会从蓝色变为灰色,直到弹出框出现... 查看详情

弹出框关闭后如何在 transitionCoordinator 中安排新的演示文稿

】弹出框关闭后如何在transitionCoordinator中安排新的演示文稿【英文标题】:HowcanIscheduleanewpresentationintransitionCoordinatorafterpopoverdismissal【发布时间】:2014-11-0521:00:59【问题描述】:我正在更新我的应用程序以支持iOS8。在某些地方... 查看详情

单击外部弹出框时如何防止 UIPopoverPresentationController 被关闭?

】单击外部弹出框时如何防止UIPopoverPresentationController被关闭?【英文标题】:HowtopreventUIPopoverPresentationControllerfrombeingdismissedwhenclickingoutsidepopover?【发布时间】:2015-07-0817:07:58【问题描述】:在我的通用iOS8应用程序中,我使用UIP... 查看详情

iOS 弹出框在关闭后不会消失

】iOS弹出框在关闭后不会消失【英文标题】:iOSPopoverDoesNotGoAwayAfterDismiss【发布时间】:2018-12-3105:48:13【问题描述】:我们有一个视图控制器在单击时显示来自UIBarButtonItem的弹出窗口。弹出框显示得很好,但是当我们单击弹出框... 查看详情

如何通过单击栏按钮关闭弹出框

】如何通过单击栏按钮关闭弹出框【英文标题】:howtodismissthepopoverwiththebarbuttonclick【发布时间】:2013-02-2613:18:03【问题描述】:嘿,我有一个我必须在其中显示弹出框的地方。我可以轻松做到这一点。当显示其他类的弹出窗口... 查看详情

如何检测弹出框关闭

】如何检测弹出框关闭【英文标题】:howtodetectapopoverdismiss【发布时间】:2013-07-1317:22:34【问题描述】:当一个弹出框打开时,如果你点击它就会关闭它。有可能阻止这种情况吗?基本上我有以下问题。当弹出窗口关闭时,我需... 查看详情

关闭弹出框后如何调用函数?

】关闭弹出框后如何调用函数?【英文标题】:Howtocallafunctionafterclosingapopover?【发布时间】:2020-06-0102:47:01【问题描述】:希望有人能给初学者一些指导,我的问题是这样的:我有一个弹出窗口我用mainViewController的segue打开那个... 查看详情

iOS:关闭使用界面生成器生成的弹出框,并在弹出框内使用按钮

】iOS:关闭使用界面生成器生成的弹出框,并在弹出框内使用按钮【英文标题】:iOS:dismisspopOvergeneratedwithInterfaceBuilderwithbuttonwithinthepopOver【发布时间】:2013-05-2912:29:12【问题描述】:我有一个通向popOver的按钮,所有这些都是在I... 查看详情

iOS:当视图位于弹出框后面时,我如何注意到?

】iOS:当视图位于弹出框后面时,我如何注意到?【英文标题】:iOS:HowdoInoticewhenaviewisbehindapopover?【发布时间】:2016-10-2713:11:37【问题描述】:在我的应用程序中,我显示了一个弹出框,这会导致弹出框后面的所有着色UIImageViews... 查看详情

如何关闭 AirPrint Popover?

】如何关闭AirPrintPopover?【英文标题】:HowdoIdismisstheAirPrintPopover?【发布时间】:2011-06-2203:08:11【问题描述】:我有一个单例弹出框,所以我一次只显示一个弹出框。当我执行共享弹出框并选择AirPrint时,共享弹出框正确消失,... 查看详情

如何以编程方式关闭 UITextView 中的自动更正弹出框?

】如何以编程方式关闭UITextView中的自动更正弹出框?【英文标题】:HowcanIprogrammaticallydismisstheautocorrectpopoverinaUITextView?【发布时间】:2012-08-3114:50:02【问题描述】:我正在使用insertText:自己做一些自定义的自动完成工作,但如果... 查看详情

iOS:如何消除弹出框[重复]

】iOS:如何消除弹出框[重复]【英文标题】:iOS:howtodismisspopovers[duplicate]【发布时间】:2011-12-2813:13:04【问题描述】:可能重复:HowtoDismissaStoryboardPopover我有一个iPad故事板。一个视图中的条形按钮项被Control拖动到另一个视图-并... 查看详情

在表格视图中选择项目后无法关闭弹出框

...:我正在使用XCode4.3.2版创建iPad应用程序。我无法弄清楚如何关闭在情节提要中创建的弹出框。在我的主屏幕上,我有一个按钮。在情节提要上,我从那个按钮到我的弹出框定义了一个segue。我的弹出框是一个表格视图控制器。 查看详情

如何在 ipad 中创建 Popover? [关闭]

】如何在ipad中创建Popover?[关闭]【英文标题】:HowtocreatePopoverinipad?[closed]【发布时间】:2011-08-0410:03:37【问题描述】:我想在我的iPad应用程序中开发一个弹出框。UIButton触发器将调用弹出框,并且该弹出框将包含UITableViewControlle... 查看详情