XCUITest 在 macOS 和 iOS 上设置 运行

XCUITest set running on both macOS and iOS

我们正在使用 Catalyst 构建应用程序,我需要在 iOS 和 macOS 上进行 运行 UI 测试。但是,在 iOS/iPadOS 中有一些手势(滑动、长按等),这些手势在 macOS 上是不存在的。因此,当我尝试在 macOS 上构建测试时,它失败并出现类似 "Value of type 'XCUIApplication' has no member 'swipeDown'".

有没有人知道如何为 macOS 和 iOS 保留一组测试? 提前致谢。

轻扫不适用于 macOS,因为 macOS 在触摸屏设备上 运行 不可用。

如果您使用 ScreenObject(又名 PageObject)模式分离元素、步骤和测试代码,您仍然可以重复使用您的代码。

在互联网上搜索更多文档。你也可以在这里查看我对这个模式的实现 https://github.com/rzakhar/xctest-assignment

如果您使用@available 或#if API,您的步骤可以是多平台的

#if os(iOS)
    cell.swipeLeft()
    cell.buttons["Delete"].tap()
#else
    cell.buttons["More"].click()
    cell.buttons["Delete"].click()
#endif