如何解决如何在XCUI测试中检查菜单项的状态
这是我的用例...
我的应用程序具有许多菜单项,这些菜单项的状态是根据布尔值(也与用户默认值相关联)在开和关之间切换的。也就是说,当用户单击菜单项时,它不仅会切换状态,还将状态保存为用户默认设置。
这一切都很好,但是我试图将测试添加到我的XCUIApplication测试中,以检查状态是否确实从一个应用程序运行保存到另一个应用程序。但是,我无法确定如何实际测试菜单项的状态。
我找到了菜单项并确认它存在,具有正确的标题并被启用,如下所示:
let item = app.menuItems["viewHighlightChanges"]
XCTAssertTrue(item.exists)
XCTAssertEqual(item.title,"Highlight Changes")
XCTAssertTrue(item.isEnabled)
然后我可以通过单击来切换项目:
item.click()
我可以直观地确认这一切正常。
但是我不知道如何确定菜单项是选中(状态为开)还是未选中(状态为关)。我以为它可以用item.value
编码,但是在单击之前和之后都返回nil
。我还认为它可能位于item.isSelected
中,但是所选状态与状态不同,在这种情况下,单击之前和之后总是false
。
我的目标是在单击后记录状态,然后退出并重新启动应用程序,并再次测试状态以查看其是否正确保留了自身。我知道它能正常工作是因为我可以在测试运行时直观地检查状态,但是自动化测试的全部目的是让计算机告诉我它是否可以工作。
有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。