让 XCUIElement 为 Automate UITest 执行 3D 触摸?

2023-11-25

我正在创建自动化 UI 测试测试用例,我想测试用户与元素进行 3D Touch 交互时的场景,然后向他们显示 Peek 和 Pop 视图。

我似乎找不到任何可能的方法来在元素上模拟 3D Touch 并继续。

有人对此有任何想法吗?或者 3D Touch 仍然无法测试?

Thanks


我能够在运行 iOS 10.3 的 iPhone 7 上的应用程序图标上执行强制按压/3D Touch。在 10.2 上这是不可能的。

Objective-C

首先您必须声明以下内容或导入这个标题

typedef void (^CDUnknownBlockType)(void);

@interface XCEventGenerator : NSObject

+ (id)sharedGenerator;

// iOS 10.3 specific
- (double)forcePressAtPoint:(struct CGPoint)arg1 orientation:(long long)arg2 handler:(CDUnknownBlockType)arg3;

@end

然后执行强力按压

XCUIElement *element = ...; // Get your element
XCUICoordinate *coord = [mapsIcon coordinateWithNormalizedOffset:CGVectorMake(0.5, 0.5)];

[[XCEventGenerator sharedGenerator] forcePressAtPoint:coord.screenPoint orientation:0 handler:^{}]; // handler cannot be nil

在这里,我对地图图标执行了强制按压。

斯威夫特(未测试)

对于 Swift,你必须声明/导入与上面相同的接口/标头,然后像这样执行强制按下

let el = ...; // Get your element
let coord = el.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.5) )
let eventGenerator: XCEventGenerator = XCEventGenerator.sharedGenerator() as! XCEventGenerator

eventGenerator.forcePress(at: coord.screenPoint, orientation: 0) { }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让 XCUIElement 为 Automate UITest 执行 3D 触摸? 的相关文章

随机推荐

  • Mongoose Schema 尚未注册模型

    我正在使用 MEAN 堆栈 当我尝试使用以下命令启动服务器时npm start 我得到一个例外 schema hasn t been registered for model Post Use mongoose model name sch
  • ASP.NET MVC:对操作强制执行 AJAX 请求

    我正在寻找一种方法来强制只能通过 AJAX 请求访问控制器的操作 在调用操作方法之前执行此操作的最佳方法是什么 我想从我的操作方法中重构以下内容 if Request IsAjaxRequest Do something else retu
  • 应用内购买沙盒测试 - 老沙盒用户不断提示

    我正在开发一款带有应用内购买功能的 iPhone 游戏 我试图通过调用restoreCompletedTransactions 来检索沙盒用户之前的购买 但没有触发任何回调 我在网上看到其他一些遇到类似问题的人删除了沙箱用户并尝试创建一个新
  • 无法从 Visual Studio For Mac 在 iPhone 模拟器中运行 Xamarin 应用程序

    简而言之 我无法在 iPhone 模拟器中运行我的应用程序 没有 播放按钮 三角形 只有一个 调试器 按钮 锤子 As you can see above I have Generic Simulator When I click on i
  • 如果 URL 和图像都存在,Facebook SLComposeViewController URL 将显示在正文中

    Using SLComposeViewController 如果图像和 URL 都存在 我在发布到 Facebook 时会注意到奇怪的行为 具体来说 如果您同时拥有图像和 URL 则该 URL 将显示在 Facebook 帖子的正文中SLC
  • 如何通过 Julia HTTP 访问 API

    使用 Julia 访问 Betfair Exchange API 我已经使用 Julia 大约 2 个月了 最近一直在尝试使用 Julia 访问 Betfair API 有关此服务的说明请参见此处 https docs developer
  • 在 C# 类中重载 vb.net & 运算符

    我这里有一个非常独特的问题 我们的业务应用程序是使用 c 和 vb net 构建的 我们一直在努力接近一个标准 并为我们的一些核心 已经复制的对象削减脂肪 我们已经非常接近了 但是当尝试将重复对象合并到 c 中时 我们的 vb net 代码
  • noexcept 依赖于成员函数的 noexcept

    考虑 class test private int n int impl const noexcept return n public test delete test int n noexcept n n int get const no
  • Android Paging 3 库:如何使用新参数更改列表?

    我有一个显示搜索项目列表的搜索片段 如果用户输入某些内容 我会将该字符串作为新的查询参数传递给 url 并使用 paging 3 库获取新列表 第一个解决方案是 viewModel lateinit var postListUrl Stri
  • Apache Http 客户端打印“[read] I/O error: Read timed out”

    我正在使用 apache http 客户端 v4 5 并将其用作 REST 客户端 在某些情况下 当 httpclient 框架读取收到的内容并将其显示为最后一条消息时 我会识别出来自 httpclient 框架的错误 read I O e
  • Boost.Asio 的可扩展性

    我很好奇其他人在可扩展性方面将 Boost Asio 推向了多远 我正在编写一个应用程序 可能使用近 1000 个套接字对象 少量接受器对象和数千个计时器对象 我已经配置它 以便有一个线程池调用io service run并使用strand
  • jython-standalone-2.7.0.jar 和 jython-2.7.0.jar 有什么区别

    我写了一个Java例子 代码是 import org python core PyObject import org python util PythonInterpreter import javax script ScriptEngin
  • PHP 无法在 CentOS 7 上连接到 PostgreSQL

    我在 OSX 上的 VirtualBox 中运行 CentOS 7 Apache PHP 5 4 和 PostgreSQL 9 2 都在运行 但是 当我的 简单 php 脚本尝试连接到 PostgreSQL 时 它不起作用 警告 pg co
  • Symfony 2:如何覆盖另一个包的存储库

    我有 2 个捆绑包 我想覆盖其中一个捆绑包的存储库 我有一个源包 SourceBundle 我有我的覆盖包 OverrideBundle 首先 在 OurVendorOverrideBundle php 中 我添加了 public func
  • 当 iframe 在 jQuery 中加载完成时,如何触发事件?

    我必须在页面中加载 PDF 理想情况下 我希望有一个正在加载的动画 gif 一旦 PDF 加载完毕 它就会被替换 你有没有尝试过 iFrameId on load function do something once the iframe
  • 将自定义 JSON 序列化器与 firebase 结合使用

    使用DataSnapshot getValue 时是否可以获取JsonObjects或Json格式的字符串 也许我的搜索不够彻底 但我找不到使用自定义序列化器的方法 Update 我还没有时间查看最新 SDK 的文档 但似乎JSON 字段有
  • CLLocationManager.location 为零

    这是我的 locationManager 初始化方法 func initLocationManager seenError false locationFixAchieved false locationManager CLLocation
  • 在 TensorFlow 中重新训练冻结的 *.pb 模型

    如何导入冻结的 protobuf 以使其能够重新训练 我在网上找到的所有方法都需要检查点 有没有办法读取 protobuf 以便将内核和偏差常量转换为变量 Edit 1 这类似于以下问题 如何在图 pb 中重新训练模型 我查看了 DeepS
  • 将自定义属性添加到 Firebase Auth

    我浏览了 Firebase 的文档 似乎找不到向 FIRAuth 添加自定义属性的方法 我正在从 Parse Server 迁移一个应用程序 我知道我可以设置用户的用户名 电子邮件和 objectId 不 我看到我可以选择电子邮件 disp
  • 让 XCUIElement 为 Automate UITest 执行 3D 触摸?

    我正在创建自动化 UI 测试测试用例 我想测试用户与元素进行 3D Touch 交互时的场景 然后向他们显示 Peek 和 Pop 视图 我似乎找不到任何可能的方法来在元素上模拟 3D Touch 并继续 有人对此有任何想法吗 或者 3D