gpt4 book ai didi

objective-c - 如何从 XCUITest 检查 UISwitch 的开/关状态?

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:01 25 4
gpt4 key购买 nike

我最近遇到了一种情况,我需要能够从现有的 XCUITests 桶而不是 XCTest 中检查 UISwitch 的当前开/关状态(而不是它是否为用户交互启用),并切换它到一个预先确定的状态。我已将应用程序状态恢复添加到旧的现有应用程序,这现在干扰了预期 UISwitch 处于特定默认状态的运行之间的许多现有测试用例。

与 XCTest 不同,在 XCUITest 中您无法直接访问 UISwitch 状态。

在 Objective-C 中如何为 XCUITest 确定这种状态?

最佳答案

我没有在任何明显的地方找到它,我偶然发现了这篇博文,了解 Swift 语言的类似情况。 Xcode UITests: How to check if a UISwitch is on

根据这些信息,我测试并验证了两种解决问题的方法。

1) 断言状态是开还是关

XCUIElement *mySwitch = app.switches[@"My Switch Storyboard Accessibility Label"];
// cast .value to (NSString *) and test for @"0" if off state
XCTAssertEqualObjects((NSString *)mySwitch.value, @"0", @"Switch should be off by default."); // use @"1" to test for on state

2) 测试开关的状态是打开还是关闭然后切换它的状态

XCUIElement *mySwitch = app.switches[@"My Switch Storyboard Accessibility Label"];
// cast .value to (NSString *) and test for @"0" if off state
if (![(NSString *)mySwitch.value isEqualToString:@"0"])
[mySwitch tap]; // tap if off if it is on

使用方法 (2),我能够在测试用例运行之间强制所有 UISwitch 进入默认状态并避免状态恢复干扰。

关于objective-c - 如何从 XCUITest 检查 UISwitch 的开/关状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44222966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com