gpt4 book ai didi

javascript - 在目标设备上读取由 UIAutomation 的 UIAApplication.setPreferencesValueForKey() 设置的首选项?

转载 作者:行者123 更新时间:2023-11-30 06:47:29 25 4
gpt4 key购买 nike

在过去的几天里,我一直在使用 Apple 的 UIAutomation 框架,试图将一套验收测试放在一起,以插入我正在开发的应用程序的开发(以 BDD 类型的方式...... .).

我遇到的一件事是如何让 SUT 进入给定状态,以便在我需要设置一些内部状态时开始我的测试。问题是 Apple 的 Javascript 环境不提供任何我可以用来与设备通信的功能,而不是通过它的 UI(我确定这可能是设计使然,但有时这只是不切实际的):而像 iCuke 这样的解决方案或 Frank可以使用 HTTP 与目标应用程序中嵌入的监听服务器进行通信以进行此类通信,但在 Instrument 的 UIAutomation 环境中无法执行此类操作。

查看所提供的 API,我注意到 UIAApplication 类上有一个函数允许我在目标设备上设置首选项值 (see here for more details):我想到我可以在设备上安装一些代码可以使用 KVO 来观察给定首选项键的机会,然后我可以使用它作为与目标应用程序中一些特殊的特定于测试的帮助程序代码通信的手段(当首选项的值更改时使用react)。

我开始尝试看看是否可以完成这项工作,但遇到了困难,因为我无法找到一种方法来访问目标应用程序中由 UIAutomation 设置的首选项。问题是首选项似乎是在主机域级别设置的(即它们是在文件 /Library/Preferences/com.mycompany.MyApp 中设置的)而不是在沙盒 中/Library 特定于我的应用程序的文件夹。

我确定我设置的首选项正在影响设备 - 我可以看到上述文件中的值发生变化,但我找不到使用 NSUserDefaults 访问这些值的方法。

任何人都可以阐明我应该如何在 iOS 设备上访问存储在此级别 (NSLocalDomain...) 的首选项吗?

注意:我意识到这完全是黑客攻击,但不幸的是,Apple 目前提供的环境似乎远远达不到标准,所以我正在尽力填补空白,以代替Apple 的进一步更新。如果您在网上搜索,您会看到 other people有过非常相似的经历,并尝试以相似的方式解决当前的缺陷。

更新:根据this thread,这可能是一个错误.不过我无法确定这一点..

最佳答案

我也有类似的问题帖子here .

我使用自动化测试来运行我的应用程序的方式只是在实际的 iOS 设备(具体为 iPhone)中运行它。但是,我还发现 UIA 脚本中的 deactivate 等功能在真实设备上不起作用。由于某种原因,自动化无法找到应用程序按钮并重新进入应用程序。

希望对您有所帮助!

关于javascript - 在目标设备上读取由 UIAutomation 的 UIAApplication.setPreferencesValueForKey() 设置的首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4977673/

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