ios - XCUITest 集在 macOS 和 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
推荐阅读
- rxjs - 在响应时从 Electron ipcMain 创建可观察的 RxJS
- java - 在 Linux 中使用 RandomAccessFile 将我的数据写入磁盘的位置在哪里?
- .net-core - VS2019 错误说项目在瞄准 netcoreapp2.2 时瞄准'netcoreapp3.1'
- python - 如何在 ubuntu 上将我的 python 版本从 3.7.5 降级到 3.6.5
- php - 在 Laravel 中,无法重置加密的用户密码
- jwt - 带有请求正文的 JWT 签名
- firebase - 将 firebase 连接到我的 TextField/Material Login 页面代码
- google-chrome-extension - Google Chrome Store - Add-In Keeps Getting Rejected
- lua - Lua中不同类型的变量令人困惑
- wordpress - 更改电子邮件时更新用户名 (User_Login) (WooCommerce)